diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-08-25 10:45:55 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-08-25 10:45:55 +0100 |
commit | 3cf7c3ef441822c889356fd1812ebf2944a59851 (patch) | |
tree | c513fe68548b40365c1c2ebfe35c58ad431cdd77 /dev-db | |
parent | 05b8b0e0af1d72e51a3ee61522941bf7605cd01c (diff) |
gentoo resync : 25.08.2020
Diffstat (limited to 'dev-db')
169 files changed, 13905 insertions, 12140 deletions
diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz Binary files differindex 306f7f21a102..509bdfd1b27f 100644 --- a/dev-db/Manifest.gz +++ b/dev-db/Manifest.gz diff --git a/dev-db/SchemaSync/Manifest b/dev-db/SchemaSync/Manifest deleted file mode 100644 index d817b6637cc7..000000000000 --- a/dev-db/SchemaSync/Manifest +++ /dev/null @@ -1,7 +0,0 @@ -DIST SchemaSync-0.9.2.tar.gz 12828 BLAKE2B 050a027376282816bef34d6a7e146e590c5ebc279649f03d65129d33b9941c08aeb7bb58a302b9a77a62c8b7820b8dcbd6bc783c2405a25a4baca863baa53d3e SHA512 4f2522c05e3cf0957fe0d51cc48f3a45fd8eaeb341801bfdeb32bb7e959e8a250a84a162b80853f2010a99a932ef7d1b556579f7c77971f0e9a3e0fa87531599 -DIST SchemaSync-0.9.4.tar.gz 13824 BLAKE2B d98cd5cc0d6275ac5e4bb0272f4ab2879f4639b0e2986c175297ab3cc60930f63c3288cc2c3194784078958749c8e95a9e9ecdf660e071a61caac37b9659f2e3 SHA512 0087f5f634d2374def5e1dd2dd8d6d57d3fca9322bba23aee461487053233dba30ce889a87747ce2c11bd9a7e08418d619e9fd8b910ea303987b57bac7609248 -DIST SchemaSync-0.9.5.tar.gz 13973 BLAKE2B e76dd4e2e69875dedafed44214b6e30db6e71f4ee62a4bcd1cf1592c6727ae9d6f70190aa288559594d278b3962f8cb91eeb3d4b4b9014737be8b6b37acc9e84 SHA512 8ee37c099de8e3627d3d708c5642e4e0b7304306002bfa82d24cd2a733539bd0d5144d6afd18dd06e229a87b05ee569fe2febc727785a085bb32169581805934 -EBUILD SchemaSync-0.9.2-r1.ebuild 568 BLAKE2B a88730eb8d9f71df54ab1f617f1166f638ed530dbe168d7439409e614c968054939e3f5dbf7b212977250baf384d05f23cdba82023d2f64cd24360bfee03a9ce SHA512 6c7501e38ab17d0bfe24f78338e525415aac6f81bce0423e6db1dc2787ef43f82f8788f61cdd6de6d9916348332ca9d9fc4743b1fa15f16903ef6cb63acd84c8 -EBUILD SchemaSync-0.9.4.ebuild 550 BLAKE2B 550326591dcea19d82af7373fc5a1bd13356054bf679b1d01ee57ca05fd9b04989f0b24d07aacb879c5f475f2b8eedd0e3520fd5d1b14345caca7a16d5f24bb4 SHA512 620a7eecfdb121ef9d9076e7978921d07766e2fe3b54b02d2947fa6803be81c1dffcbcf73d9a8a66270320d538ec4194aead79af1d02f1c74d61cf1eb06c490b -EBUILD SchemaSync-0.9.5.ebuild 550 BLAKE2B aeb421fbd4f55f0c0afd1ad5bb3c600d455413fcb56d1a953874653689c9c3b9010360b7f13bf299013a141917b69521c91b836c9fc23b1efa04ec7001786796 SHA512 252e8d0e8b3cac03f0a3f180f3adc3633dd77c5e4562f7f7ec4f8a84236e2ed2492c573e0849f4cf10c0e0eaaf1df30c18bb999984fd3cb4280736a10f3df49a -MISC metadata.xml 384 BLAKE2B 124298e3a428e69e9fd9b204453ddc37d5e283bc9c5fdb2565c7c876b2b1f95fb9bf0c3485089b971f0f486d74b4d2674647098ed0bc6803266067964bd9cc75 SHA512 8b370f82a807086da710e4af1e39a5e6e9b2cc06e89171c91d2516ad96fd5e5f8f96ff745943123368bf9773a0408f6563a5eee38ec36fab38e872ad08120960 diff --git a/dev-db/SchemaSync/SchemaSync-0.9.2-r1.ebuild b/dev-db/SchemaSync/SchemaSync-0.9.2-r1.ebuild deleted file mode 100644 index cd2e1b2955e8..000000000000 --- a/dev-db/SchemaSync/SchemaSync-0.9.2-r1.ebuild +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) - -inherit distutils-r1 - -DESCRIPTION="MySQL Schema Versioning and Migration Utility" -HOMEPAGE="https://github.com/mmatuson/SchemaSync" -# old download location is down -SRC_URI="mirror://gentoo/${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -RDEPEND=" - dev-python/setuptools[${PYTHON_USEDEP}] - dev-python/mysql-python[${PYTHON_USEDEP}] - dev-python/SchemaObject[${PYTHON_USEDEP}]" -DEPEND="${RDEPEND}" diff --git a/dev-db/SchemaSync/SchemaSync-0.9.4.ebuild b/dev-db/SchemaSync/SchemaSync-0.9.4.ebuild deleted file mode 100644 index f11cb9686919..000000000000 --- a/dev-db/SchemaSync/SchemaSync-0.9.4.ebuild +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) - -inherit distutils-r1 - -DESCRIPTION="MySQL Schema Versioning and Migration Utility" -HOMEPAGE="https://github.com/mmatuson/SchemaSync" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -RDEPEND=" - dev-python/setuptools[${PYTHON_USEDEP}] - dev-python/mysql-python[${PYTHON_USEDEP}] - dev-python/SchemaObject[${PYTHON_USEDEP}]" -DEPEND="${RDEPEND}" diff --git a/dev-db/SchemaSync/SchemaSync-0.9.5.ebuild b/dev-db/SchemaSync/SchemaSync-0.9.5.ebuild deleted file mode 100644 index 77f6e927f299..000000000000 --- a/dev-db/SchemaSync/SchemaSync-0.9.5.ebuild +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) - -inherit distutils-r1 - -DESCRIPTION="MySQL Schema Versioning and Migration Utility" -HOMEPAGE="https://github.com/mmatuson/SchemaSync" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="" - -RDEPEND=" - dev-python/setuptools[${PYTHON_USEDEP}] - dev-python/mysql-python[${PYTHON_USEDEP}] - dev-python/SchemaObject[${PYTHON_USEDEP}]" -DEPEND="${RDEPEND}" diff --git a/dev-db/SchemaSync/metadata.xml b/dev-db/SchemaSync/metadata.xml deleted file mode 100644 index 5cddb3363d44..000000000000 --- a/dev-db/SchemaSync/metadata.xml +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>blueness@gentoo.org</email> - <name>Anthony G. Basile</name> - </maintainer> - <upstream> - <remote-id type="github">mmatuson/SchemaSync</remote-id> - <remote-id type="pypi">SchemaSync</remote-id> - </upstream> -</pkgmetadata> diff --git a/dev-db/etcd/Manifest b/dev-db/etcd/Manifest index c04004fa3d31..91eb100e66a3 100644 --- a/dev-db/etcd/Manifest +++ b/dev-db/etcd/Manifest @@ -4,20 +4,12 @@ AUX etcd.initd 821 BLAKE2B 5eba7f0e8d134ff45caba8c1eb3aaf6afb412082b9a5df95925f3 AUX etcd.logrotated 104 BLAKE2B 3126c99db171af177d6d6368e7e53f3e5e07b9ae2926ff12cb0ff7fb877527df33a91dedcaa4bbbffa190b4f9c2f53868aeca093b93e9cad50718a23eb5fdd46 SHA512 64d3181a936f8bab635a17f90679041c2d70a712307928feae03a517ad02252fc37e25738979bc1ccd0657ef70439e65cb0306759bec3939e940ec382a02d94f AUX etcd.service 304 BLAKE2B ecffe9889f9530bf7172638a0273736abba2b3ea5c5540b5452d26fbaec17ab9c138db86b543c3c88fd3d16ce79487eb2c31ad7bbfb0c5b9cd11eede9b99bd2d SHA512 0074f77a17afe2bb4145f12a6eb312caa3e08cfe8bf35856b79d091ad8786c4223bd91c0a865e789ee9ba180f2672b31721742bb32efd0cd383bc747eb926961 AUX etcd.tmpfiles.d.conf 76 BLAKE2B e5aa0ca42dd579e9c2ac8c6bdfce83f87ec79ce64d10e20b61ab3df45918747f588b9246085fec925bb39b772e061628aadd030a23a59b65a2fc2243eca1a7f9 SHA512 7324b74dcfe050dd7fbc318ca3ce9b5d58bce8fa2ce2d2d771664ef981c834375f7cbfebcb630cd61dab2a3f6bf6c3733ad04f752beadf7bb6fedcc80ff682ce -DIST etcd-3.3.17.tar.gz 6507229 BLAKE2B e49b66a3a2bb5be254cb3400341d4f1454608a9923295826ce780fb5750b6182ec7ec35996ef538aa38863cacd0c0e3efd072ce5c3dae1e65509ce962964994d SHA512 73f8ddab1c27c77cedeb602201d01b433363c9550ec26b4729f2c5c114aefa4b90d444fd5a7696272c2cccdc8329e641f073ef9f39c7ea4e62837341dfc28641 -DIST etcd-3.3.18.tar.gz 6508732 BLAKE2B cce52ac9fa005388bafacf3d0bf049f3930de12d0cb50cc863655fdbc35cae2d647f64eddb699cb1ef7b3736687a9978cd120d181b274b663a1ac2b7eb549729 SHA512 1146baa8c424a6ddb4a2a10494e2f82ba0c22def1fcd3e041b871c060ca915267f1a2e1c455b017eded1908300ddbd8a3849ee3c5dda93489d9eeaaa90baf254 -DIST etcd-3.3.19.tar.gz 6509566 BLAKE2B 0037858daa134e63c6629defe099cc772b758e220a093e719b2d41c2e519a2c2d923d26e8635fb1f7cabe2ec0a0250236293c838d9c34d1745673211dc4f526c SHA512 9f21692466bcb240bac042f4e7ee6f4575c05312542827c7349257b87c9d4a1a625b200fcbb0852c86c192624cd02e9a8d80caa194d25d4b63aa5e33b100eac1 -DIST etcd-3.3.20.tar.gz 6509856 BLAKE2B 49e0ae7a56ce9e84664cd4395a91518c01e42346edc83bd61a84883da013b6cfda15c17cdb6ce5c44760574ee2101e7d39c32aaf458ceb1b505aea5ae787f1b6 SHA512 66aee553b053dea732ab3716676a05f5357a38ff0cb3ef8b6be4b80f4f54f0720578db9438b31e88bdb61aa662443d6b7993fa37af639208618bff76285ea7f9 -DIST etcd-3.4.3.tar.gz 8941589 BLAKE2B 127e4a8dd9495686ffc43099c3002e0e3c00ab661bce917ac298f69351e1226dff0efcaf9277c1e46449abafef965af8f612a127e1e30c381545073232a2ff50 SHA512 0bc1e857b707be1d348f5ab58a330d259dd30338c28580751142f643b2a081d1fe42a8859fa9463a734ff27f51929dc89f933f044b89d6e549a348add034d752 -DIST etcd-3.4.4.tar.gz 8940682 BLAKE2B c165fbb61d87d4a42261742bf302e6a04daa67e6ebea6f12314b77a9a12afd0e6b02e642b827e8b14fa77eedd207fe32c047f19f0487f54aba1e0db6774673f2 SHA512 81de69c422c58c73df8812127f29e49e1d81dacf47e26fe4b8a332b6b19f0242086c5e3b52fdbbbf08d91abe6213400887dc72e837effeec73a182a8caca9d20 -DIST etcd-3.4.5.tar.gz 8943585 BLAKE2B 6df1538ec1e65c6f1a7fc41c0ceb29ca126efe797c8e6e029dfd45cdfeadacd322a46e18f627cac6defd78d8a17ddf09b5a0918fb454bfbafd450084de972c5a SHA512 cd8845433e208cbe1cf0e0a001ee503d42b73f44ac0e0578d9ee8692f95262929c0cec3a2622f9cd3ea8d393a136de47a7e0d0875b4e0cd9d8eeddd45ca3bea5 -DIST etcd-3.4.7.tar.gz 8943976 BLAKE2B 7dd81324e78ef53577055c54e851680b2421524aea1148449cd1003391029e110c90bd607730955ac4081c49e846da08159553f8db7d768e15dda51b8bf657ca SHA512 18851be0cbe8dabc6be8ba0c61d783f21b1fb9403256166016767926c731f1d95a1adebad9f36d43c57a424a7ac88c49b1d1ce01c2aa065e5bbbff847eb9234a -EBUILD etcd-3.3.17.ebuild 2003 BLAKE2B b17a2eb321060ae13b0fcd6ccc347b9449a3e113489431e95a96e3cec570c3f65adac65b446357eac95f0faaae0a2f33548fc51cd4bb05a37725a2529f076338 SHA512 41bdae1f83128670a89ab695a03a550d6ad29b29b977cf0e992c9c2a04d4110be651e7a15b615d34e83d1646a3573c8521b09a168d65069fb682846febb1f826 -EBUILD etcd-3.3.18.ebuild 2004 BLAKE2B ebbf4469e049005dae059bd5207a834b99ae01aef51a395df2e39f2b6e56018072e4c5eecb52f8ffe9199d95e0c82ba629b17e10f490215711a6700ed4d839c5 SHA512 cffde362cc2300daf694d5b32c4b83ab4c6f57d47199b9a2ce62719606e1a384e6df977ac27863ffe9b271064be6e1aad67b7b62f4284dd2f73c92a7756a1e67 -EBUILD etcd-3.3.19.ebuild 2004 BLAKE2B 665bd307525157ab80a1791766c37aee07036f4e2f19c676b1d80b168b5390218b4f903988262a6d8afe45151dc6da01e7013729da78493f713ae2d1ebeb076d SHA512 62bd2f93cb5cadb3c3bbab62af92be758fa2235565dd42f0b33876e9fca375ad79807593e004ae40d2b38d748f0e47d3f51f117cbd2dcff577332f5bee35ceed -EBUILD etcd-3.3.20.ebuild 1999 BLAKE2B 1c5c7212be7ccb34b0c13b2fa1c1ad6dea1390d83fe8170b1a8b33c1d1ecb1855f9257c5bac3f8b35d157618dc92a9bacf83401c1d4e14a99857daceb965ef47 SHA512 b9bdfe5a7142459426c0b0748ebd013a479e25fb56132c82d1fef82d6c43e25a8c492df6fc12cbc31df555ad54d289606efaf622d1b2f978b1aab7d7fe985d7f -EBUILD etcd-3.4.3.ebuild 2293 BLAKE2B 3e48ca6f1af6a37ee3bd15e3d2513638098def4fdc3bb409c18fe05eeb13ff20e3e32f0644d62e9bcc39c8ef06b4de73789ecda3dfcdceedbd5c349f7aec2378 SHA512 5efb197de44968897880100693bf16c213ffb59cdd51dd8abcc36eb57fdff31bed7d3850438a8511e23c28f370d8e3e1b49b810f3c58bab1cd150a2e22c11631 -EBUILD etcd-3.4.4.ebuild 1886 BLAKE2B 8fd02659a857dc9d4f543e8224661646ba7f8afff19af3f0e789226c1b2e7b71faf27c8a99c4f9f12c7744e4a3fd78f6e5bd85909d915385a1ac96a2e3060395 SHA512 130e0153f58d02b762ad27f35dfa0447684f4d55559bf49a3e3d31055192f33514a5925afa2e5a30b87214e178375763e6aff62fe67d6bc48b61ac6b4d80dd06 -EBUILD etcd-3.4.5.ebuild 1886 BLAKE2B 5a4e4377940c0eee13a57a4fc2e431b420161ab31bf539b489f03c97d7608e45dd00cf04a486d4abb7d29a865f8b71467750248a6f01369a35f483442eb91947 SHA512 a1c04e0604c0881aa8e3e582697e08aeaaec5232118b459c106986bc112af7a8e720a9eb1904c67cd03397d5e1ea943a2fdd126e95e6aa81fb5fe0506bd19dd8 -EBUILD etcd-3.4.7.ebuild 1903 BLAKE2B fae6ee9aff8c6b63f0c3310b6cdee880ed353eb4f15cb653b164fbd28e6851d8c6245f5ddbcde971fde3975cae571d26ed6b48647ed6bcf898c2120aba4402bc SHA512 0fd2225388e381dd0854ee2d1b6120508dcc91eaceafa9041d66af67106fd7f69f23c87b211bced33bfbafdb3781153480aad0d4abb138d16bff4443be595269 +DIST etcd-3.3.23.tar.gz 6526967 BLAKE2B b29cc691a45021ffb2bbf9528d66e2a4384bdf21bf8865a1062d38535e8823a7726790e4d1d5f7b1a9362a730668d2ea579422619c9e29837c290f8fd7edaea7 SHA512 28b689092b342f5d7b211b122f6fc22dcd62c54eec70d4108b5f933851cd145bdf26097927e70b6596af918c583ad3a4bd28acc4c0e93d7f67011789d66dc94b +DIST etcd-3.3.24.tar.gz 6518759 BLAKE2B bff713b5f754e6ed86f4265be7691f5cf6ad0bc1576ef15a4364b34dda827bef4390024d7a9bb032907dc8a95d8d3884e9f2ddf5a37b3b7e4ab476a13e61b8ac SHA512 a3825a1d6ec886a5f30317929bafc1f5b2657f374a4cb7a0348786a7c4f6b073197b2bdeb4d725e78cf5c99cead3e38dbf468ea023b3e7689bdce857466a72d3 +DIST etcd-3.4.10.tar.gz 8954911 BLAKE2B ce800d9db0afdbeab5177b8138e494997a1df024acfa137a7138c6e205c26881c06544e8feeee7a6fd372382fce2eca5f73cb5139a3878339f1182703619cfae SHA512 104bfce77778df4704caafc45b731bb440060be1d802a42642f33cc6c2ad11b7f94c237c1b8a47c38d1e109b71b31cc6cd8a666796fe2dbc925722fee1c2c4da +DIST etcd-3.4.11.tar.gz 8957210 BLAKE2B d8cc647bb4441222d6331bcb89f7a007e830d2d95d38fdff978f44f21b0266184fb6ba328d36a6d5996e9a4c2de4c86088714283ff24df4a8d66d75d0b35cb62 SHA512 c12bf650028755ff38f5624b507f95523279573a4aa1097438a7182afa949a63f2dc06d4223e52607bdff14a8653b570c05d814310ccfd3bacc5a57b286a8c7e +EBUILD etcd-3.3.23.ebuild 2306 BLAKE2B 66394befa1bfd85fdc9069640022fdb447117a530d346e2ab8b7babaaa152b9b1227f5c8f9cac3c569b744caa3f55cf82488aac5d2f4dec04350b350af54bc3d SHA512 5fb2e4690541975147e32643aff2956caced1300b07f6bb69e14038ebe97ed5e56f3f55fae84cdc71c7225311028986eeee1917c5777472165cd67e2363cd9ee +EBUILD etcd-3.3.24.ebuild 2021 BLAKE2B 710c9d1a96f1d12214ae0d03cfb1bbedb49311eb24827e47d4a9b82b93efa49213b016e056efb819148154bf3cd22160231b3edbc316af4693505c0995b168be SHA512 58ec157dcbf6aac4acea3e9216df0d2133e466aff815701c1d47cf6b946419e5ed3d98bf4ac0cf5938063285c157f58b70da383c9a83114009a172aa75e1b492 +EBUILD etcd-3.4.10.ebuild 2021 BLAKE2B 9e3fea4ff53b32f674f25339b40cc2f34b6f9ab738f15277776639d3279f1e1b1257c9af1ac7d175ee452f03ba4a5773e2214fe767b1d90023744149920edc33 SHA512 02ac09ae25b0d9c88d6d7393f10560b7c6dcbcf0893ec84f443bf4581dc7f5938f66896a2cc6f7566242488712e04ff3120899b36cf45215ea49c83bd161fe55 +EBUILD etcd-3.4.11.ebuild 2021 BLAKE2B 717e742acfdd33589971ac2ff7ea7101f31806bf55277f7e34a4288887678b4be943aa8d05a97e36e357a2a0c8354a78812791ce614a80eb1af8f4d21d413b69 SHA512 e4aada179c51082594c974761f219f95aa01c8c2bfc8c45272ca5983d13dca1765457dbe5140f1259f2cbc0a0d75d3266d6b2b1d8d26140f727ee39cc41fcbec MISC metadata.xml 573 BLAKE2B 48714fc34469739cf1fea338b8e686726692ee45be8f3b841e747cdb9f5f13f5e2964ced9423de8a2cde26fef9a0b9ee24e42c8ad6db43a4151194ee4b115029 SHA512 8162b96dd5984554115e7c889d3c6c015a5c07dc553baea6fd1d6263bde02b20bf0d9a411c93f06b537698958994f9d975782c8770cb33793776bf5fb7f999b7 diff --git a/dev-db/etcd/etcd-3.3.17.ebuild b/dev-db/etcd/etcd-3.3.17.ebuild deleted file mode 100644 index 6290e49fcb13..000000000000 --- a/dev-db/etcd/etcd-3.3.17.ebuild +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit user systemd golang-vcs-snapshot - -KEYWORDS="amd64" -EGO_PN="github.com/coreos/etcd" -GIT_COMMIT="6d80523" -MY_PV="${PV/_rc/-rc.}" -DESCRIPTION="Highly-available key value store for shared configuration and service discovery" -HOMEPAGE="https://github.com/etcd-io/etcd" -SRC_URI="https://${EGO_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" -LICENSE="Apache-2.0 BSD BSD-2 MIT" -SLOT="0" -IUSE="doc +server" -DEPEND=">=dev-lang/go-1.12:=" -RDEPEND="!dev-db/etcdctl" - -src_prepare() { - default - sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|"\ - -i "${S}"/src/${EGO_PN}/build || die - sed -e 's:\(for p in \)shellcheck :\1 :' \ - -e 's:^ gofmt \\$:\\:' \ - -e 's:^ govet \\$:\\:' \ - -i "${S}"/src/${EGO_PN}/test || die - # missing ... in args forwarded to print-like function - sed -e 's:l\.Logger\.Panic(v):l.Logger.Panic(v...):' \ - -i "${S}"/src/${EGO_PN}/raft/logger.go || die -} - -pkg_setup() { - if use server; then - enewgroup ${PN} - enewuser ${PN} -1 -1 /var/lib/${PN} ${PN} - fi -} - -src_compile() { - export -n GOCACHE XDG_CACHE_HOME #651934 - export GOPATH=${S} - pushd src/${EGO_PN} || die - GO_BUILD_FLAGS=-v ./build || die - popd || die -} - -src_install() { - pushd src/${EGO_PN} || die - dobin bin/etcdctl - use doc && dodoc -r Documentation - if use server; then - insinto /etc/${PN} - doins "${FILESDIR}/${PN}.conf" - dobin bin/etcd - dodoc README.md - systemd_dounit "${FILESDIR}/${PN}.service" - systemd_newtmpfilesd "${FILESDIR}/${PN}.tmpfiles.d.conf" ${PN}.conf - newinitd "${FILESDIR}"/${PN}.initd ${PN} - newconfd "${FILESDIR}"/${PN}.confd ${PN} - insinto /etc/logrotate.d - newins "${FILESDIR}/${PN}.logrotated" "${PN}" - keepdir /var/lib/${PN} - fowners ${PN}:${PN} /var/lib/${PN} - fperms 0700 /var/lib/${PN} - keepdir /var/log/${PN} - fowners ${PN}:${PN} /var/log/${PN} - fperms 755 /var/log/${PN} - fi - popd || die -} - -src_test() { - pushd src/${EGO_PN} || die - ./test || die - popd || die -} diff --git a/dev-db/etcd/etcd-3.3.18.ebuild b/dev-db/etcd/etcd-3.3.18.ebuild deleted file mode 100644 index 76b45d139626..000000000000 --- a/dev-db/etcd/etcd-3.3.18.ebuild +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit user systemd golang-vcs-snapshot - -KEYWORDS="~amd64" -EGO_PN="github.com/coreos/etcd" -GIT_COMMIT="3c8740a" -MY_PV="${PV/_rc/-rc.}" -DESCRIPTION="Highly-available key value store for shared configuration and service discovery" -HOMEPAGE="https://github.com/etcd-io/etcd" -SRC_URI="https://${EGO_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" -LICENSE="Apache-2.0 BSD BSD-2 MIT" -SLOT="0" -IUSE="doc +server" -DEPEND=">=dev-lang/go-1.12:=" -RDEPEND="!dev-db/etcdctl" - -src_prepare() { - default - sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|"\ - -i "${S}"/src/${EGO_PN}/build || die - sed -e 's:\(for p in \)shellcheck :\1 :' \ - -e 's:^ gofmt \\$:\\:' \ - -e 's:^ govet \\$:\\:' \ - -i "${S}"/src/${EGO_PN}/test || die - # missing ... in args forwarded to print-like function - sed -e 's:l\.Logger\.Panic(v):l.Logger.Panic(v...):' \ - -i "${S}"/src/${EGO_PN}/raft/logger.go || die -} - -pkg_setup() { - if use server; then - enewgroup ${PN} - enewuser ${PN} -1 -1 /var/lib/${PN} ${PN} - fi -} - -src_compile() { - export -n GOCACHE XDG_CACHE_HOME #651934 - export GOPATH=${S} - pushd src/${EGO_PN} || die - GO_BUILD_FLAGS=-v ./build || die - popd || die -} - -src_install() { - pushd src/${EGO_PN} || die - dobin bin/etcdctl - use doc && dodoc -r Documentation - if use server; then - insinto /etc/${PN} - doins "${FILESDIR}/${PN}.conf" - dobin bin/etcd - dodoc README.md - systemd_dounit "${FILESDIR}/${PN}.service" - systemd_newtmpfilesd "${FILESDIR}/${PN}.tmpfiles.d.conf" ${PN}.conf - newinitd "${FILESDIR}"/${PN}.initd ${PN} - newconfd "${FILESDIR}"/${PN}.confd ${PN} - insinto /etc/logrotate.d - newins "${FILESDIR}/${PN}.logrotated" "${PN}" - keepdir /var/lib/${PN} - fowners ${PN}:${PN} /var/lib/${PN} - fperms 0700 /var/lib/${PN} - keepdir /var/log/${PN} - fowners ${PN}:${PN} /var/log/${PN} - fperms 755 /var/log/${PN} - fi - popd || die -} - -src_test() { - pushd src/${EGO_PN} || die - ./test || die - popd || die -} diff --git a/dev-db/etcd/etcd-3.3.19.ebuild b/dev-db/etcd/etcd-3.3.19.ebuild deleted file mode 100644 index be6c9f54d493..000000000000 --- a/dev-db/etcd/etcd-3.3.19.ebuild +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit user systemd golang-vcs-snapshot - -KEYWORDS="~amd64" -EGO_PN="github.com/coreos/etcd" -GIT_COMMIT=67da93f73 -MY_PV="${PV/_rc/-rc.}" -DESCRIPTION="Highly-available key value store for shared configuration and service discovery" -HOMEPAGE="https://github.com/etcd-io/etcd" -SRC_URI="https://${EGO_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" -LICENSE="Apache-2.0 BSD BSD-2 MIT" -SLOT="0" -IUSE="doc +server" -DEPEND=">=dev-lang/go-1.12:=" -RDEPEND="!dev-db/etcdctl" - -src_prepare() { - default - sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|"\ - -i "${S}"/src/${EGO_PN}/build || die - sed -e 's:\(for p in \)shellcheck :\1 :' \ - -e 's:^ gofmt \\$:\\:' \ - -e 's:^ govet \\$:\\:' \ - -i "${S}"/src/${EGO_PN}/test || die - # missing ... in args forwarded to print-like function - sed -e 's:l\.Logger\.Panic(v):l.Logger.Panic(v...):' \ - -i "${S}"/src/${EGO_PN}/raft/logger.go || die -} - -pkg_setup() { - if use server; then - enewgroup ${PN} - enewuser ${PN} -1 -1 /var/lib/${PN} ${PN} - fi -} - -src_compile() { - export -n GOCACHE XDG_CACHE_HOME #651934 - export GOPATH=${S} - pushd src/${EGO_PN} || die - GO_BUILD_FLAGS=-v ./build || die - popd || die -} - -src_install() { - pushd src/${EGO_PN} || die - dobin bin/etcdctl - use doc && dodoc -r Documentation - if use server; then - insinto /etc/${PN} - doins "${FILESDIR}/${PN}.conf" - dobin bin/etcd - dodoc README.md - systemd_dounit "${FILESDIR}/${PN}.service" - systemd_newtmpfilesd "${FILESDIR}/${PN}.tmpfiles.d.conf" ${PN}.conf - newinitd "${FILESDIR}"/${PN}.initd ${PN} - newconfd "${FILESDIR}"/${PN}.confd ${PN} - insinto /etc/logrotate.d - newins "${FILESDIR}/${PN}.logrotated" "${PN}" - keepdir /var/lib/${PN} - fowners ${PN}:${PN} /var/lib/${PN} - fperms 0700 /var/lib/${PN} - keepdir /var/log/${PN} - fowners ${PN}:${PN} /var/log/${PN} - fperms 755 /var/log/${PN} - fi - popd || die -} - -src_test() { - pushd src/${EGO_PN} || die - ./test || die - popd || die -} diff --git a/dev-db/etcd/etcd-3.4.5.ebuild b/dev-db/etcd/etcd-3.3.23.ebuild index 8848dd8b39f6..d767c318c0c5 100644 --- a/dev-db/etcd/etcd-3.4.5.ebuild +++ b/dev-db/etcd/etcd-3.3.23.ebuild @@ -3,7 +3,7 @@ EAPI=7 inherit go-module systemd -GIT_COMMIT=e784ba73c +GIT_COMMIT=4873f5516 MY_PV="${PV/_rc/-rc.}" DESCRIPTION="Highly-available key value store for shared configuration and service discovery" @@ -12,7 +12,7 @@ SRC_URI="https://github.com/etcd-io/etcd/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz LICENSE="Apache-2.0 BSD BSD-2 MIT" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="doc +server" COMMON_DEPEND="server? ( @@ -23,7 +23,12 @@ DEPEND="${COMMON_DEPEND}" RDEPEND="${COMMON_DEPEND} !dev-db/etcdctl" +# Tests hang and emit this error: +# Too many goroutines running after all test(s). +RESTRICT="test" + src_prepare() { + export GO_BUILD_FLAGS="-mod=vendor -v -x" default sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|"\ -i "${S}"/build || die @@ -39,10 +44,19 @@ src_prepare() { sed -e 's:TestGetDefaultInterface(:_\0:' \ -e 's:TestGetDefaultHost(:_\0:' \ -i "${S}"/pkg/netutil/routes_linux_test.go || die + + rm "${S}"/pkg/tlsutil/cipher_suites_test.go || die + + sed -e "s|GO_BUILD_FLAGS=\"[^\"]*\"|GO_BUILD_FLAGS=\"${GO_BUILD_FLAGS}\"|" \ + -e "s|go test |go test ${GO_BUILD_FLAGS} |" \ + -i ./test || die + + mkdir -p vendor/github.com/coreos || die + ln -s ../../.. vendor/github.com/coreos/etcd || die } src_compile() { - GO_BUILD_FLAGS=-v ./build || die + ./build || die } src_install() { diff --git a/dev-db/etcd/etcd-3.4.4.ebuild b/dev-db/etcd/etcd-3.3.24.ebuild index ba0f54d54760..ebb677c1e00e 100644 --- a/dev-db/etcd/etcd-3.4.4.ebuild +++ b/dev-db/etcd/etcd-3.3.24.ebuild @@ -3,7 +3,7 @@ EAPI=7 inherit go-module systemd -GIT_COMMIT=c65a9e2dd +GIT_COMMIT=bdd57848d MY_PV="${PV/_rc/-rc.}" DESCRIPTION="Highly-available key value store for shared configuration and service discovery" @@ -23,7 +23,12 @@ DEPEND="${COMMON_DEPEND}" RDEPEND="${COMMON_DEPEND} !dev-db/etcdctl" +# Tests fail with this error: +# fatal error: checkptr: unsafe pointer conversion +RESTRICT="test" + src_prepare() { + export GO_BUILD_FLAGS="-mod=vendor -v -x" default sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|"\ -i "${S}"/build || die @@ -32,17 +37,19 @@ src_prepare() { -e 's:^ govet \\$:\\:' \ -e 's:^ govet_shadow \\$:\\:' \ -i "${S}"/test || die - # missing ... in args forwarded to print-like function - sed -e 's:l\.Logger\.Panic(v):l.Logger.Panic(v...):' \ - -i "${S}"/raft/logger.go || die - sed -e 's:TestGetDefaultInterface(:_\0:' \ - -e 's:TestGetDefaultHost(:_\0:' \ - -i "${S}"/pkg/netutil/routes_linux_test.go || die + sed -e "s|GO_BUILD_FLAGS=\"[^\"]*\"|GO_BUILD_FLAGS=\"${GO_BUILD_FLAGS}\"|" \ + -e "s|go test |go test ${GO_BUILD_FLAGS} |" \ + -i ./test || die + + mkdir -p vendor/github.com/coreos || die + ln -s ../../.. vendor/github.com/coreos/etcd || die + + echo 'module go.etcd.io/etcd' > go.mod || die } src_compile() { - GO_BUILD_FLAGS=-v ./build || die + ./build || die } src_install() { diff --git a/dev-db/etcd/etcd-3.4.7.ebuild b/dev-db/etcd/etcd-3.4.10.ebuild index 2e8f38a668f5..55d46653132b 100644 --- a/dev-db/etcd/etcd-3.4.7.ebuild +++ b/dev-db/etcd/etcd-3.4.10.ebuild @@ -3,7 +3,7 @@ EAPI=7 inherit go-module systemd -GIT_COMMIT=e694b7bb0 +GIT_COMMIT=18dfb9cca MY_PV="${PV/_rc/-rc.}" DESCRIPTION="Highly-available key value store for shared configuration and service discovery" @@ -23,7 +23,12 @@ DEPEND="${COMMON_DEPEND}" RDEPEND="${COMMON_DEPEND} !dev-db/etcdctl" +# Tests fail with this error: +# fatal error: checkptr: unsafe pointer conversion +RESTRICT="test" + src_prepare() { + export GO_BUILD_FLAGS="-mod=vendor -v -x" default sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|"\ -i "${S}"/build || die @@ -32,17 +37,19 @@ src_prepare() { -e 's:^ govet \\$:\\:' \ -e 's:^ govet_shadow \\$:\\:' \ -i "${S}"/test || die - # missing ... in args forwarded to print-like function - sed -e 's:l\.Logger\.Panic(v):l.Logger.Panic(v...):' \ - -i "${S}"/raft/logger.go || die - sed -e 's:TestGetDefaultInterface(:_\0:' \ - -e 's:TestGetDefaultHost(:_\0:' \ - -i "${S}"/pkg/netutil/routes_linux_test.go || die + sed -e "s|GO_BUILD_FLAGS=\"[^\"]*\"|GO_BUILD_FLAGS=\"${GO_BUILD_FLAGS}\"|" \ + -e "s|go test |go test ${GO_BUILD_FLAGS} |" \ + -i ./test || die + + mkdir -p vendor/github.com/coreos || die + ln -s ../../.. vendor/github.com/coreos/etcd || die + + echo 'module go.etcd.io/etcd' > go.mod || die } src_compile() { - GO_BUILD_FLAGS="-mod=vendor -v -x" ./build || die + ./build || die } src_install() { diff --git a/dev-db/etcd/etcd-3.3.20.ebuild b/dev-db/etcd/etcd-3.4.11.ebuild index bb8da4b424e7..0c3cc8f2f4b1 100644 --- a/dev-db/etcd/etcd-3.3.20.ebuild +++ b/dev-db/etcd/etcd-3.4.11.ebuild @@ -1,53 +1,58 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 - -inherit user systemd golang-vcs-snapshot - -KEYWORDS="~amd64" -EGO_PN="github.com/coreos/etcd" -GIT_COMMIT=9fd7e2b80 +EAPI=7 +inherit go-module systemd +GIT_COMMIT=e71e0c5c8 MY_PV="${PV/_rc/-rc.}" + DESCRIPTION="Highly-available key value store for shared configuration and service discovery" HOMEPAGE="https://github.com/etcd-io/etcd" -SRC_URI="https://${EGO_PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" +SRC_URI="https://github.com/etcd-io/etcd/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" + LICENSE="Apache-2.0 BSD BSD-2 MIT" SLOT="0" +KEYWORDS="~amd64" IUSE="doc +server" COMMON_DEPEND="server? ( acct-group/etcd acct-user/etcd )" -DEPEND=">=dev-lang/go-1.12:= - ${COMMON_DEPEND}" -RDEPEND="!dev-db/etcdctl - ${COMMON_DEPEND}" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND} + !dev-db/etcdctl" + +# Tests fail with this error: +# fatal error: checkptr: unsafe pointer conversion +RESTRICT="test" src_prepare() { + export GO_BUILD_FLAGS="-mod=vendor -v -x" default sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|"\ - -i "${S}"/src/${EGO_PN}/build || die + -i "${S}"/build || die sed -e 's:\(for p in \)shellcheck :\1 :' \ -e 's:^ gofmt \\$:\\:' \ -e 's:^ govet \\$:\\:' \ - -i "${S}"/src/${EGO_PN}/test || die - # missing ... in args forwarded to print-like function - sed -e 's:l\.Logger\.Panic(v):l.Logger.Panic(v...):' \ - -i "${S}"/src/${EGO_PN}/raft/logger.go || die + -e 's:^ govet_shadow \\$:\\:' \ + -i "${S}"/test || die + + sed -e "s|GO_BUILD_FLAGS=\"[^\"]*\"|GO_BUILD_FLAGS=\"${GO_BUILD_FLAGS}\"|" \ + -e "s|go test |go test ${GO_BUILD_FLAGS} |" \ + -i ./test || die + + mkdir -p vendor/github.com/coreos || die + ln -s ../../.. vendor/github.com/coreos/etcd || die + + echo 'module go.etcd.io/etcd' > go.mod || die } src_compile() { - export -n GOCACHE XDG_CACHE_HOME #651934 - export GOPATH=${S} - pushd src/${EGO_PN} || die - GO_BUILD_FLAGS=-v ./build || die - popd || die + ./build || die } src_install() { - pushd src/${EGO_PN} || die dobin bin/etcdctl use doc && dodoc -r Documentation if use server; then @@ -68,11 +73,8 @@ src_install() { fowners ${PN}:${PN} /var/log/${PN} fperms 755 /var/log/${PN} fi - popd || die } src_test() { - pushd src/${EGO_PN} || die ./test || die - popd || die } diff --git a/dev-db/etcd/etcd-3.4.3.ebuild b/dev-db/etcd/etcd-3.4.3.ebuild deleted file mode 100644 index c11f52d4d3ba..000000000000 --- a/dev-db/etcd/etcd-3.4.3.ebuild +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit user systemd golang-vcs-snapshot - -KEYWORDS="~amd64" -EGO_PN="go.etcd.io/etcd" -GIT_COMMIT="3cf2f69" -MY_PV="${PV/_rc/-rc.}" -DESCRIPTION="Highly-available key value store for shared configuration and service discovery" -HOMEPAGE="https://github.com/etcd-io/etcd" -SRC_URI="https://github.com/etcd-io/etcd/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz" -LICENSE="Apache-2.0 BSD BSD-2 MIT" -SLOT="0" -IUSE="doc +server" -DEPEND=">=dev-lang/go-1.12:=" -RDEPEND="!dev-db/etcdctl" - -src_prepare() { - default - sed -e "s|GIT_SHA=.*|GIT_SHA=${GIT_COMMIT}|"\ - -i "${S}"/src/${EGO_PN}/build || die - sed -e 's:\(for p in \)shellcheck :\1 :' \ - -e 's:^ gofmt \\$:\\:' \ - -e 's:^ govet \\$:\\:' \ - -e 's:^ govet_shadow \\$:\\:' \ - -i "${S}"/src/${EGO_PN}/test || die - # missing ... in args forwarded to print-like function - sed -e 's:l\.Logger\.Panic(v):l.Logger.Panic(v...):' \ - -i "${S}"/src/${EGO_PN}/raft/logger.go || die - - sed -e 's:TestGetDefaultInterface(:_\0:' \ - -e 's:TestGetDefaultHost(:_\0:' \ - -i "${S}"/src/${EGO_PN}/pkg/netutil/routes_linux_test.go || die - - # Avoid network-sandbox violations since go-1.13 - rm src/${EGO_PN}/go.mod || die -} - -pkg_setup() { - if use server; then - enewgroup ${PN} - enewuser ${PN} -1 -1 /var/lib/${PN} ${PN} - fi -} - -src_compile() { - export -n GOCACHE XDG_CACHE_HOME #651934 - export GOPATH=${S} - pushd src/${EGO_PN} || die - GO_BUILD_FLAGS=-v ./build || die - popd || die -} - -src_install() { - pushd src/${EGO_PN} || die - dobin bin/etcdctl - use doc && dodoc -r Documentation - if use server; then - insinto /etc/${PN} - doins "${FILESDIR}/${PN}.conf" - dobin bin/etcd - dodoc README.md - systemd_dounit "${FILESDIR}/${PN}.service" - systemd_newtmpfilesd "${FILESDIR}/${PN}.tmpfiles.d.conf" ${PN}.conf - newinitd "${FILESDIR}"/${PN}.initd ${PN} - newconfd "${FILESDIR}"/${PN}.confd ${PN} - insinto /etc/logrotate.d - newins "${FILESDIR}/${PN}.logrotated" "${PN}" - keepdir /var/lib/${PN} - fowners ${PN}:${PN} /var/lib/${PN} - fperms 0700 /var/lib/${PN} - keepdir /var/log/${PN} - fowners ${PN}:${PN} /var/log/${PN} - fperms 755 /var/log/${PN} - fi - popd || die -} - -src_test() { - pushd src/${EGO_PN} || die - GO111MODULE=off ./test || die - popd || die -} diff --git a/dev-db/influxdb/Manifest b/dev-db/influxdb/Manifest index be1f8528ec75..b732720d2a8e 100644 --- a/dev-db/influxdb/Manifest +++ b/dev-db/influxdb/Manifest @@ -1,6 +1,265 @@ AUX influxd.conf 2961 BLAKE2B 465857627e9fad4761b1bdc8b35d18f2ee2e130b6ce943bb41f7621ea4621f38e5c59915f659ff47217884f6b596625f1ab1983b071b8859ecf2972cac94865b SHA512 8f052a10c44c4fb9c0e91a4eca5540ba76993a3f20a114f0c39a7ead01f33db7a4b22174cac7e4ab2e3614b75c033753fb6adcf001578f72ac05a4e551bd97fb -AUX influxdb.confd 324 BLAKE2B 3800c8454474d424753db9635c04bb7149603bc16216d540dd8d06be58aac0082f9b5306e6addb6ed917fc97073a241997c0fc339a39c40c1bfb8550afb6e197 SHA512 18211682e300a93f49c2d9deecb49a7e8640cd1ae97236b28e85e78f74837a3a199735a6c33551d5222edec479e806c6ee606bfe61319d77a4475ca72fef8b9d +AUX influxdb.confd 489 BLAKE2B 8b7c6f674227e64de62041a3e7303eda89cebe98a8b7b33372b3eeefd7e56434d7a85dd65a9befcea0aa0f868d722c86261485d348f5ef66d52f7ceadb0e7b62 SHA512 0ecc1974d330bef0f2b8422ecc6fdb4eedf7fec60158102bb77cb292022d900cedf9cce255aaba490f45593de26cbba08a8569776dd340ade3239c78517aab5f AUX influxdb.rc 778 BLAKE2B 24d080b3fa822e52a05427567c078e1fb6da62b2a4a867e6f7caabdcb3ad9478b4f496995aca1a104ceb84ccf609d372f38b9bbce952af14f187cd4d5cab187a SHA512 17efd9705219f7edfdc4c4813592e5872fae53598c95fd954ad045df3333aeecb777f3a9395ed4265e73951e0b866b1dbfcd96f1af92c7719b2999d87fc0396d +AUX influxdb.rc-r1 1135 BLAKE2B 1ed94dfbd1e9b3c0ad282be7fbb96aba344f1e6a9fe4b3da2fcddbc95039e0d66b8c233ca17b75fd072133fc398a18ade48b67c002dae4c9f61967fee5c952a7 SHA512 2e739082ddd399990fa7f9079e3e0763d042099794dbeadef93b79368ae4a7f70ed3ede9b8b9293a65d33ab1cc59c99d5ec4f44ee2e0ce18d2e974d06d64a49e +DIST cloud.google.com%2Fgo%2F@v%2Fv0.26.0.mod 27 BLAKE2B 814b0fa8f12d5ce6171fa629b5a7eb34e0e882cc0c5430986896bb38c243e08dc83098f271227f4ba019e78f16dc97fbb381e833aff1819833d243b08add916b SHA512 5132f3438533427c0ab0fbb7a12112a7830ea9122662ed46019ff89c71d9cf80c02edc32dd5c892da572031b5a2cce100f2602fa6a19bea6be7c02781f701273 +DIST cloud.google.com%2Fgo%2F@v%2Fv0.34.0.mod 27 BLAKE2B 814b0fa8f12d5ce6171fa629b5a7eb34e0e882cc0c5430986896bb38c243e08dc83098f271227f4ba019e78f16dc97fbb381e833aff1819833d243b08add916b SHA512 5132f3438533427c0ab0fbb7a12112a7830ea9122662ed46019ff89c71d9cf80c02edc32dd5c892da572031b5a2cce100f2602fa6a19bea6be7c02781f701273 +DIST cloud.google.com%2Fgo%2F@v%2Fv0.38.0.mod 1006 BLAKE2B 9d321b9bad7e881795f0215828ca23ff5753b8ca9cbe64ca085bcd2f64d36d0d5bdd5c3e80eb64e19e067748b6b23eb7837827cede0e75a840ed1cfa2b00c1a8 SHA512 8aa90e6ce7d50af3db56c8a7abdd16822f6351cabb96e6b75ac0cdefa15bb4a2d402aa84e6212fec4d599ec6f13cb1891bb37f41200e6a05a27642375a89a959 +DIST cloud.google.com%2Fgo%2F@v%2Fv0.43.0.mod 1150 BLAKE2B 061e538c00a3bb43069837aa4492ee4a040a31cb20acc0bd18cc9c9bde19f1a2a54a19539e71df75b696879bcae42eed0e708e5e07eb76e1e8a238baea589592 SHA512 9b440323826ece8eb7681b931bf7964b02242425651111f1ace97c5b026d25f8ee5e72147bfbfde60166e9d3cede791d2d9ea20893985c118d087705747a04d0 +DIST cloud.google.com%2Fgo%2F@v%2Fv0.44.1.mod 1150 BLAKE2B dba381727351af838c47c0d81a0d842d3851dc4e4a6cce1fbea14ccef9dc21407dbe2749fcaf130df4211b083ddac015bc532f7285450e767064855cf729ecce SHA512 6a49609209f9d51e4851ed5c55a06b9451c0101de3bd92b7fa5b3662b2e85df4a667ad8068288773b9a85670c65fbba46f88c643aac290d1f65e2a44ef531409 +DIST cloud.google.com%2Fgo%2F@v%2Fv0.44.2.mod 1075 BLAKE2B 370ba9f085033653a0fe9d328aca613b7feb50eb9407e55ed583d7b9302fd844856c9a1a9dca69c67c360c0a7b49ebff6ebd22946fb83c6c7061b9b8c573e99e SHA512 a58f7bd34b5ba8affd021a2d34be64e49dab0d9bb893ad25e00bf5b50ff92c4762b6d9093134b483dff2573ad3c0ebb5f42808dfbe33081cef0e96dc5215074f +DIST cloud.google.com%2Fgo%2F@v%2Fv0.45.1.mod 998 BLAKE2B 8dc0e29275055b37db12138b6e30fb22a6ccd995b3c3566efbb616f799660cd7073bfee935e41a77f311a95d0ec40ef9b5e40673ff8e59c9c06e5cfa32675adb SHA512 ade24f2b10476b5e5eb42d6f471b73ccb7d8107e6a26c5b1fd38191dc7d4ffee31552088fa5854983c47a2c4868a13bfc22d7f92f834662c75f7c4c88e0274ea +DIST cloud.google.com%2Fgo%2F@v%2Fv0.46.3.mod 960 BLAKE2B 879529244d38fbecdaea27588031c2d0d82551d8173f7e41f004dae8356e2264259d80e66953e941aa856a9613ae82211ea8dc0b12f9188f65bdf54487052952 SHA512 cbe178d04fe28f9b7dd07b0317fd4404d805e80ceada4953ad47763bafa2f215f88464c1315261a902ebcc52145af09df4c96a341e42644d38526909fcef313c +DIST cloud.google.com%2Fgo%2F@v%2Fv0.50.0.mod 1129 BLAKE2B 975226b22ad0291e83a5e47d901c79ac5a7c684010972581dc15f9713154141f3d6dd7231407255240620e29cbfeb877f05f5b5d388100a70d381f8f54f7db5f SHA512 70400a50eedc5305fef765d38f0428f636f439195d09cbb283ee7779b8aba1f881f83d894acbc6ee90ff016358aa9b117c79557da15d10fc60264eb36ed3fe3c +DIST cloud.google.com%2Fgo%2F@v%2Fv0.51.0.mod 1226 BLAKE2B c58a92fb234f949137fa6a6369308f104c2619cf6af1b0a727dba2e6d0ca9297521f9236d15389e40945f314fdd3f03cbaede2a5e1a2f5b96a983ddc26beedd1 SHA512 dbadaecbd6db504404c9bc700960c20678af4ba3ecf517e993589bc3b124654cb8ba5585c77d3e454ab3e5a5172c2041ef9560ed2776fde91bfa5d92c95085b9 +DIST cloud.google.com%2Fgo%2F@v%2Fv0.51.0.zip 1283809 BLAKE2B b704166087a43d4535ea1307ca01f42db82aca7f1fae12b308f16264cd08f95a8631e8f44594370a5937ea095bf8ed5f13943c1f91f35cb5536613811cc43be8 SHA512 f37caaa630b74006467930113b86137c0d3a2736877d1320ac26ff6da628587e29537b6ce215d1f2b7304b5e75897f7644fc8ef005496e98a6a07ec530cc3d33 +DIST cloud.google.com%2Fgo%2Fbigquery%2F@v%2Fv1.0.1.mod 319 BLAKE2B 99d93b5a4dbd4c90f3e8dfb58e64ed41fdbb484f2348297a90c8dabe03b036ef6917c2c9fb7cc4795d0c8d25af10cefebff4c4bc1b2ebcdc876b6db8beae5eb8 SHA512 338a067f7ad15d8549da11ac146b65657923ae4fee3caf2eff888c104c0df0edcdf0d98f5be6a67a764aa39210d5cad811ebd9d604084a67049b753246fbf89a +DIST cloud.google.com%2Fgo%2Fbigquery%2F@v%2Fv1.3.0.mod 555 BLAKE2B 6707e248be1fa35970275388888eb7692f976a8fca6ddc7cf02e355f8d44264c7eef6d093d90c115670b7a3b495658b79e622c47d1c90b95684b8d32547d7342 SHA512 2df2dbf07037f027100f8beba6416c00fc115fcde2dce19ea4c0fe4a036e8f66f7ae278e9765d0fc80149a330e6dd90eee8e9a0c93aecfe16da65d02320aabd1 +DIST cloud.google.com%2Fgo%2Fbigquery%2F@v%2Fv1.3.0.zip 368303 BLAKE2B 3fda06ce9b44cf6ec10ebe84123f4fdec67eb57d32abf16e90aaab633562bf63be1813e5c7a05145f081c0f5aceaf6d70f5ba42e979414a7e144e8ff7bcaf44c SHA512 19a5c7c77df447e8a32782ac61fa62964c54860b8b41fecf315003d1b54215b63bd465e89722d9c868667ce45a98960cb0b5e5836cb4d96155a70d3ddd95a30b +DIST cloud.google.com%2Fgo%2Fbigtable%2F@v%2Fv1.2.0.mod 617 BLAKE2B 4717d7bce69879f27db17c13d4c0b283a9939d32f5e116d885d170e2668235114aa0a7c70ca98a522e01a543285ee10ba47f5d8fccf2e6c3b8a7c123b3fc1bdd SHA512 850d2892d1be55d674990de6cad2b778372473f03fdbbe8d3fa61c0a87ba32a349d5f98a52aae006e079986c84a5ed56256629a1bfbabf65b89c0f068e7f9975 +DIST cloud.google.com%2Fgo%2Fbigtable%2F@v%2Fv1.2.0.zip 143408 BLAKE2B 4b018b6ce5debf58cfc353f9d3f120d9b21893146cecdb3cda5b91e64eeeb833f29a646064f37a8d56c1824e60742654648774984be178cca41c94f498c8a7e2 SHA512 a4c51a88470174919fdb4fab1528f10684aafbd11e8c32780feacf38178df6c28cc9f53a917fd483d0a5484c42685699cc4770dd82fab075e328227180b3f90f +DIST cloud.google.com%2Fgo%2Fdatastore%2F@v%2Fv1.0.0.mod 433 BLAKE2B b3d58e290d719434bd433ffda9572fb233171493c7b81bfe353d9b7730130d5dec365f4e93a136a25467851b5f26cb21be6be06486696f010ccff1fcea140662 SHA512 8082ab039764aa6abd6615b1cf3a1830f2813dd5b791a27b7f0ebf5fa1ee68fe040a5e12988e6c91ba5d032a0a6666d384d6eceff12165d394a75ba56b744382 +DIST cloud.google.com%2Fgo%2Fdatastore%2F@v%2Fv1.0.0.zip 271434 BLAKE2B fff473ccead1ee3845f6a65d95cd63cca29f0997dd9bc91e4ce54f1dab259ce680ef0a9a35defc8b5bc3b8559b5d52b9c57966f5f4a46e846d476abfbf0989ce SHA512 1e60a44acc0e365d014fe463684d543c0adfa8a51fbe3be099803d338d15558dbb0a36ffaded7b301bb3db3ae4fc7fb4eda3e9dd18fbc30da0992d7fd0609f4b +DIST cloud.google.com%2Fgo%2Fpubsub%2F@v%2Fv1.0.1.mod 508 BLAKE2B 9915d1d1a768852b3f262784771c8fe2e7e176e61f7d77841f8d3adac571dc141e36c6455c19090cf00a98a7a5ef0c2c887424142e2ecad339f8105b1c30f91e SHA512 8a393b8614207c22c73a706ccc3e66a8a16d2f305ab95d8f70774f13d0bcb7396b0ac5095daa57ebb991225a1db08c3110f1e85c26dd72f3bbcaf73fea536d9c +DIST cloud.google.com%2Fgo%2Fpubsub%2F@v%2Fv1.1.0.mod 755 BLAKE2B 2a2aa8bcee45060e8a277379fabf5ce73a2c0a0abea8802c1bf152e31522b565b969ace4a49367048672908e55142c18b3c4ad60c7a468866ddf3316c722699a SHA512 2b2720ffcf11b02b3e12e794132f0d25e5e0afa08e4d617f9d4147d8bafbb6f00c8aa4c5776e039eba4ff5c8add0b4e73c8c928f4b155c5c386f09a4e06b765c +DIST cloud.google.com%2Fgo%2Fpubsub%2F@v%2Fv1.1.0.zip 146995 BLAKE2B 90c8ffffd215cf0b564cf11c54cb03514211cfd9270cf37d6a729398633a28a1fe1df2d416ede882800886b32f2620c57f34e87470b4131a472990a5396cde9e SHA512 0df8741bfa1f83ab41b2c03a29d9aa5be8cc1e0ae4fe6cf780d2e084876e6011ceecf8bcf41818be3c1f5460aa2ec95c1c2ee5daaec05d38a527c895e7bad80c +DIST cloud.google.com%2Fgo%2Fstorage%2F@v%2Fv1.0.0.mod 374 BLAKE2B 4fef9f7da9f23e94efe43be0e279958715949a889c5d51e388f5b66ec9a7cdbf15a717c988883647032998facd71359ad1dcacebcf3334100144abbfa12dac03 SHA512 faf4a02a513ae4c23f931b8917e74a056c528b4267ef3b5b704949283910bfc5d41fdd7264b78d4fc1f6e5b370474a7c9933a2fad36bb5c872006def71f8ed0b +DIST cloud.google.com%2Fgo%2Fstorage%2F@v%2Fv1.5.0.mod 953 BLAKE2B c520f4cc8fbb60561cfd33b1f70839691a3970669c34c0bc1ede45a31ea53624d9c4d2b16de25533d3121792739006faecc1086afd2539e2a1c7e9b37fc6bead SHA512 33dacd4dc65bf8a7ead2e660e6719beb7024b1603e47e705ee657cf3024e5ec06c44ba88dfd05192142ce880903e94f8dd628d059ddc357e6b42e395953a86ba +DIST cloud.google.com%2Fgo%2Fstorage%2F@v%2Fv1.5.0.zip 401108 BLAKE2B 1f28d174c6a34504bb5cc6674866396a1b1e56b6fa3274996b90e66a7007cd20d677fdc1cedd2f9f3666eeba12939c37f0c8016b950e0350986d5c23d9662dd5 SHA512 6d31112652f152cf748ae57782a5aaa8764bb60797845b4da6a3012474f10376f3d9fdcb5d713b3be8bc9425937841d091914ac622abeaf8740fc7348842ea4f +DIST collectd.org%2F@v%2Fv0.3.0.mod 20 BLAKE2B 7b96a22f921fe63455011f7665f2a9d857a574a9ec0f5045366dda86a1d2a9ef9a8afebe9c5640aa46fc8c06cc73769b13263aea16537ac63a938fb8df70833e SHA512 f214d1a62a9cbf57ab751b12c01e522933dc85f766efaa3d01f15730bc36c08bb3fd01bc3305d883d204f55871eb7996978b7bf8d4a43d2c1675c677d4179b06 +DIST collectd.org%2F@v%2Fv0.3.0.zip 56106 BLAKE2B bd6a89a8301e1d43076be3fb190a9ad53516bafc65bedae931b6d55505dec5daaa683b625d108b5a72c7fcc455c87efe1045484bc7895f2809ba085505ef0304 SHA512 658875ff38947b9f858640b9b87baccae062361423dd65169e026e5c02f1d7e76e5f76a571115675f0befc892f7536909f1956eb7f7b969c650c885aaa0ab647 +DIST dmitri.shuralyov.com%2Fgpu%2Fmtl%2F@v%2Fv0.0.0-20190408044501-666a987793e9.mod 36 BLAKE2B b430ef9388b0dfe932b201495a00275a6036338c99160d7362556be1e25924584b0802061d193533f23b1f76719dfd6a9484572babd25f1af0e53fd9bf07ac00 SHA512 196affe091247f94ceda4b56629bd62d4ee2b397f2c0f56c9534c02e43531b46705ad33543b58c1a4fc7a48e25e5923db087fe0485a93966a4086581c0d1d3e1 +DIST github.com%2F!burnt!sushi%2Ftoml%2F@v%2Fv0.3.1.mod 34 BLAKE2B ce54a247aef91043830bdf0603c8452ba38eceb1495af6e7a74c9119234a0dc5cd080cb25258c28f5e270acf91189a5ed33e361cbf17de2be5e37dadbda1d90d SHA512 320941bc3b7fb8bc595e6135cbc513a7583d129f0cd92508055291e141191066303cf75148e25198c21f6c6c539a790ea3210f3ecf5de6a2a03b70c753091146 +DIST github.com%2F!burnt!sushi%2Ftoml%2F@v%2Fv0.3.1.zip 56132 BLAKE2B 5edcfe991d7fc40094d637bae8d8d6f1f897ab3d3786ade2bb80287738103264520681ced8d30d2037253206c32d3f867f4d024a571cb9aad030ebc451e198eb SHA512 43ed64ae515738487e9b75a2290d0b2bc25e83c021a9f29b21487c37adbf34e74e1e7d3d5ec0dfe678c8396356f95c3993a5f5610d1791ff62056cd182a4272f +DIST github.com%2F!burnt!sushi%2Fxgb%2F@v%2Fv0.0.0-20160522181843-27f122750802.mod 33 BLAKE2B d234bf9be3dd919cb1f8d33750a24dca68c90fea110fd0ff62f0dba86d2ebbfc66d55fea62745b6383c5607bc91cfd78c9d2cf12df251397e85995c04707caa2 SHA512 dbfa64ac31b25fdbff12110c6f9815abfde65f281e40852e7165499a2cefb6656c74fe0b82f0f018304daa02b83b421e9c15654efabad39787c69c1b2996a79d +DIST github.com%2F!d!a!t!a-!d!o!g%2Fgo-sqlmock%2F@v%2Fv1.3.3.mod 38 BLAKE2B eb94b6f6f4bf332f916cb642fae50486c6ad9f6a7aa1bb57aade3ed640bc98236ae167d30c140c106cee0ada737eca6bdf54d36bcab0751a940f283f55f08c5c SHA512 43bc64732c4ca2ff23bb09cd67f002b05a1b68963116fb42cf9bd60ac8dade8b2efa1cab798217a73b221ea86fb4e219e36912ffe338c7bd505f2a877be05c09 +DIST github.com%2F!d!a!t!a-!d!o!g%2Fgo-sqlmock%2F@v%2Fv1.3.3.zip 42823 BLAKE2B cb9b71b7dc0372ee4fed1c9c4c51abbd6cffa907f0eb5dd156475187256e5f8d007e667324edcecb3bbe51badf51c7d46643b89f30613670506c0aa5e76833a6 SHA512 b419a038368e290028a8e10066a95044d1b4aadfc3d33d396c05482f155dec4bd04f5a2277092761fa4433f4e25263a64b31524198dbe669526871ee540070d1 +DIST github.com%2F!one!of!one%2Fxxhash%2F@v%2Fv1.2.2.mod 34 BLAKE2B 83966cb7de9bb687f99f17c5c89c03718258d2df34e3dda01b96a2fcb1273a0ba0e3253ba5950d5458193d3e54962371317a8fe85020ae338b44e864bd96667f SHA512 9081c69a2480ef726f547047306dc9136211ac7550882e68d458e2c04e5343366cb08f20525a51c804ab9a554dfe8363a1d9660bc0f9e501e1d996f7b6f320e4 +DIST github.com%2F!one!of!one%2Fxxhash%2F@v%2Fv1.2.2.zip 17606 BLAKE2B ee5acf57c658d87b97b533d695cb72c9d83e281f9e533271f03d85d52f92c3c90e240f3b6d2a01bebbea6befb147ab66d7f75c403fb8bb3e58a2bc0bb1269f6e SHA512 89912d8630bed5c71dcf391b57e4537b93f01c4f1cf320a8c11d5d34d47fa4e3ea4abbfb3bc3aa76ad3cf08350da67e190cd80322597d0de3123fbaccbcea9e4 +DIST github.com%2Fajstarks%2Fsvgo%2F@v%2Fv0.0.0-20180226025133-644b8db467af.mod 32 BLAKE2B b8647c299d1f9a1c4f8ade152cfcb58f73d4bba4b6803f7fed7e0584607c6da369f9f622e70c1a415af2f5f53cdd1c8de7f29a7843b3ce505821ff1ffacaaec7 SHA512 031c2c2f683d57f81b504c68d24aa328a8f03af7d3ab9021b0acffd541d9a295a80cc7b1c9051d19ba30caad619d3e454ec5b804f14e24e9e39b008ec27dfaf5 +DIST github.com%2Falecthomas%2Ftemplate%2F@v%2Fv0.0.0-20160405071501-a0175ee3bccc.mod 38 BLAKE2B 2e1a897393e3527f0f82e6ab9baf62558d9cf54b56ada5d79aa1b206128de30395d9082bc600c4aa2a17e81095e429cc5874de95047854531cccc9ea0b867de7 SHA512 072ca7ba3d5ca815f58848db201002cc572d95334aeacfe44cb226505ad20d82ce06eb2ee059650912ae499db6291822c583296cb65a66e54adce62d6d850929 +DIST github.com%2Falecthomas%2Ftemplate%2F@v%2Fv0.0.0-20160405071501-a0175ee3bccc.zip 66023 BLAKE2B c023de8e6a5f0b13a7ad1484f21f04643782d802becae77f247709f0c16ab8aff7caf748736561138448efe1cd52c0ac1903b22b92ec56efe817935ccd45ff22 SHA512 356c87eec65f0dc8a680b7a19e888d87fb8c808ec675501df635560fd5d3b57da36ecc2cd9eeb4a5e454c5564d4cf1a062b47b7a050e116b57c87afbe020eb53 +DIST github.com%2Falecthomas%2Funits%2F@v%2Fv0.0.0-20151022065526-2efee857e7cf.mod 35 BLAKE2B 873b4b9c8491117a0b99bcc183ae96fc7e392c68d7271b73b5d7876574a5c7d67580425b35445ff2fff326c5cc7f328326d5d11946699c213cb2b84e8a9a0aad SHA512 7f23b8c5622c02b295646c7baf6f2ea3dd01e11e18ac9c263b853c7f771f5d098d8bcb75971f0cdc33d1c4765b563f3382ec5dc4bf20010065c3f1bc94e93175 +DIST github.com%2Falecthomas%2Funits%2F@v%2Fv0.0.0-20151022065526-2efee857e7cf.zip 5176 BLAKE2B 58fdc8010b4ee8363336ef720c8ef2d126c2b7dd79357ca4f99a1094957965544430420f6ae4155490f75242cd7a7cd20993a9ae15087ccdf33327c551caff59 SHA512 0dd4cbe03b224bfe68d00d121f758796f6e63b96eeee17261bc7d8f6ad1ef9878976b8eae5eadc2f6abee28670a83e6925596f4d35bea529fcd735772fc9a049 +DIST github.com%2Fandreyvit%2Fdiff%2F@v%2Fv0.0.0-20170406064948-c7f18ee00883.mod 33 BLAKE2B 5aced043cac582e67e8d3ddfef0a54dae0f7e4792dba23d7c6cb18fe687be98649a90e9aa46f591385003f945a2ffc192aca18bf1ef0516ac22fe1526d2e3b85 SHA512 8960a9c2dcaa7ab5225d3d10fbba4264032ff9bba80fd8efe2ecda6f9b925dab4db320a4650fba43c0d9c61d31005c6045eec4a650411bb549c60792f31c3b09 +DIST github.com%2Fandreyvit%2Fdiff%2F@v%2Fv0.0.0-20170406064948-c7f18ee00883.zip 4677 BLAKE2B fa0d0bb753cb780d7a9ab7f1df0129ff80832c97836756568dc3f1b0f92ddd8cdbef58ff43b8b0279ee7014f0d97becdb73bc87456183035692c47c53ddcd963 SHA512 4faccef281c2e780b5eeed214b82b9caa84bc8e6185d5a9bfb531e5293f35b46ed6b9d2888de7a41aeac9daeff2456a3db1f41edc45789b7d24b853ef61aeaad +DIST github.com%2Fapache%2Farrow%2Fgo%2Farrow%2F@v%2Fv0.0.0-20191024131854-af6fa24be0db.mod 1060 BLAKE2B 50eb8aa20b011a8dedf13e3a00defda30ee36bb4ed9405e648ea2cdd2a00cc379c8a1c41d3d5794300fb7624e59b2b5aee65d8b93555c736908ec1e7c2ac46c9 SHA512 8bcab95c89a92d8840a37ecedb7a000290e6db5a4354bf1339066d1fc02c16532be5eafd4ae3213df10eac236d08dfcf50a0a6b848f63c0557453a26dc36d3ea +DIST github.com%2Fapache%2Farrow%2Fgo%2Farrow%2F@v%2Fv0.0.0-20191024131854-af6fa24be0db.zip 411649 BLAKE2B a041679c0e8a5039f0ead7334da5a787fec1189e45cde59a20cea3d52426178ee042592dc6b5342a5bf27573697f9f31e32db120c4755c48487c6f33699cefde SHA512 c3c226c1c31872a4ad0993712fddc23c482a6989b0f2ad768dae94b02bb162e5129efcd76f56f6713fa2f40e1b31f11470cb7e96bd22c2e9d2c999ba622d88b7 +DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv0.0.0-20180321164747-3a771d992973.mod 31 BLAKE2B f69b0989e51b0b649f81b044169fe4309f130eba5bcc6ff33aa9666b1b754aa0e524b8c7a627a91000ccc4f93bf93cdee3e97bd3b2184b050878bc3f413f0c72 SHA512 f21fd002853e4435421f8396e6be016f65be1537815c60d23940caf26e3f14dd6f2caac802cb64cd586b1b1f1220b2727de347b3d1816b8e741f68d87ebcf03f +DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv1.0.0.mod 40 BLAKE2B ce42c81a7dcb03d21a99d6240ce12f8455297722513497b1a75f2c848b5fb7ef70b577c2406638442f16beedd68806de890a5c299cf1c008c439df23df2f5bb1 SHA512 ec4424da8e1e3849408da7bfe83d37e21ac75edb889de8ef63be897d59678679b018f4606be78500952e7eee73a6252ee6e477b1a1612e2d036dbf72c17b9c9b +DIST github.com%2Fbeorn7%2Fperks%2F@v%2Fv1.0.0.zip 14678 BLAKE2B 3f95d78aa356a314f8da501f8085a880201766e184abb6c222c45e09c0c3b5e1e1eb7b89cc8ed46b77b09be8860fdf3e28525d9a451964ad64a96c6ee848a41d SHA512 be60a4c8059a9cb07ceb12e079b1224b6f871ecb1d7953906ab303cfe86d00cb979e203299f00fe828b2f6d2a3f5d55814c50809e9b872ab6d96db73f3771498 +DIST github.com%2Fbmizerany%2Fpat%2F@v%2Fv0.0.0-20170815010413-6226ea591a40.mod 32 BLAKE2B 25b2fb5f8529b2f05f214278d44b7bb0470cf5c1b5ab7ab72461fef66ac68f911c4c092b073bf0b0f1688d596847eea2782b4d303d71ab3c2801c1a7b024dfe5 SHA512 f26adb57197a4c172e0e34fc6a4a897e54e2855a5bf67dc43667ddfb57d31e243d4a971044c456dc0d1c54351426d7582688705791c3844938dc76e0d1afc5aa +DIST github.com%2Fbmizerany%2Fpat%2F@v%2Fv0.0.0-20170815010413-6226ea591a40.zip 8934 BLAKE2B 6c2454e24397530cedb83ee12d127e385d85adcc0eca4067116ae9d4c8b3dae7d40be62eae6db023e714dcf898ce365599c70f1fb9b1875e53a0428e79ebf360 SHA512 b367b01589d719771cfbdd0fff97241011b94467ba75c6eed8cb221ae518456fc8623230db8d33845a0c55f4bc346f545f851022064bf517f0a2b9727125ae6f +DIST github.com%2Fboltdb%2Fbolt%2F@v%2Fv1.3.1.mod 30 BLAKE2B bf7d457fdd333781e403b93aac891f5a0a8e202c62983ec6e34ab559ea5624c3e6cc525416fe400c7a0af20a3f647b49eac5717aa749d9ff79b02fe994c36d42 SHA512 7a1ef7d0fc6d5a3a8530b44dd5aa23d4248d952fd573b9f0f6f630b1bc38fa5c9c65ecc4894734c7115a8a0c7c71e8d0e2da0773ed4c5779c23f7f294e1e7d5f +DIST github.com%2Fboltdb%2Fbolt%2F@v%2Fv1.3.1.zip 99852 BLAKE2B 9151e6475685ff3b550d1ae1291778a01793f691a3ddb007d64fa49f02ee85927c834ad709dee5fcba0f071630cd62504a65fd4344d4ea5b9fb713787bf6b725 SHA512 837cbbdb0a91efd765e697e01bc64f0206897d6363b303c96ba53062d674623b19d8c86d96a867529f1dfd6689240e18ae7c25dee268542d46e2877dcbf83848 +DIST github.com%2Fc-bata%2Fgo-prompt%2F@v%2Fv0.2.2.mod 35 BLAKE2B 275030ee2ce09666c11f6b20ba9d787119ced543b4e3f310900f5030544e956af15b407003d01849e807f0c8c256bb709619fdacba8c19b93e4806be5a1ae5d8 SHA512 cd905646c7ab3d19d41de121be3c8630c40ac2c55ca77b73afab555c54d1130f7c41c966ad91b84744fc2d52cbe3f6f7e7d1f2f9db5c8a29e7c799ec007bd4b2 +DIST github.com%2Fc-bata%2Fgo-prompt%2F@v%2Fv0.2.2.zip 52573 BLAKE2B 327ecb7e9b3991bd6584607c4b507d7a6cd01d1b3700c280006f6e775ee10f264420cbd05feb4127357a952fab32211a6d6e76f4696cc81e9ee7e50a582a6fae SHA512 171159867e05fa0cf528a7a008f7ec2b22c8e561e907b9956828699763c241f3e5616684c7cff26daace21e836a7f49e0067400ad0f3dad67f4e9e0ae428b373 +DIST github.com%2Fcensus-instrumentation%2Fopencensus-proto%2F@v%2Fv0.2.1.mod 58 BLAKE2B d724c8e5ab039b227f3c437ba570398b789f53fe80db6f8e57fd2cb2199a5e7acef24d7451f9b27a4da464770660d31fc785c7165deafbc35009718851329fc6 SHA512 23d6171dbcf339c72fe25ab7a7e70cb385dffd654998824fac0f6b6464717873332d39fe1f96101414f5e2d240faaab0b960da2e31c08ef98443aa238bbf02d4 +DIST github.com%2Fcespare%2Fxxhash%2F@v%2Fv1.1.0.mod 146 BLAKE2B 5efa8dad622ae253ffa106eafea277fd947fc0f28e6962e461283ce2267d992b85b1f0eb9074a90009d8ed1d47f9e1f3e03cfc0eb7ad7df104282cfd144cc12a SHA512 32c34a590e6c113a16700ef2faa5124ebb6c8773cd76594312157bd2b70d54cd939ff2c32fac47421b5615e804142cb7b393394d4745d5894f9b68392bc37ad9 +DIST github.com%2Fcespare%2Fxxhash%2F@v%2Fv1.1.0.zip 12221 BLAKE2B ea2f826b4582ec60f51c65783408df0e065d2a752d1cba17aaf277e0c2b48779a3bf3579982dcc26e5566c899c3f933e4c711d2f1e01c98c13e73d46fa08baad SHA512 09432cff34f69e9b0cc6f0d5bb9af376efccb85ab4396c14a4e0c072272f3172a93c240c5ae0aa89eab91799d1bed1a0e7e00ba83682843f46344c9e2fc2d4b6 +DIST github.com%2Fchzyer%2Flogex%2F@v%2Fv1.1.10.mod 31 BLAKE2B 683f04ea11a77fcee27cfc84f41a1974ca6d61ee854dc77f072493358099ec03e94f01b5cd5cbb5ef69c856dc36790b660a3e90d7d520fd553e572f1b01a2304 SHA512 0e40cd7ff22a86cd23b49b509f5b5653f67e31ca67a07ab82743f56e5504f126cb2c11d88da644afbaf024dffa657560a420ec6d82f6b463452ad8a8bdb576d2 +DIST github.com%2Fchzyer%2Freadline%2F@v%2Fv0.0.0-20180603132655-2972be24d48e.mod 34 BLAKE2B b1e2e3052b202324b63ddd8e580c76da40ff0bdf1df2e9e2f3d7b2f5287d75469a544e1a586352130ce636bb08c9d4ca517f0fd49c892bc17365412cb791dcaa SHA512 c0d4f293bac15a26df2433bb909794b75ecbc5cb4ffdb33a8fbf3c8f421597780eb6bb036cfb11a8346ec959ceb8e36efa8ebb84d8ebbd606485735ba171f98d +DIST github.com%2Fchzyer%2Ftest%2F@v%2Fv0.0.0-20180213035817-a1ea475d72b1.mod 30 BLAKE2B 9ec507e8410331513ba11ed5432f95b9141e41125975204c2dcb50b5fbe6f7117430ed9b1b0df44fcb45843f75ca862070f85cb40a5c4f6a8d13c066d2d6741a SHA512 528f23910ca94ddf6f811331dc7ed615b2949b2cb04c630e4e2b0ba4a6dadac1396268c4c3251a77af25db3e94dc8b0a0a66d365a8d3feaa78f31192a40e2556 +DIST github.com%2Fclient9%2Fmisspell%2F@v%2Fv0.3.4.mod 35 BLAKE2B 45d27e6bbd9255a355b6bd14ac839c7d87fabb393693a8b862ad974017af01309e5d36fa99d4925905c1617c0d90b5263b54cd95af2dbab186e293936dc86459 SHA512 ca8192c6321468b4332eb63c765a5798150dce9312873123b48d9ec67ebb4229cffc7b7e8054b8b0a6f45611f08130008031edf33da3468bb9a4ee9455fa02a5 +DIST github.com%2Fdave%2Fjennifer%2F@v%2Fv1.2.0.mod 32 BLAKE2B bac4a6712c426a393e847390ccd97e8ac70a59481520ee26e029880733401b91d138425f233a44513303b14d72210b5a7e54dec2078a7a7adec89f0b49a580ff SHA512 c75dee01e189f9fbc2fad8e7b74890ac91b1119af917341aa4437b0018e6895569d6c614e90864c75516825c8ce2923b34e1e396f67c56f1d71bd126dc1de712 +DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.0.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e +DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.1.mod 34 BLAKE2B 7e09c2779bf7a84a9271e31522ebbe600a1c11b107d651d91f58c8373e4336332a3a881f3e12b382543d75f20398af66085fcb3e780eed341e870e9c30f29267 SHA512 5e079462f7e0dff0efda71f580aa185700cfa936b718a19d0e2a8c63212e47a07022dca0c282832d48e5165aae8e82aeeeb2ac3664268f1148fc772010fb860e +DIST github.com%2Fdavecgh%2Fgo-spew%2F@v%2Fv1.1.1.zip 60320 BLAKE2B 86bdbc333e5c23ccf4f805945ca9f2aecc5c242d2ae824d20127eceaa2bf7bbab239ff2799572a2c8fa206166a36e97d5eccc8fc5021743d8ad32f39cd53b9eb SHA512 7b4e4df2fea731e23e05437f26f24e32b2e99028d685b72e3a726c1cb616ada4a77ca4fb9db4a6fae48178cc5172e724b74499bc776d63a9110cb97377d5edeb +DIST github.com%2Fdgrijalva%2Fjwt-go%2F@v%2Fv3.2.0+incompatible.mod 35 BLAKE2B ae3ae89fc373221646f196cb2112e003afec9206977905007426d522c584b455fa207f105eaa35cc716fae74d605fcc2a88c0ab5b62e4025b7a739749410fbd9 SHA512 4d46c1b3280c5b4984d22e57b0541cc6762853c0f6cea19a7a5f392c23039e29ca616a4bd8f283c2a35c3c045ec54716f5000cb4f0f43f07f0464c12ed1369ec +DIST github.com%2Fdgrijalva%2Fjwt-go%2F@v%2Fv3.2.0+incompatible.zip 57069 BLAKE2B 2c921bf5a88bf293a4c86bbaed6d7c391a323cf3ac39a54ac10fb74da5498e0f565db5e5220a9871ad5c4dedad7eacc0657ad9f8907c2bfccf147384b53b37b9 SHA512 c937c8b98196eb8496735410324a6a845e618d47e4631c500c9def70d8effb27cfb4efb17f81a8d304ce1a9d27fa6fbcfdec11ea10355de3d1918f1ddeef81d2 +DIST github.com%2Fdgryski%2Fgo-bitstream%2F@v%2Fv0.0.0-20180413035011-3522498ce2c8.mod 39 BLAKE2B c435f602cec54957d1ef8546cd47d5f0171055be6cfbb65da80a055e7829ab42ed7f88ec10b04977f6c928794e754b86722cc686f7315e873565e767c34ff976 SHA512 afdd263d04c6c48931f5734013fbe50d810d027664bf5bca128ffb8ec2cb884466f68eda26ce54d899bd517b6c8151ca4e1f09cf767696dbb56ccae1a5cb398a +DIST github.com%2Fdgryski%2Fgo-bitstream%2F@v%2Fv0.0.0-20180413035011-3522498ce2c8.zip 4305 BLAKE2B b65992c485460b90b24eef46810e684e247234fb70a69b7d310e1bbdaa1e317bcadc41d88019a345f01063ca7a5cf3c3d3979074c35f38b5664b60d4a8c23530 SHA512 b54200645a693c933c6f13f1432dc11b38dd26bb33f3a5f45af73f4846c9341f36e47fde8e0da1614fe662e8fedbed59e138e05f898fc42f17d5507d0e876727 +DIST github.com%2Feclipse%2Fpaho.mqtt.golang%2F@v%2Fv1.2.0.mod 43 BLAKE2B 1431139ee59695bdb732385a06f05f26856117d6fde79f5aa3e3bac98bd7f10e6786600c90b414baf7d10c2bde471ceaf265e471b3159a00a13dac8cd4736b57 SHA512 9b87dd132016fb64ec4679aabaca500e4d07b1131affaf5bd1eb2e780b48f2e1364d1cc9e655a6a298d5e2e2b74aa554b228d636e294f01c3ce53f6f53837f0e +DIST github.com%2Feclipse%2Fpaho.mqtt.golang%2F@v%2Fv1.2.0.zip 108829 BLAKE2B efac4fdf409c984caf579ffc34c94419b0d9ff5d559dd02f763cbf7bfe853e167debe82696ce3a16764bccb885987ba68ff85938a5618738ef13d198bd004c33 SHA512 723c089d31c2b5d843c4b27e79a23a80504222da1019b6c6f92bde4a54e3b156d6ff33effe987482921c2d71eacdd4c1140cf87f13f2b5430d30b836fbb80d83 +DIST github.com%2Fenvoyproxy%2Fgo-control-plane%2F@v%2Fv0.9.1-0.20191026205805-5f8ba28d4473.mod 378 BLAKE2B 571b914afee85b0d13a567132dd40a80f60224e20685279cfaa1e5e875897c8e0fc94d7097992881495f4c0c090b27c87f6d95db0161e1064434ca0434ae06dd SHA512 f0135b61ef0638fe384c875786abbf8ed9a93836f6ed29d19a2e9a626cf6d6c6a252146352eb32298b826e93bb61b8c733f8a6aa683e5856ebec37cccc64ce58 +DIST github.com%2Fenvoyproxy%2Fprotoc-gen-validate%2F@v%2Fv0.1.0.mod 49 BLAKE2B d910253a9c976078b790d134a9d75e53cbde427e7733ab9e09c9060b312a5749aa083fc48263501e3339a580cc409b5859dafb820a4465827e7fba4eaca31ecd SHA512 755a3d173d43e70ca40fde2d5ce16c405365da90ff595003ef64598c9b9734b7200fe07a16fd555e4209f83e5e17561d18227c46a5f25a41976ff7ac024cb9aa +DIST github.com%2Ffogleman%2Fgg%2F@v%2Fv1.2.1-0.20190220221249-0403632d5b90.mod 30 BLAKE2B 725b27caadd05c18fc518e46ce4f1a213cd6ed7b4da3edb02cd74b7c7d3dc37891692f195144bbfc455bdc9bc77e683b41122bb3d646796555e92f565cc0133c SHA512 d64a7c87d6a40c48684a61ed0f6a7e75590df7d72d55242863f1bf18af9bb9ef51c40ecf0c41fbc039e06f1651898a238375afb12f41af5978195887a9a16c9c +DIST github.com%2Fglycerine%2Fgo-unsnap-stream%2F@v%2Fv0.0.0-20180323001048-9f0cb55181dd.mod 45 BLAKE2B bac7691d817e47764a81e469868f9b02deae3674d8853e7e9e089000dc2c8c94414c978dde8f7b8da65bb692bde21f569db9de8b94c2944d92b17b9534ef9b55 SHA512 d74f84f6297e89c221091296b305df98c6a28d30385a5a4dccbdb664040f23dd211528e2d859e259e862b0f626f94dcdd20ff58aa8afe26af5b95d9e675507e4 +DIST github.com%2Fglycerine%2Fgo-unsnap-stream%2F@v%2Fv0.0.0-20180323001048-9f0cb55181dd.zip 31508 BLAKE2B f024ee86409797eb356f14f244baf65dc6e6eb892e70901af808bf85b40627312199185111d1d72d24b999b1dbeb3b379780f78336959fbe08556d7f1df75d8a SHA512 7c1ab6d12139b7b0e63c1f236dd9e20136c695003798576b816cbf4ae12b72f26bc56e752b507faa9dbb09a57ee09cba24f0f30e3d2c3eb3e712a9cb46568bf7 +DIST github.com%2Fglycerine%2Fgoconvey%2F@v%2Fv0.0.0-20190410193231-58a59202ab31.mod 37 BLAKE2B a1d5e990a4760ee43e0e3ecfcfed98cadb6870b30fd5bc4015c5d4ad89eed058453f2f48a771eb12f0952e7fca5a817aeb0139f529b6fa7a82a1445e19c066f2 SHA512 f8c65c717d960464e2773cd3f6d73a481d9694ed90627a08eefd42f9fbac72c60a5fa4b0b28942eac6292afe62d244eaed51a6514133a8d0ff41282b3bc71c26 +DIST github.com%2Fglycerine%2Fgoconvey%2F@v%2Fv0.0.0-20190410193231-58a59202ab31.zip 1399172 BLAKE2B 84e7928ecb12572c527696961d0af890b81f3c00366070ad981d153d0eb1d2405c3f3a0f75c94a34b114f664094c4cc14186064fa85276e8cba8d1f00c06529f SHA512 ed7081932a0706021e064a4efb097ae2437e3259b14381782047cd578401d370fba2bade8bfdaa62a903aa297eed88b1efc113da809713d39f2d855d064a1121 +DIST github.com%2Fgo-gl%2Fglfw%2F@v%2Fv0.0.0-20190409004039-e6da0acd62b1.mod 29 BLAKE2B 1cefa73995b3d0b4206aea263f55c672b675dd22d42c61a92f7380b6e726f2d7ea40e0a9e456181f34808f5386eae3c485bd2872857caf1824254fe4a55cb635 SHA512 a709c650da5d5f513e94891b88c26697826fafebc1ca964fb9544415637ca14e3b9f1f4ddcf738e28032e10a2d39b619678ec5c8d44cc0a1dff738c75645e2f8 +DIST github.com%2Fgo-gl%2Fglfw%2Fv3.3%2Fglfw%2F@v%2Fv0.0.0-20191125211704-12ad95a8df72.mod 48 BLAKE2B 7d441b7bef1f34bd7065c63630add910d504ba5a2897d6a0b7cf9c9456337b8e55e1ffd9e12cb3fb8c7f021e51cc045ea41cdf62f2c33555f4b61aeda07c332b SHA512 06dd140361d7cc1af9e37de85402631a5310d34198e20d6ce1521dca15d1fba1dc9e40b512a30b8e850e105e9fbcfe0691b298d092eb92b79da564532dba721e +DIST github.com%2Fgo-kit%2Fkit%2F@v%2Fv0.8.0.mod 29 BLAKE2B e43df3e551bcfb1d4a4843ddf00f1a9432cf768420f49943ee2936fcf3e890e59734b71ecbfcb85a70212122df3f03582335e37ca7330df9e335214e75a849d6 SHA512 2ace9d4bc029947991eb7237e7343fa31c5192d63927de1701434c305a659cb88fdae12e9b604f06ab318f1c26b207821edbe11e8d9382a0447544b782630c6c +DIST github.com%2Fgo-logfmt%2Flogfmt%2F@v%2Fv0.3.0.mod 35 BLAKE2B 0868f712c026b68559846a28bd29f39f584603cd79e1189a9ad76909cce7423a811f71265baf5b7f381a33bee76917759a9cb6ac131ab21450b4b52558cb6190 SHA512 526b97ecd0ccf878c0ada56c5217405c34c59d4c9cb53808f98b24a2823c0b3f1a74e862b9b1a5594034e570aa6749574d5e49212d6d48724e984f528b8c67ea +DIST github.com%2Fgo-logfmt%2Flogfmt%2F@v%2Fv0.4.0.mod 100 BLAKE2B 2558b7edc234429c8bc0926d347231c2352cbfe83d83bc3c7e76ed0ac4b3a843de65cc3e0dede3f0acb7a2dedc623584eff8cb236787c12d7f5a47c9e1c39145 SHA512 5782a5d5e5d4c64244a8463e0f15dfb97de4b60b9fed527ebbd8dc5a26999af8ad0b3ce0064da30182c757785ea9b35f253c5946b233fa3d9a61c873b23011c7 +DIST github.com%2Fgo-sql-driver%2Fmysql%2F@v%2Fv1.4.1.mod 38 BLAKE2B 198f3a6fb7348bf50286e1dbb067e72ff854b1daedf1d181b643872aab377b930029feeb95d5d6ca21109facde089527a06922b9ea52cdd59ef553d69b984e06 SHA512 21ac6d6f8fd92ccbe09cb30d0dd6a37142907048cc5f9d0574824765918dfd8ccef96b7ceab9dd259f9a95f5c5be566ac00ff4eb3e37ba7c7c98f25b3185baef +DIST github.com%2Fgo-sql-driver%2Fmysql%2F@v%2Fv1.4.1.zip 106521 BLAKE2B c7c61852b093d2b0452e9daf9ab26b83ee6426a9afa4f67abb0e0f98ef28961017f774075f5d90fc05d6de3c26fdf90a1916b426b32a41e2cee8fb0452e21f03 SHA512 023209372d47d4b5279789f581a6f4452aaff1e262ecbdb3fbdc48a0939599e319109b99d1c79414716f1c426c143cc1ce506dcd38f304dd5aa3e9348084628e +DIST github.com%2Fgo-stack%2Fstack%2F@v%2Fv1.8.0.mod 33 BLAKE2B 366a1ff397488b2b1c7e42db8a946bced1eb8d4260a6c177a978eb978e14f89265e7ac1d0bcd77905bc89eb35b68b3ebb028c0dfc67ff71395ab14b62335d16c SHA512 f3dc70dfcf086b785750d5b346ea07d0dc7903937bdbba58eace0fb903e656b02ddf3a1d49b486ac29b1cac9ca9d346e964d55d3a4cc5ee5ae79ac40b24d0cd0 +DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.1.1.mod 32 BLAKE2B 939b72a591bc5fbb649c21a95b2c4b3f5d3ade273377f1f89407e55f436e7a863f15d708aabfc5435334500c8cb1e3ba057439c8ec81cfde68c1ec6794c6de6e SHA512 ab6c57ada3b0d1e36c91f3e0f45e573b91a4869f230f02a7e5e3e5a8f7e020bf56c63df1cbdc5b552ef9a4229ab739cf76df7f799091a2efa148ab9e5c12b1c5 +DIST github.com%2Fgogo%2Fprotobuf%2F@v%2Fv1.1.1.zip 2461758 BLAKE2B e02c6e6512de9be1410923a6b3eec36a087f8de00e1d1e715a61e6f26a18352db169b1dbec49e3d563e294d8c65c51ca5b55361dff70d1e9e20976e46209209e SHA512 7f9d1d2671c82a1df5f79a154340dd1fa1e92952feb03a1ddaedb1f6cea371bde8d6f7c774a4351aa87abc2646f97891d0beb4d175fe9d51e2f761d37f2699ec +DIST github.com%2Fgolang%2Ffreetype%2F@v%2Fv0.0.0-20170609003504-e2365dfdc4a0.mod 34 BLAKE2B 55487f18e815e30ee3653a5dcc9370d2cf044641f7cf12c566e165fa173efe9af3ab18fed752dc36ee0fa25ae2e81a5094e18cebaa61d997ae599b9cc3d09bf1 SHA512 a34e950c565fa284163c40712c9f5e53881996c85153f972a78f27a5cdcaebfdbcce60556e173bbef2db32939f1b8721325846b705ef1504a1c5680598343b10 +DIST github.com%2Fgolang%2Fgeo%2F@v%2Fv0.0.0-20190916061304-5b978397cfec.mod 38 BLAKE2B 3dd22c8b8c82e80965988cbaf0b8241af2d32273ae0bffc30f3da0522a327ea65f2f93a0496558551f2799ac7fa4cb8f103d80de25ec8def97ba34578bdbce77 SHA512 d7a817fa0adf48e773c941af6f6207d87204e153ddec86cc4bdc9508411fcec5179b4bcd6bdeaacf5512d50afc5f4ae4f5f25354acbd665698e6110ed4e400fe +DIST github.com%2Fgolang%2Fgeo%2F@v%2Fv0.0.0-20190916061304-5b978397cfec.zip 468305 BLAKE2B 6e31468404432f25552cffa1214cc144df2fca016663b506bb1e79e32d444d64b232220a94615f13b503a03fa89fa318799968b8bd04fde2b7ad52beae4d9b6c SHA512 05aa995076c218e0faf316d9443a1fe1f26eee7373846873ea406cafc52e090eda044abd663a3b26258c71edcb2543d597e51eda83fb2d12e3aa4f7246029abd +DIST github.com%2Fgolang%2Fglog%2F@v%2Fv0.0.0-20160126235308-23def4e6c14b.mod 30 BLAKE2B 6dea6116bb7fb72123a93cc8b83dca5455b76591c7948524ffe664bf966780799c4d007154502922e21f688aef5148211db6b0e3dd3f6b545c4192f5bd5166a8 SHA512 3714d2a95d0435a113c36df5feb13f77a07a1514fdf6b5f01e6e8cc5d159067736e0065bad8062dc636fa5c52c98e3fea6985075005b2838bdf53e0b07093024 +DIST github.com%2Fgolang%2Fglog%2F@v%2Fv0.0.0-20160126235308-23def4e6c14b.zip 22449 BLAKE2B 8d2eaf41ab75e870a445d50b62c02877ae8049e282f066d9aedc0dfb54d04af55d921ebc84d1e4131cc66a3f9efdf8270a0e423e563d3f8fc5a6bdd403bcdb39 SHA512 a3c086e660f2285d9fb7d56d1eba74994e8f0052363413337413cb50009ba46d3a432e2b4c67a73bfb753e7c60646d96bdad308d8e634e53f0bb0bb97ea17bda +DIST github.com%2Fgolang%2Fgroupcache%2F@v%2Fv0.0.0-20190702054246-869f871628b6.mod 36 BLAKE2B 3eee85c76d1ccaca7488ee3039bae6a7a9b4c8253481cdf6d62d1126623312a07264ed0e061bf5d7bde3aafb23e078b2bc86c3718cb2fff6618976c420c7dcae SHA512 5a0f44d45d666885e31206077a515fa02246d56699aa02f7809868029fdf6a718a5df8edac0ec245880f982882c2f4ca1d13a1dc0c7c0f79d7e89c6c46fab523 +DIST github.com%2Fgolang%2Fgroupcache%2F@v%2Fv0.0.0-20191227052852-215e87163ea7.mod 36 BLAKE2B 3eee85c76d1ccaca7488ee3039bae6a7a9b4c8253481cdf6d62d1126623312a07264ed0e061bf5d7bde3aafb23e078b2bc86c3718cb2fff6618976c420c7dcae SHA512 5a0f44d45d666885e31206077a515fa02246d56699aa02f7809868029fdf6a718a5df8edac0ec245880f982882c2f4ca1d13a1dc0c7c0f79d7e89c6c46fab523 +DIST github.com%2Fgolang%2Fgroupcache%2F@v%2Fv0.0.0-20191227052852-215e87163ea7.zip 39683 BLAKE2B cebd7b69e8f18547e77e07d49ca26fabd513b6bf95317553c5bcabac3b513dc1d7becc259118eadbad18ee4d45a1dffc3ec96864b80d87c0dc6885983bdbb3d4 SHA512 e7a8277f9b7d2e35d1e8586c580d03457ac1e755e1051fcda20ff9f819a6fb9c3cd1892be3a50d4cbf141b35d1c7b85b27bdc402eb45b700a37ce994be4e5b5e +DIST github.com%2Fgolang%2Fmock%2F@v%2Fv1.1.1.mod 30 BLAKE2B 5c355e64d858c99536e459f9fc4428dc00435bea944b67bf3dda5b61edb5f0c193c5857eb10bed926987cef865836c3f7ae3d8f081a58551ccd0772e4eb565b1 SHA512 ae6a1a6f8d31592ea6141f2ea39c9b60cd28e73ffae74bcf370fa739865b95a7ed56f687975f017b42c59e3b0f1c02884fbd5c93140bce268771380c8c7a7a96 +DIST github.com%2Fgolang%2Fmock%2F@v%2Fv1.2.0.mod 30 BLAKE2B 5c355e64d858c99536e459f9fc4428dc00435bea944b67bf3dda5b61edb5f0c193c5857eb10bed926987cef865836c3f7ae3d8f081a58551ccd0772e4eb565b1 SHA512 ae6a1a6f8d31592ea6141f2ea39c9b60cd28e73ffae74bcf370fa739865b95a7ed56f687975f017b42c59e3b0f1c02884fbd5c93140bce268771380c8c7a7a96 +DIST github.com%2Fgolang%2Fmock%2F@v%2Fv1.3.1.mod 93 BLAKE2B aa4bc48d8914434d540f570e6017b3572dc4b75563174e73ecce9f86460669a264389e1e24ce26cbe056a26865b3cee294457315034b6ae9779001b7306d91a3 SHA512 5dff0170dc085e1be63ce69886cb019b9df09a5678128b3b0a1b174756500f7d4bd62dc25ee7546977e298f719746ce951119908ff59463a79a1aec7a8882e32 +DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.2.0.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6 +DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.1.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6 +DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.2.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6 +DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.3.2.zip 465217 BLAKE2B 4caaf832a22faf1c45e04bebf35d29b38bfab18a490ad1fd7b2c6cd85ae678fd3991505f68e526f9f2205cf919374b07d57f8abe95d8f74dc8263cd37a9db3dd SHA512 7fe69c066b2407e6000ae21888f6cc696e51df2342a71e196aba1a9a9ecce630bd9a4d41c58b3105002508a4d0efb9c5ae2b8a87f848b8e2c6293558b8c4b4ad +DIST github.com%2Fgolang%2Fsnappy%2F@v%2Fv0.0.0-20180518054509-2e65f85255db.mod 32 BLAKE2B 8b498b103962181cf69cf5de686eee1a7f0e481ccd35430e33999c951b91ebb98e9dcb1dc9c4e40cb379fe4abae40a47eb36d9456fea076e44245022552d055a SHA512 c9faa5760addf2869df9a3ec5ed9da02944823afc5be93b8b6193c43261d167cff2aeb65bb844d959d368ada83932c86056aefbff799be326e889d3de4c2b8f5 +DIST github.com%2Fgolang%2Fsnappy%2F@v%2Fv0.0.0-20180518054509-2e65f85255db.zip 70555 BLAKE2B d83b37593eea44bbd11100af9c0c41bc2b55e14d06ef1fae1dce5242bf8cea1574c97a7148e7878385fd4bafbb433aa26fb4fcaa47e766353b2b6c179ddda124 SHA512 3ecebc76ab8e8f3cb65a95065639f3e90b5d722ba1aa564b42104e83ea4bd67af65e52c73a33b9b327b9934553f2c5b7324be8229f2c2e95c495065360a37c54 +DIST github.com%2Fgoogle%2Fbtree%2F@v%2Fv0.0.0-20180813153112-4030bb1f1f0c.mod 31 BLAKE2B 910f367210db741c9f31a77f8eaaea348d3accbf0f219efbed95a780b93e2416fe64dd420ae45ff13da94a8f2a0c7b19850b13e1d9fc6cc1249d327bf04b5fd9 SHA512 f2ff873ecf0144b7f434810af1b49f66f09b4bcadc91d99201465a6ce36c7e7f05996f52800be287dcb3b62e14b75fcebb7c32be0eeda6bb0a15a23058c2d410 +DIST github.com%2Fgoogle%2Fbtree%2F@v%2Fv1.0.0.mod 31 BLAKE2B 910f367210db741c9f31a77f8eaaea348d3accbf0f219efbed95a780b93e2416fe64dd420ae45ff13da94a8f2a0c7b19850b13e1d9fc6cc1249d327bf04b5fd9 SHA512 f2ff873ecf0144b7f434810af1b49f66f09b4bcadc91d99201465a6ce36c7e7f05996f52800be287dcb3b62e14b75fcebb7c32be0eeda6bb0a15a23058c2d410 +DIST github.com%2Fgoogle%2Fbtree%2F@v%2Fv1.0.0.zip 17644 BLAKE2B 2ab156c678ef5120adab042c415b287bfa6ebf901181837122bbf83867ff312900a16a24c0f375708f915628ae5bac93b42f659663cf827b81e5e6c4c6e47769 SHA512 b54c7f94aef24c769a0478aea5dedbf67309dc3f59a5d7cf52ea8b49e81783d87bf80e5bcfa36f1f95a65e64bdd8312d20ebf81cd73952af5481b2f1f3619eb9 +DIST github.com%2Fgoogle%2Fflatbuffers%2F@v%2Fv1.11.0.mod 37 BLAKE2B 9355e4909ed1e7ea43b9882cdfffdc9c986b9a8febd22659143b53f05b4c7a9b152e01848cacaef750ce4fd7660dbb62ea3e0fec4bc2abb47dfeb566248df33d SHA512 9d10e0f8380c49034398df4cf8c9500a0e1091001f08b9574da6933b861210dc4d518c7e353570618c4d4c432c0162e8fab4b4acd64a2d5360efe456fed4881c +DIST github.com%2Fgoogle%2Fflatbuffers%2F@v%2Fv1.11.0.zip 1180341 BLAKE2B 390754756d725b5b898089e5375fb03452a168eaecbe5a6d7d596a781146d88ccdb822ee5daea0cee7f3c63040702d602d30a99a70def0880c9bbf60d337da94 SHA512 78d6138fd0a575d70d3813fa0dca70dd8ae3de591ea41d795462a82dcdbe73370fbf17717571e396bdeb1b67d61b0b8a34872b0e7110cfc9fd0fd3e3c6b985db +DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.2.0.mod 32 BLAKE2B 7c7baa1e29b9806fb97e0d557200e8722f2d373e149127307efa285cdfedb36dd57355168554d1a1bada62144e6a6a00c4d3246aa9afc7d0ffae0f087459c552 SHA512 7229d917bb0c788b07297e1b09b8f7952f951998a56f17ea1f69ff7c2f565a5686b212f42f45c6b8351905d6740a2ec5a235e493daa531ae00cb709faf67ae45 +DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.3.0.mod 40 BLAKE2B c717b6aaf18662c20120746a021b0ca878e7b190b3456cab24ec98032390a85b0af8540295e470647d403bf1beb582c8f8a74fa7129c4cbf747257206235c5a5 SHA512 351dc24af135b9c9d714aadce40fe9fa1ec05a35a4df90af79926d5119c3f33a6510ab9d78243748d7dad10bd2178f47d342ea2389972b88d5e9b4be6dee7daa +DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.3.0.zip 99332 BLAKE2B d95e04036796b0687ccfe18e2cae196efa87fbfe7a763a219860a82117f5a7ac594af005d67698289a9fa0f19b9c397f850ebcc8f6b2e2390fcc6463e95dd47a SHA512 6922e27a1a67c4e858880ca338f68ed80bc01175801b2194a900ba265c00eb482c29e785c564e9afb8f60288593b315ae8af6c8f366d35475678003440115d26 +DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.3.1.mod 40 BLAKE2B c717b6aaf18662c20120746a021b0ca878e7b190b3456cab24ec98032390a85b0af8540295e470647d403bf1beb582c8f8a74fa7129c4cbf747257206235c5a5 SHA512 351dc24af135b9c9d714aadce40fe9fa1ec05a35a4df90af79926d5119c3f33a6510ab9d78243748d7dad10bd2178f47d342ea2389972b88d5e9b4be6dee7daa +DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.4.0.mod 105 BLAKE2B ffd22df03c1b351fb766a97818d46cc6aebeef365632d5263c90cf45a4acffdf5811da10ea2cd4747bc9691f74661c0b655961a065ed15a0194eeb4d1d12ca9b SHA512 cb203760fc6ca9c9d64811cf1342752faa5a95f27934c298407dc865f9561081210dd1b82b15ee2f5337b70d4c55d102d8884b5b9a5f70d9cbf85227a32b9713 +DIST github.com%2Fgoogle%2Fgo-cmp%2F@v%2Fv0.4.0.zip 105396 BLAKE2B 8b45b030824cf6ad208a00e36c7098b59e89c2725702926092baa11e82bd395d52b5daf26af57cd5edb01bee6ac2b8c4e3379e357e3a6cef69550d9403090c53 SHA512 bd13e72e46a82b149661a61dfc36dc6e0471dd4161f2291f301e871811e5b2a7976a49cf2af10eee1b7b2f6ad68583c240cba007ec163cea157f24bbe51d3b3a +DIST github.com%2Fgoogle%2Fmartian%2F@v%2Fv2.1.0+incompatible.mod 33 BLAKE2B 694b57887cca857fe6950b0df444dc6e3d757dde540c1846ddcd4bb8f96a5eef3f469eaec30cf415541ff2f53acaafffbf4032189122875603d7e5e3dad2ef97 SHA512 cffb5dc1c6531ae9d5998b3a57ba14de5dd8631a36dd48975da07ce5ec052d97b6f632c5d30ab9ab695f178758837aae8a6344c67d57c7a39ca8e9243f8211df +DIST github.com%2Fgoogle%2Fmartian%2F@v%2Fv2.1.0+incompatible.zip 259222 BLAKE2B a40b65755786c83fc0cc40de98de0c7f734b54c0441617f0274890f823175b4e44e721d4ca3c46a7551bddb5487c7d992459c928ff4abc435acb5bba5a302a96 SHA512 26ffdf319d3c952533c25c487e027bf219be3f7ec7345f9d155a480e1e5f3006fe335ba790cbfed00487e23a8506a8208ed7223a514da11b7a4bb069337573ef +DIST github.com%2Fgoogle%2Fpprof%2F@v%2Fv0.0.0-20181206194817-3ea8567a2e57.mod 31 BLAKE2B 705b12f16ca8f0258457d0972bc8845b553e9e8d9001de0f4a4a548afe23424b0902fee4c84e94bcbc4615401d1369730a60bc57de85aa674300c1a96ad1f128 SHA512 c7e8b1bdd0360b88ccdcfd0cfe73e5cce50010a21db41ec2d533f7863b67930fbb84f430b9ffb663c394256628b05e884b812c040354779e0fdac2a422ac57e9 +DIST github.com%2Fgoogle%2Fpprof%2F@v%2Fv0.0.0-20190515194954-54271f7e092f.mod 31 BLAKE2B 705b12f16ca8f0258457d0972bc8845b553e9e8d9001de0f4a4a548afe23424b0902fee4c84e94bcbc4615401d1369730a60bc57de85aa674300c1a96ad1f128 SHA512 c7e8b1bdd0360b88ccdcfd0cfe73e5cce50010a21db41ec2d533f7863b67930fbb84f430b9ffb663c394256628b05e884b812c040354779e0fdac2a422ac57e9 +DIST github.com%2Fgoogle%2Fpprof%2F@v%2Fv0.0.0-20191218002539-d4f498aebedc.mod 368 BLAKE2B 5cc8fedbc9bb93a20e0ae5cb9a69dd5a92ee4a7f55c6b5a93e7925b402b830316038cf99d0c80bec2cf5c8ae1593cb879dd8ad29dbb10b66c64fca856367f816 SHA512 9b278d6667d9380f84c972ee1d383e2b54b460ded5b84e872aa3d64336ab059a8a747c442f4227d60e7dbfb67414ffc98a26bc2507327d9ac85ed1c493a5fc02 +DIST github.com%2Fgoogle%2Frenameio%2F@v%2Fv0.1.0.mod 34 BLAKE2B 1eabef50b2977886d7980d7da197828b826c54018766418b3160f5cd512784635e5791a40cc4fb806d52f5ead99f941fae8037872d6cedfd6c851103f3be1a74 SHA512 a46cae976ce90d1cef802eeaa873c059cc9ec3678d5c3c304a9de45f44f20a24d68fa290cfdcf78c4ac222a6d619a005825de8f11e72b9a5af476a0b0180092b +DIST github.com%2Fgoogleapis%2Fgax-go%2Fv2%2F@v%2Fv2.0.4.mod 88 BLAKE2B 840afaa28e8d5b816289e6556e114311f039b477e5ac86fc1c2ac80b1f8d7729ab6a83b99baa4c03de9634240481feb13900fd4049753b8de839656d6a7cef8f SHA512 31e50016a01fd485775368e2e430959278cb6c03ae6b1871b3d0c173fd43e91654ae87d1758c08daf897e55be8b4044bcb47fc072ec645d16e2594f345b46c73 +DIST github.com%2Fgoogleapis%2Fgax-go%2Fv2%2F@v%2Fv2.0.5.mod 79 BLAKE2B 21f442637ef0be838858e192b563e158bf6ed1f7e06e09a3872fbcd613046b095c5209d9ccd9cc0853ef14947b6b70d4483675505d0905a1d2aab15e7bfdf80a SHA512 2af320b0514b032ee87a92d99d673579981571f325d0d46133e212a639eca274d5a6f8164a7256cfa6c063967b98ace36e637f53d90331903fd6e4a21f1a5a19 +DIST github.com%2Fgoogleapis%2Fgax-go%2Fv2%2F@v%2Fv2.0.5.zip 16077 BLAKE2B f05e4ad34d0ca2cf07ed10f5b4510f277fb4fe621523c213016171a42be56edc1b33185a93226b0d04ae6f629358603030083c7b5ba03a36fadf8349b0ebaa9f SHA512 240fccffe9eef7f5900b7e3add1fc95b45efbca63d6c09086ed4a0d4c50d470fddeb01672da067222c107b794c204f8da63c366782c52e7b7de6514c310bcb7d +DIST github.com%2Fgopherjs%2Fgopherjs%2F@v%2Fv0.0.0-20181017120253-0766667cb4d1.mod 36 BLAKE2B d7cd8f31950392cb5de7f4223ff9fe3257568dd0a1c1b81c8b97934ba92379753dc936c81c39e5b553e4101bc7c035ce81c8d669d85ed1d1eee41a74218f3d88 SHA512 35151946ce44fde9d3bde1d0626749ac4bc68cc448736c3b0f056f40a9ae30aef591db614b271df3eba3a96dbc94052ea5bf7ff68749ec980088d60361934771 +DIST github.com%2Fgopherjs%2Fgopherjs%2F@v%2Fv0.0.0-20181017120253-0766667cb4d1.zip 257755 BLAKE2B 13d505a73dd179828fd3dbcbc1dfb90f6bdf8a888bb7ab160713a566472adf63d45491fa29928853d76725c2ffa5ada33e802cf857376c83cd8085a31acb48b5 SHA512 5bb0e61c8622e09cecc099c80cd97cdefbc497d4ad0e88984b2936e7731991e972883eb639be1cc3f56249a97b4f14c6820cda6b1c08e4a2323aaca22b840dea +DIST github.com%2Fhashicorp%2Fgolang-lru%2F@v%2Fv0.5.0.mod 39 BLAKE2B 13f90f934356dd1daefd27a94bb7a8c31f09835ea69f3fc83d343004858c6728bdd6bfaaa919331f7ee04744d18ac37f46a13be9feaa20e24e88ee364991a9b0 SHA512 bc3e0c3b16454e0f079bef539857c22f09ebf11e78ac1744a22f5af87d7297979b7ccdd48e4f59605cac562c268c3cacdbf2745f65be5c934f73f216707120e1 +DIST github.com%2Fhashicorp%2Fgolang-lru%2F@v%2Fv0.5.1.mod 39 BLAKE2B 13f90f934356dd1daefd27a94bb7a8c31f09835ea69f3fc83d343004858c6728bdd6bfaaa919331f7ee04744d18ac37f46a13be9feaa20e24e88ee364991a9b0 SHA512 bc3e0c3b16454e0f079bef539857c22f09ebf11e78ac1744a22f5af87d7297979b7ccdd48e4f59605cac562c268c3cacdbf2745f65be5c934f73f216707120e1 +DIST github.com%2Fianlancetaylor%2Fdemangle%2F@v%2Fv0.0.0-20181102032728-5e5cf60278f6.mod 42 BLAKE2B a20b1ee1675ded231069e976e9e3812b116d80b207914ecd1266ce87160bd6fd3c0bdfd7f7afa4a2a4d7891a01cd7e4a7b7bcafa90ae31c5875f6b0eca00268b SHA512 ff238b036db5df69dc734f4a0db4d1fd1a94a04131d64ea20c5268078a645327527f185da4aab38b2aca60da8c6a5f8f118b660f5b0773cc76d7d108a47297c9 +DIST github.com%2Finconshreveable%2Fmousetrap%2F@v%2Fv1.0.0.mod 44 BLAKE2B 764581d416faa477a91695a42c68cef5638d019a1622fb3bcee976c1581e904995d33c79ffed1d3b805f660931ece844b3e17437f158f8b82ddae82e95f0358f SHA512 0c77200112d96f9cddf8cf7da0059204914b06a8c400e2e672443bd02a45d9ebb3274275c20e6e7ee0728992e77579d945b36de44ccbaab2ee92fd55f382f7ac +DIST github.com%2Finconshreveable%2Fmousetrap%2F@v%2Fv1.0.0.zip 3712 BLAKE2B f4f79741bb83862583f51f2ac5e80181eb0e9c2a4578df32f7e24eb98f4f548b99333e0e6a377e03ef701057b01e852e6b710ab885b65170c861bef556863da4 SHA512 e16bd414c1df566a12944e4a99ebd84d2103f0cb3bf8ec312e3de400f20b3eae27845db50672801c10474dbf1dc61d0c2e16e5dcd3c4447681c0b77f9114a411 +DIST github.com%2Finfluxdata%2Fflux%2F@v%2Fv0.65.0.mod 2193 BLAKE2B 5915c62df75a52c3605aa6411cc7c69f1658345bd8b75a8e381f188c6da251aa6a0fc55f3044137e39c5980938e387ae48b151e0a3fe862a259ba3ad9a698326 SHA512 14986b3e68f459c9978e6912df35ab1f95eaa16e1554ff7c69b5e63a8dea1b012593bd4c1937abc1361e295ce2abe22be4f3cc1c6a1087c5199d8324999b35fc +DIST github.com%2Finfluxdata%2Fflux%2F@v%2Fv0.65.0.zip 4038797 BLAKE2B cd8b4c94eab6afa533893f40c1ccad089245d8980e97edd252ce703c19ef9560f5b50f3dd72dec94773150d81abefebb778be0785c3a4a93e7af783f488cf153 SHA512 5629f4165ad6f3252d8c9ede02aa321bf1e3fb2ae261e3fb364cde6054a1b90a592463c9c520a882dc76fa548a1b63356120eb6be372b9ae996826c2d3f8bd75 +DIST github.com%2Finfluxdata%2Finfluxql%2F@v%2Fv1.1.0.mod 38 BLAKE2B 0d8182450446ad0554f17ee1787f1068d4bffde6e80c2b3120d2422ea6066014e9b4e999d884302e48b794edadfe8fe88a70428658d6fd2a90c11183335455e5 SHA512 49d2580a785d3592fbc65e22870eff7bc5624516f955ca362ba8a45f1cb63df1b24e9302b9c041c5470ce110a0487313ab969238598a0afc10b4f0a76a03f9ab +DIST github.com%2Finfluxdata%2Finfluxql%2F@v%2Fv1.1.0.zip 102778 BLAKE2B 2be8899b9fd535b74d8da732942bcf1de0989f8c5647bb6d31c25b4683b70c1829203e6400545089591f67297fde784398df796c838430f729b2cbfe594358a5 SHA512 f8a730981f8fa827d32def5a0eeec481af1404f676a0171c6d040af28775229edf7376db3ec86eb736fafc09d762f32f0a852cd6ea89e986f3b4f1b56ebbdb3c +DIST github.com%2Finfluxdata%2Fline-protocol%2F@v%2Fv0.0.0-20180522152040-32c6aa80de5e.mod 43 BLAKE2B fddec34812812262b5b2e9499391dbad71c00fb2546658d031306189207c366ba5f9863735c4a52c09b838f2b052feda55bc8f9e424447905725079f7877ef49 SHA512 f40bb2ea09705727ab3be3b8598b471e32dbcf5a67e64580faae7ac80f8b8504964a30b8d84cdedafcb47577bbe021e73127a2053ce04340c27c00726572edd8 +DIST github.com%2Finfluxdata%2Fline-protocol%2F@v%2Fv0.0.0-20180522152040-32c6aa80de5e.zip 7883 BLAKE2B a7d9cec7fc98b9a145f5f44a5697f1a46fd205a3917d97a6336fbee898325b325d637a56f65e0426fe74ec49f93acf6c89b07bbbfe8bd667a5ae48cf37ae7dc8 SHA512 b63f273f0d16f304e3cca2d7e739b91df0ee7f1fa53f409d2daffce3975232b904614d5b6ea7d1595c3fc1a5e9bd76cbbc2254f98e3743f4e7bc510e87711cce +DIST github.com%2Finfluxdata%2Fpromql%2Fv2%2F@v%2Fv2.12.0.mod 198 BLAKE2B e0abd56792debdf075818269c29a5928ea182b7e10792a2bce20f217db64b3922608067c6eb4a87a88c981c44478ea9e2ee3831905c724b103f98170718db37a SHA512 3cc83aabd3742a8dd775077f4c71055ba6a7949a7730af7da6df9e92bfdd7688c02b8c6f0df3f51b22f84a6defeb79040a6f1e9b78becb680358fdefd3e7528a +DIST github.com%2Finfluxdata%2Froaring%2F@v%2Fv0.4.13-0.20180809181101-fc520f41fab6.mod 37 BLAKE2B ccb5fc7cf2c1564b9f5f0c9559d1aa34913d6c6d38b256d88fecd346b0a12532302585d13ffd00ace8e55d100fbd4cc468ff6e4163b45e352340ee5ae75c3580 SHA512 d56f2a532b077f1321c2e462db1a6091c5b272948b3cd2a272369a30539cb284a35bdc8a3bce39ce86808c81275d31e79cc9b0e61e42c0a2238f499c247755f7 +DIST github.com%2Finfluxdata%2Froaring%2F@v%2Fv0.4.13-0.20180809181101-fc520f41fab6.zip 161756 BLAKE2B 194dbb9dab8d0533ae5415855329efc4fb0980a6c631fcbc6d3af36406b7d6ab9b2ef6ab18e89206e35fdbf1dbdd7c87063c8b76bc683fceaf418f93224b4ce2 SHA512 fc65b2d9aa90dadaf1682624df6c623743e61225cca20052a2e1b934fc9cff0c4758067e0d3bfa0e8c50a8eca067bbac059d07d016a8023b957ff6afdc92291e +DIST github.com%2Finfluxdata%2Ftdigest%2F@v%2Fv0.0.0-20181121200506-bf2b5ad3c0a9.mod 259 BLAKE2B 4d4f1556bda08820db792730d893a735a856c824073e1b66f8b9a06e2512187038e4ae5f465d1f9b1e4e074c69722d5003917cf40dd6a0f61e0a32697a99c2fc SHA512 76e847d693e7e785e04ffeef5b48db94ff1a8a317a4037710522b596adf01e30c4b4a38e5e4b8040db55a5b1b3a68911fcb8b1e646473863c6644adfe5cf9759 +DIST github.com%2Finfluxdata%2Ftdigest%2F@v%2Fv0.0.0-20181121200506-bf2b5ad3c0a9.zip 21991 BLAKE2B 4515169854c8edd0e35eaaecd7a072eacd1a49ea0f83326e9c9977fe1cd300db4d92a3fd298f415e1817846a42183257947a66ef1b73dcf64fe2a2067c73d938 SHA512 45168ef62dcb9f294e34efcf820d93bcb2dd9e3c8bad23fdb9a4a1eec7a2fff90de7f52402fd53a7a62b9ec558e1137d4a3d2b40702a6b10078ad05b182b5b5d +DIST github.com%2Finfluxdata%2Fusage-client%2F@v%2Fv0.0.0-20160829180054-6d3895376368.mod 42 BLAKE2B a4aee4aad699064a4fe353531afb259439d8b83aea1ef68037faeabffaa4eb5e74b8d8dc85a34e67c068e166510695da32711906ff7a4a99cd3bfe572d4d83ad SHA512 58805194d2ba4f084b920a808d036aeaf794ef9df76e5a251bdd0ec073b02dedcf1a9c78bb9022fc4b1cd3c1b89215464de81ae8ae6415baa0aedde273867d01 +DIST github.com%2Finfluxdata%2Fusage-client%2F@v%2Fv0.0.0-20160829180054-6d3895376368.zip 12856 BLAKE2B 97c0757823b24070a5d0252e884d89cb2be7f4d5f9e5bd58343c40e0663afdb5698f53aa4c86e1ef099be3c4c31f9d191c40dc2bd4c296b4817c0a8de6775240 SHA512 d5e985a444279c9f77bed9cbb1f72022f98847ff10a69c785a2ddd42d7eebe0d12b653645fd2273855a01168e32841f0fad154e624a3758c59748d1251855902 +DIST github.com%2Fjson-iterator%2Fgo%2F@v%2Fv1.1.6.mod 35 BLAKE2B aa26eb3b67893fa913ea0f88bf22ac283c6cbac246683f41ede681940cb2e4437d033811fc12f2b47f9d94337dca9cdc926fbb5f044b2caed19c8e46a5879432 SHA512 e8bb59637bc1154ed648179314c4e20fa7f549353d094f4861e2fdfaeb70da1c1711c1159e78d82914a35b8ce184641937efd8808ffb1384136c7a6f3fbeb78c +DIST github.com%2Fjstemmer%2Fgo-junit-report%2F@v%2Fv0.0.0-20190106144839-af01ea7f8024.mod 43 BLAKE2B 02346f7c8a28f8d40ef233bc1fc6f3cee54a54bfd79b374ab7f3435039a5d9f7da5d7fb7824c618d25034cde1d355b503bddd76b804d610828a080ccb2707dc2 SHA512 801663d67d1aead6b01df89e329c8ca969a1f860b5ee2c2018094791060bf6e8cddac8e2d788ac823e32278d4e9ad1dbd72935e4da2cf6e65a34dc97f195ce7c +DIST github.com%2Fjstemmer%2Fgo-junit-report%2F@v%2Fv0.9.1.mod 51 BLAKE2B 4cf5f813ed021b04c810da33b332dbf44f45594e3657779687cd24391d2a93770f2a0e8999fa5a8b6564da5e08ed9fea1e52394907d518ea14a9568adf263e67 SHA512 c5761bc45d554ee6639c4ca23fefa5fc5c8a7c818f8f18d0b43aaab26c8114615543a1be207f5aedaef53c2dda623edeb7d3ae1c5ce6b72ea42605a1d5c31667 +DIST github.com%2Fjstemmer%2Fgo-junit-report%2F@v%2Fv0.9.1.zip 42083 BLAKE2B 5f9cc715c99fa4058551abcdabb96e2294cd50c79f49e8acd42b0e37cc990599a1eab827121b259b47d7af6fc62f1b75791c4916feafe6be08e2df3932e49fba SHA512 9f5d126347316b497910b30fa2905e6b6c119fa975adc6bd4f17f5a346cbe110c10f33a7df6ecc63e086c082f61ce493e4ca5efefbf2eb8d024f2a07cd80e093 +DIST github.com%2Fjsternberg%2Fzap-logfmt%2F@v%2Fv1.0.0.mod 40 BLAKE2B b72c62e0cbfca034aaa00d7c23e4ae2e2d1cec4c259f9d1ab96c65b7e3336e050087815a7c8d47c87f5c04983d77f7e10d8dcfa22c74aacde1bbaa8830880f90 SHA512 bab26ae4f895940fbb77346904916a7b8098f580ada97021dae11d9d6a4ab14168f57c3ebb25364bd35baf64955f115b9e431c4f68ddfaa96bb478fe9b59a5d8 +DIST github.com%2Fjsternberg%2Fzap-logfmt%2F@v%2Fv1.0.0.zip 6406 BLAKE2B e0b19304ceb0435a6470b25e1d9cf1f70ad7ea490fd2f458e6acb03cb63ff590e7485141bd215e0570a7e0437373e6a08ef81a816bb9c2950d133d4865616622 SHA512 b8b9be4793d6b97fb516ba8e7e620cb16a3cce46306604d776bf897c572d90399478d8b3d2ea8ab0f760a4aa6c0e426f38a88a4206d697f2709a5837a98f56c1 +DIST github.com%2Fjtolds%2Fgls%2F@v%2Fv4.20.0+incompatible.mod 29 BLAKE2B 8efd6f84dfcb696fa2ebf7b09c7405d57457dc67e03a2cc753cddd93698b1b03d84022f241c4b652dd80e0521b2b1ede8127fa15dd47d1f678a7fe1c31fafedc SHA512 3a397e0ee84d8d426eb5a1f39c07d608e0ed53b1d4b2fdbd137d23bf9f401840802d18d5203bc468fac76402c508bfebf49bb20869d8a715e44c49e21fd3da4f +DIST github.com%2Fjtolds%2Fgls%2F@v%2Fv4.20.0+incompatible.zip 9901 BLAKE2B 0c8cf7ad0809f65d91b9ad5b27759cfedc5efc25194f19effd4b19c35c940461a48a57636ef3c707b27ac614b693ea05830bdef6943f11993bf561ef558cb99d SHA512 08b7201a9aa3294a3fc59bec78fee09f0d1bc7507b50b1d1cb1fa29a523c6870d00b633ea9679c9c86df9841739f46e9d5d9bbf0e3ec15b8ad08e57db67eedc0 +DIST github.com%2Fjulienschmidt%2Fhttprouter%2F@v%2Fv1.2.0.mod 43 BLAKE2B 2b7883d00bddf90261a91670917e335bf5c59101032ed3ef5ab6752eb4da25e8417071b1d0021441fd887158b519f4fca4b028b6ea52fe3ae9a41b84441c8c06 SHA512 60340233f2a0205ee4b1a7b2d78ed52d88fe5d39887413d0e62d6ed006c51eda83ac117454b0c1a31ab29c5aceae13810ec719dadc554d10480219c1afc3e5bc +DIST github.com%2Fjung-kurt%2Fgofpdf%2F@v%2Fv1.0.3-0.20190309125859-24315acbbda5.mod 35 BLAKE2B c1b6f3da9b37c5e0888f6ae304f7885901fb5f90bd94de7c980b7089d2477ea25f0fecf30b502f55fdb6a8dd7ba49683f33b89d761de0acd0e9ccbeff53a183b SHA512 824e0e8c8fe3985feb5f25c43725d4ff70f577373406b08767795e691f0bb10594dcbba4149e000bcebaf231bca5f72649c0d078b86cd4df38d0805e1939d63c +DIST github.com%2Fjwilder%2Fencoding%2F@v%2Fv0.0.0-20170811194829-b4e1701a28ef.mod 35 BLAKE2B f0ddeabc9200613978b0b4b128326d7af4b21dc542e54e12aee41b36443d0a896dde046adb0c00c7e8adefa91cd296330bf24fc8d2cb322bf2225348ce60a36d SHA512 a06f88a90f2bd8618dd8a2236f1b54d85cbc8a3efbed21d4a3246398eb74f1baf3da40fde8d452441fc45a2fe78abe82d330f28d1a39a9224d0b5c606acfce8b +DIST github.com%2Fjwilder%2Fencoding%2F@v%2Fv0.0.0-20170811194829-b4e1701a28ef.zip 12545 BLAKE2B ef89493f316637d3cff93ffbe4201510c50f4911b73e5a22e50360308dd8e8febfd177cadcc0069f5f3a71804b953d4490160f2922002af3924619d04bbfba0a SHA512 61fe66d38ab2144fb1c2a628499bc0047a0c1e3d103db399236551a2d1ca44bef4873d23cd6bd1c8a6ebdd0ef5b56e0bdb97e74227cc48158178b8339d55524a +DIST github.com%2Fkisielk%2Fgotool%2F@v%2Fv1.0.0.mod 35 BLAKE2B 2f43dcbab430f12316fde243db4bafe24372c74d60874b05917269e249a36660309c23da151db31d89c0d0a8fd0f179e2dd7f386af3ca533c95ef74017609af9 SHA512 86aca37f7f94ada381e0528a535b344c8fdbab9e0dcc7b71d716083501ad3d61db701ee159ccfb5455a351fc18a405301abe798037dd1200f9950bdd805d3dc9 +DIST github.com%2Fklauspost%2Fcompress%2F@v%2Fv1.4.0.mod 37 BLAKE2B aee0c04f2b8e92b2b4fb2aed9691b2e55f27eae078ca0d7161866b1f815b14e6b7de03c80c567e6f1407cf9e48606bb097eaa0a26c5b7d46db4a0d18852fd233 SHA512 18830e82c89186889b494ac46cc8c4fb398f3aff5416eb1cec3e3b09af281ebd50bb0e8ac7751f6cd89bb1bab3738a354183ba12eb3ea42aa7dab36177b613ec +DIST github.com%2Fklauspost%2Fcompress%2F@v%2Fv1.4.0.zip 3668965 BLAKE2B b0f7d296a95a332f56ae9a35d5f2b7b1ac593bdf8a6bc18b05e74e0b6e91d03f4002b1d5554ccd5fd628e1310018a57c68c923d111847457dbc9adebd74a989d SHA512 cb90a61838b1ed9799b581d080bac14ff92422dfa5007e0b4230b7c91c5cc255d12a47fad7f08ec6477ecb16b6fc4afdb2074c9d702e924b54c494bb2dc43b3f +DIST github.com%2Fklauspost%2Fcpuid%2F@v%2Fv0.0.0-20170728055534-ae7887de9fa5.mod 34 BLAKE2B 1fea82f0ae24add73e084ada4930a6192f6f1d7afac47e2fd4a018e0167779741e4c948ebe67965751a845fcee894fe88e57a1e42a00a8aba2a6589dc73b30e6 SHA512 c71392a06cc0dea75b46dcab30bc5b374eeb432aaffc678213d5896015cd31ef085387446a8086c3275b97bbfb02c93c0180f7b3bac5fc1cdf1fbe5bf7af9887 +DIST github.com%2Fklauspost%2Fcpuid%2F@v%2Fv0.0.0-20170728055534-ae7887de9fa5.zip 276304 BLAKE2B ac0f396202fbb5de8507826ae1794e169f664394f8806dacb071913da2ff2be9510ec125a12e25d8d0c67fb14aa8a8b90a5f5d4b7453f0373962b78ad717f140 SHA512 a4fb75de24c1083bc1f0a7b2d7c20954a36eedb2c6cc818e987afd0e446fa8273f3701360cbb0c795259e4b3950d21232af44d501f1b6b8e03a53c5564691f03 +DIST github.com%2Fklauspost%2Fcrc32%2F@v%2Fv0.0.0-20161016154125-cb6bfca970f6.mod 34 BLAKE2B de38b76cc80d4772016edec60ac6de4a290b1083a1979630a8aeeb2d6e7ad0c5e92ad3c25e1a47b6a540f106cd66a39a5057f3acc0f39ec16ca0c1a23691bb9c SHA512 97259895cac5090158a564861a3e58ff60728471fa5f0cc5225588cc5072dec813433942e39ef3fef99a00fe1b3147814e76789501c45d1f56f30403151399d0 +DIST github.com%2Fklauspost%2Fcrc32%2F@v%2Fv0.0.0-20161016154125-cb6bfca970f6.zip 22683 BLAKE2B 2d0a023f371ff37ead8e3df7e0865bc526df0f28d8b4f3fb0f16fc45ff9fc6a4f506660326e26dd8783d6a7b2407099457958927f30e9290c600a9caa7bcab2f SHA512 d5cfa20784fbd5e6ef9bc40607b5c486ed933994e08584aac3b7f9f051bc26e2a6acbfb3761b3741e808ff624b989ed4894cb8ed19e95a3cfba027e2c29492d4 +DIST github.com%2Fklauspost%2Fpgzip%2F@v%2Fv1.0.2-0.20170402124221-0bf5dcad4ada.mod 34 BLAKE2B 9a841f2f76972fa5d9b89395c421d1b4addf03a137703bc8f5296a2071a3db169c993468489e59ae3eb51c4668c1eac2a8dd27b742c5af923d379dfd0651e826 SHA512 cd08026364570f1acaca890fe4929ca5bafe90b4088f764a077952ce4b52e8d92a8a09e4bf264abd209a161ed47d9b6f572ebd904af2025da3696dbf79b63d5c +DIST github.com%2Fklauspost%2Fpgzip%2F@v%2Fv1.0.2-0.20170402124221-0bf5dcad4ada.zip 124702 BLAKE2B 6982dfc89bef916225fbde909c88245c74c50b6456f4bfbef7aab94d7d5e9cb650c5324e0e55130b05c5e55e218aa57813a6e5cd2518f072ac809f8b0d178e9b SHA512 1312b0085afd4d4f57f9c689d65e25eac77588232d6067d45811aa8a829508de326579babcd495645152d6fbc5ff94a251f32bb0855e30242da5604c3db7aab4 +DIST github.com%2Fkonsorten%2Fgo-windows-terminal-sequences%2F@v%2Fv1.0.1.mod 58 BLAKE2B 4cf48282c28d2b8237fe9ff852ad25d102cce038fbd1852a1938bcf69c895df05dfdef6e533b3c0b4da28103eb5e3a9561f802414ccdd99b2d3ec2e2db0807ee SHA512 fe33ca4de6588b95f0155458b8b6daab218553b58de5dac220efe54019dfab085838cc6a22012a106fa36a6094447f744825cad04aaf0b158fce5aa676048fe5 +DIST github.com%2Fkr%2Flogfmt%2F@v%2Fv0.0.0-20140226030751-b84e30acd515.mod 28 BLAKE2B fddd4b3cdef60f53bc3f8da5a3154d10b49dd180c12837d3740c22b442947cba2025649f3ac7321bcf0c73a272527659b0ccd9be141ddca13caa7594bf6ad3fe SHA512 3c623d077e39697506174a50c0380cb7787a05a52819b1a73c2f64ba8dd819fd500777de83c83d8d9e80f19c828128a569b4cd783667b4d6b9a375b0e3d527a7 +DIST github.com%2Fkr%2Fpretty%2F@v%2Fv0.1.0.mod 67 BLAKE2B 2e1b4a8a38998179a32db321d331db54f881770a89719410876cdde1799cb8558ca2862bc70838d606540606d05918c4b115cf1c125945a77ed376c2efc4aa85 SHA512 4d841fc7a022e4e09e0a95925ad92a75809a67c30fb88de9190e4a2196383038dab9a5b3294b6a0b4786248977a0e09eea857a34100cbf22f8a52912ce9fa58d +DIST github.com%2Fkr%2Fpretty%2F@v%2Fv0.1.0.zip 11159 BLAKE2B c176e4bc9b5534b0df153e027f22be7d28eefbea1c0adab10979f19d601b95d300c54086b5ee388f453c73b9931339b9b04208fc5e6512385b348c49faff5488 SHA512 bad73f3c47f70de55a90a977a1e2b4a68de545a8425c71533de081c7a8f71d7ab1b489001c56ba2e88dcb78c08804275f7f8128c812f50d005a074ed6dd9286f +DIST github.com%2Fkr%2Fpty%2F@v%2Fv1.1.1.mod 25 BLAKE2B 63db8520df2f699bca5a7ccecc44ee04973307d86099cfe66ded30e2ca1bdd76fc3db48cfca0138673c20c6f94061caf219f018b21b9d67231fe959eef338596 SHA512 967fcdce835c12afbf3b12bb204a256f32d46a3da535e2a7250159f62781a163ee107dd2a4fa20743b76bbf52b97e627e11e895c8d5ef73aede37d6a89e326eb +DIST github.com%2Fkr%2Ftext%2F@v%2Fv0.1.0.mod 64 BLAKE2B 475c51201a379df2cc4ff8c5681b6a7a1524f60d0b8fd0853fef569dea754efabf3425cd4b84e8427db8a6cf3e9b1141d5050d48d5d429cc1ce82162aa70050c SHA512 11d2502a7d241a0edf4e67bcb651a890a12f49d00f8b944cc9eb8f6e9cf5fbb2b2827e696021649bc795ffa275e95ee700e4a1706e03e88fa9ae079f5b9f48ce +DIST github.com%2Fkr%2Ftext%2F@v%2Fv0.1.0.zip 12591 BLAKE2B 944b0b9a802757e78e3dfb11d6c4d79e0e0d90489d49262b7079e6ea4728328457f8773b392c8a618aacb5fdec78948a16cc852eff71ca6f4fb9eb422c03890b SHA512 3f0d00b0545769ad882e25a9a6f30b96ce4b72a8a46bb3c064907c94e2dda4e499eb32354c149f89752f9bc5d1ee5cb2ee5cafa46e2f65ea329fb432d0c0029f +DIST github.com%2Flib%2Fpq%2F@v%2Fv1.0.0.mod 25 BLAKE2B f81559c285e1be835f5ba6f95730022986373524dc66f0ff825885bc3d959ebef5711ccaae86983c0710da8a501a3e97829a01cf67bbd560dc7fdae682b0b7f6 SHA512 493893b0368a6e9ba2c2aab1650135de1dcc087e6eb172226a623d62a48e4102857f68f9ab6cd4f7047e6a291c62824ba924076891d162bbae846d97166bd1e9 +DIST github.com%2Flib%2Fpq%2F@v%2Fv1.0.0.zip 109027 BLAKE2B cdf1ed976d193fcfe3a3e632354605c4ee3caf5313525ebb04f12199036f6a2ed748a3c90c1c1847884670f47d61d94b3704de6e4d591a29b6b28b99c0158e75 SHA512 a3e7d0eedd2b18ca5580819c4983b700f242accfb08293898ef74e8f3ebde28a35a90c9927f90d2103aafbfa7274da3a91d274da6ec0e8cfdb1f8b994a5fd79e +DIST github.com%2Fmattn%2Fgo-colorable%2F@v%2Fv0.0.9.mod 37 BLAKE2B 6bd675a05c0bb6f9dc12d09203d13de115801888cf8c02cb5d609f72d214b7e7ebf13a72ddfa2eb9172e9c2ba1f3e5a040f089a86ce9fe873d49288d5f7dc5a7 SHA512 3cc3ae26618b96a0fc076b18bab6f8f0f6a1064d6a9913c1015a9867fd3571d17f5d2867d72cec008e9bc7005883a596edb21424084f82ad5b572443de90f976 +DIST github.com%2Fmattn%2Fgo-colorable%2F@v%2Fv0.0.9.zip 10606 BLAKE2B d9aed996970ecc4828716e86ddbc85a7949f60ceacc7326708ce499bfc09250bc8ee336806b229a44064839e7ce34f5cb2a7607da5e82c417a737ea869f97f03 SHA512 dd1763a8d04540b3e579d397fa4888c4bd8c00c3963cfcd1fe42af7c1990ef85f9a2e2fd5c5f2c7d3e6817448df5e2237241ff5a2cda651b061cc8932e0afdca +DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.4.mod 34 BLAKE2B 55253c2475bc0169df729915bc92689eaad2908ff7b9dd81b8a553bd75d5f866c308a85fd69d664d31b0d2d373d8d52ee1701677cbebb07e361612ab8cf17f2a SHA512 00c272b4652db259c46875641b29489ecada2602e38beede8c8bd529d73b6e123bff58f8e0f8cadd2d680a6a5485aadffa448e9445548abbd2fb424b059a31e1 +DIST github.com%2Fmattn%2Fgo-isatty%2F@v%2Fv0.0.4.zip 7026 BLAKE2B 3cebbd0bdebcd1d32b7fc618b7190b7813876a1df010d1c3ca3800c41acd64b6537e4b3e4d4a574e3eb736822a27eda7bb2fffa197063baf9a347a820573883f SHA512 829b0596279218a2fad36695fa42036f265ce79903a0f5aad27495dfc7c6a33e8bad32010e59f4dc6853f1e38fd9e9f635ca2f56adaf5ea47e4914f2a892d251 +DIST github.com%2Fmattn%2Fgo-runewidth%2F@v%2Fv0.0.3.mod 37 BLAKE2B f36ba4b667bc5bebbf49062ee5be234891ecc0a2be075c7bf57f5e39ee7fa2657d6bc086ba9a89728468ddd0623d27edb3c357ba4e91f79563bc9747d1d9ae63 SHA512 b891712f639a850e41582c15bcb384a985fad4f8aa86ce2d3f4d2554354aa1a9619667f60837a8280f869fc07dd58dc676c222bac23aaa5b2b00c06284b2f475 +DIST github.com%2Fmattn%2Fgo-runewidth%2F@v%2Fv0.0.3.zip 24937 BLAKE2B 9e3ac56dd02012889248433db991df78a66ab5c358785c2506231d23f9fc9683573ebe4567a5c8717a470edfbd7d9febf562164cfbe835bc8a11faeb143e0ffd SHA512 802777a3780cd405d9e6e2bf15016fd9d4e25ea06b2412f158b6c7a79907cbaab745df4919b6db7b47f02d51ac14f470447616f22e388aa81c55b955cb29bab2 +DIST github.com%2Fmattn%2Fgo-sqlite3%2F@v%2Fv1.11.0.mod 35 BLAKE2B dfade1d4d17af2380cb103ad9a0c91ce0eb7e570f9ab98d32c8d74a9056b1ba89c44c6fbceb4a2d5e5d45bb552a18e5845b1c40d8d1efbe5a9aa87e4af0ae2cd SHA512 c929334b82e3174b98a22bcc58dffd1291e3bcea6c5f789ab36296353cafe0b09640ba7015ff559acdaef58a9212b0367bada54aa89f563c6dd4773f3220c04e +DIST github.com%2Fmattn%2Fgo-sqlite3%2F@v%2Fv1.11.0.zip 2337512 BLAKE2B 7507201c73f35a287783a9815ef1997018e39bf8d237a77bd630d032d48e6f780473c29f0946e80eace5bce077a36500755e11cfc875c10dedc026e93f035510 SHA512 0bc4df375bc8ced78cfaea6e7ebb572cb2b02dc64810b54b26f29da271f864a2fc9515ced2032783537dc06fe38ef126d8fc1f0221f62c4b64a78c0b1e4be785 +DIST github.com%2Fmattn%2Fgo-tty%2F@v%2Fv0.0.0-20180907095812-13ff1204f104.mod 31 BLAKE2B 01ec123858a9bf8d2e9b6b2bb8415431e5d4145cf3ce82c16522eaad6f5bcb7667e391ddc4544a3ee04a8dc9dbf3fbdfb74173da09f3a330952bb5eedbbe203e SHA512 8c099ef777c49b02a62031dbe9d4fdb18839f4b2265802ac5fc3e6c6fd1d3278dbd3bc01e8674a0b52d2d6e6a394d1d4ef7bd64f4388c68e9b81749a4228773e +DIST github.com%2Fmattn%2Fgo-tty%2F@v%2Fv0.0.0-20180907095812-13ff1204f104.zip 10201 BLAKE2B a73cef8585cc3f73870f71a427194f2e56df9b30eccfd272231d9d25dccbd8b7c18ec382fca6b07678b47a96578bfe8db4d1f7d4fdb2113894fe5ae569552324 SHA512 86a4340875253ac7df729e343bf34f2c44caeb45d492b3ab55855c89a208389c24044e1cd6fb4e1e7224c5c59098e5e7943513e43fd9c447044974df43d1711c +DIST github.com%2Fmatttproud%2Fgolang_protobuf_extensions%2F@v%2Fv1.0.1.mod 56 BLAKE2B 50d2d6dc9c1ee92d629af8c9aae9fe5f70a0c6fe270a95a8232cee3c50132ef90c68218ac64a3b5b72d94e23ecbea5f567fef39a81be3d4585bae3f4f5348545 SHA512 5235188477921a263176fefaffccdaca4bf8175a2e248356a06596e37fa868400203172c7fe9fb80d0a65d335d23d80edefd242657de0eb83d9360589e063bba +DIST github.com%2Fmatttproud%2Fgolang_protobuf_extensions%2F@v%2Fv1.0.1.zip 44378 BLAKE2B 15ccda2b94bb024656859fb8a6968782b9a1bffb786b0b1ed69a3284b01f4a2100b3f3c46b6ebcb8f7febedb5bd4f6762fe333b7d4f1d14c700f8fce60843352 SHA512 e9349ee2a7d5e5b129ec6a1c0507854aebca82cf9ac2d0a681cac2f4630ea35551ede48e1931494362232a83dc9f26b6b4162c6114e0176084c50101b1da46b0 +DIST github.com%2Fmodern-go%2Fconcurrent%2F@v%2Fv0.0.0-20180306012644-bacd9c7ef1dd.mod 39 BLAKE2B a4d082021123db99b5d72a1d8d0011a517a79ff7b07238f0f01e550be684f18be03907b6280e673aaabee5ea837ce14b9e4daf278a23605c8dca8fba76bf40ac SHA512 4f29e15b1d18a8952c14f5142aa863b77b7be820129512cfeb3f8bc3335ff637a8a86c0284832a20543abc2c5351a3c0f992d52db895385e45f176af899b5844 +DIST github.com%2Fmodern-go%2Freflect2%2F@v%2Fv1.0.1.mod 37 BLAKE2B 3643a4250f81729708917dc751cbff6ab6e37761ca94784062a4eaf243682a9e2c755ce793024cba1737d0eee1c52c29984fe3008a2471ed24a759da87ec7081 SHA512 72fe8dfeed7041bf92af829dd84513f0c97f709d69586a044f830fd3de43deb27d0b02000338e00897a44c57806ad036cafcdb9661b1852ff76886ad92bd83f9 +DIST github.com%2Fmschoch%2Fsmat%2F@v%2Fv0.0.0-20160514031455-90eadee771ae.mod 31 BLAKE2B bed30df7f6ef3446cc884987b8529c2201f1d0fe4a855fd198c73ad47b293a7d66136abb092d2462a73ddca30baaab574376825019b47198d961a840d4d6b07a SHA512 6a9c039028a543ecef585f043beff78d099ab0890e0e3471cbda4cdc40db4f433f9b2aa6c5ea185f8a7dfe70546b69b415def4c0785691fac0bdd067ed65a186 +DIST github.com%2Fmschoch%2Fsmat%2F@v%2Fv0.0.0-20160514031455-90eadee771ae.zip 18580 BLAKE2B daafdcf2ad506d349ff1358d07e1515d6d76cc9f083d4f7971a3f065b436fea681067dcd251b27aec3daed9c7c8a6da42cb33e265a630e4366941b938ed1667f SHA512 ad479b53d527b6284f17bc0ee026ed04b9ad0059b1b3106b4bb24c234b57a179d3df5318f8065df8cc137344d38daa1e62183b1eb74fbdc0260c9667202dd92f +DIST github.com%2Fmwitkow%2Fgo-conntrack%2F@v%2Fv0.0.0-20161129095857-cc309e4a2223.mod 39 BLAKE2B 391eaf696f1a5c764f9e156ae3f6285ae5bf8a4abf2a735fd13fd1591f3bb97737502b79df093156305503ed4b63e0d458900e61fa8717f96ee17a6d43bc2f79 SHA512 9fccb6717f5b37cff2d858cc31f7e16aed120a67498c2f0d24aa30ffac4eba2e87822b12d62f700a0c62d7561708bab2e13e35e89cf5407cfb06a0de5c70808b +DIST github.com%2Fopentracing%2Fopentracing-go%2F@v%2Fv1.0.2.mod 45 BLAKE2B 7a7820ed255877b390c76ffd281258a8e70dbb2812b7d2d0bf63bb431e8e4f52faad48d4e6801b301ce35cd6dcd49ceac6ab94b32e35befe2e6df56e1a1e8eec SHA512 13b356ebfd062cecffa1e323aa7768d933c6915c2963eff50b1f743712d48cb24f137ba839a7df211e6e02979a4d1c9d32eec8194227edd995c3d35849edeb54 +DIST github.com%2Fopentracing%2Fopentracing-go%2F@v%2Fv1.0.3-0.20180606204148-bd9c31933947.mod 45 BLAKE2B 7a7820ed255877b390c76ffd281258a8e70dbb2812b7d2d0bf63bb431e8e4f52faad48d4e6801b301ce35cd6dcd49ceac6ab94b32e35befe2e6df56e1a1e8eec SHA512 13b356ebfd062cecffa1e323aa7768d933c6915c2963eff50b1f743712d48cb24f137ba839a7df211e6e02979a4d1c9d32eec8194227edd995c3d35849edeb54 +DIST github.com%2Fopentracing%2Fopentracing-go%2F@v%2Fv1.0.3-0.20180606204148-bd9c31933947.zip 45343 BLAKE2B c5844a916b170629d6701d2f0e2b792673b6e3ef5c425b326288a36363cec532a9c3757d51f103e0f96d3832a00acce810c07895779f3a4ef1ad9ecfd7bdd0a5 SHA512 997018a993a666943994b8f083612a9bd4869ce064e2a5c185cc9d7a7c03b295d8f62f1cf7d8039a825bb8d770f1ec8d0e5d57da4cf1e9c828381069feeea9d4 +DIST github.com%2Fpaulbellamy%2Fratecounter%2F@v%2Fv0.2.0.mod 42 BLAKE2B f21a13c6a193574ad2c00817bd5ca777ed141f6128748e7536c9b209bfb88c3df66ad37948902bc905c1d75fecd43afd21877c379498dd52c95a83c63f7c17ee SHA512 33c99b140d2377785d09c2d510766936deb7d67fea5919d4d5d350d7021db27cb776b3587582e65d5c44d97b96280c4e24b13deb2210628953e6c08daaf07b2a +DIST github.com%2Fpaulbellamy%2Fratecounter%2F@v%2Fv0.2.0.zip 7874 BLAKE2B 1cfa26df4f2cea2b7b2fcb82d4f055e707921ff5c30f4b0dab640c8183c6010fa83a1dfe15f3e3386ffa80bf8ec1ce1aa0b36e043f37c6a6ce3994297bb45380 SHA512 9a1437341c430b31ad7ac087e97c8635e4c055013ab667e454f579376daa6f7a19b31f60e634b2a74f509b760bb4eafb865e33fd97fc5006bc8274a8ebdd564a +DIST github.com%2Fpeterh%2Fliner%2F@v%2Fv1.0.1-0.20180619022028-8c1271fcf47f.mod 31 BLAKE2B 7d0579fb1469d76d519c6c5257b978dc5d34f568b26a4a0e21112affe84cc42cc894a48123f4c6da1d2132d34e9088849e38403b260e772d4f690163e196d186 SHA512 157d394ce35054f717ec2f03c677592d0a56586171489111c3904c734ff0170d34559015a16f9172b84b389f1d2a7d40b2647a94657edd350dedbafae8bbac98 +DIST github.com%2Fpeterh%2Fliner%2F@v%2Fv1.0.1-0.20180619022028-8c1271fcf47f.zip 28692 BLAKE2B 2fc27e9f1e85c9bb373519707fbee70fd94c61e4e021da8f7d6db08de085affa8ef3809e519d56a8f801c06d90aafcde3228b8a8226195842dcfb3809a7cbd70 SHA512 94a2e2bd492ccfe1e36aad69cf53aa5d0ae0f7af1c5cc6e9c58411827854493ac499a9076d2311ed7ab4ea28e73762aa541224de8cc804b186271f640ab39e80 +DIST github.com%2Fphilhofer%2Ffwd%2F@v%2Fv1.0.0.mod 32 BLAKE2B 400d176245ffce370598e46c8fd88ac601298451d873a65c290009413570ed38f3c5be35fe800e95d1c23b894c9e8c1cc787ac54dc5c6b7e2d11c2f1ebd031dc SHA512 75eb2b85e2900d2e0a492e281f2b9f8b88a6b480478bc38e33b8d957ed2b65be5835f03dc8bf0903e80ddb5af268db410ce9db9a1569bc25e50523f74878fbeb +DIST github.com%2Fphilhofer%2Ffwd%2F@v%2Fv1.0.0.zip 12676 BLAKE2B 239e79efae533fc670d44122d88a0598f2376776bd082ba6db21e48bae28e11100088c9aedfbf6a1f96c04f6b48ee6f5c0c1046e5b5a3e7104dcd66d08daed02 SHA512 38b5c94c2e75f73b9b239baf3ef371d6bc1a2ea8a9d9bd5070a68d331475b3ccce04ccf80950ac0b0546e51344566c93741a826125bccdf965ddb810686047c4 +DIST github.com%2Fpierrec%2Flz4%2F@v%2Fv2.0.5+incompatible.mod 30 BLAKE2B 007bbbe9dc603d92170e1aa89946c3df382b73e60a01f247ff3c28c56eec5c06b1f901cd3f52a81ed967949436fe0d2a7b4dc70088dbb38de97705967f127aa3 SHA512 e3f6142da79fb97efb98b7bac49f4fdcc16f2c59b40ac87ca98b633874bac81105a0bcff20045bed75d39ba3922093102f9e74462356d6dda6147f6be4d31703 +DIST github.com%2Fpierrec%2Flz4%2F@v%2Fv2.0.5+incompatible.zip 3703141 BLAKE2B 0c8b5a768e298b8bdf314459aeb938a4a05dfa22bdee1b0a2d65e7b02edbf2be6b73ee51a331f4b1d14caef6bd9a001b11a72b85f5de3efcc044501fc2e0d3ce SHA512 b5352137315ec28c2f40f201629a4e60ac26a218a3c75666cf56959cff953fbb6153123413fd1518a1a636d10edac9022ba9f38065274b9f88a89e937283eefd +DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.0.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0 +DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.1.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0 +DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.1.zip 14339 BLAKE2B 9332d9cac7dd3aa2f4d756f0d92c911cd0fb8e00232db3bb013a0ef12addae0aea2388ce3adf79407a81e13cfe9cd4b45aeb2bc9f8b84b4e3c5dfa63b59d46a1 SHA512 f97471d54c5e73b3f59326847cdd4dbbb142a9ae790df83493f11a851d716fb407e01a857152812caf731b8f3e0f37ae151ee83300feaa73152173f6cb5b8515 +DIST github.com%2Fpkg%2Fterm%2F@v%2Fv0.0.0-20180730021639-bffc007b7fd5.mod 27 BLAKE2B c44820090e3e6b67eb062638dd9251af75ef1262a034430d43ee34024051c45bfd596f258ba3f9238f1a8f25374fb55ab3840503310e1f97e6e6e5c98ea0725c SHA512 5b8d46571cfdd120c406dd6d48a943d4484053ddf05edd078529c3f927b4acfa1bf15c775e1adf9eddef260673fd6c591541fa1d781310017e421a9f164dd9ca +DIST github.com%2Fpkg%2Fterm%2F@v%2Fv0.0.0-20180730021639-bffc007b7fd5.zip 23133 BLAKE2B 4e3d9c18b2a95ed9f8e3ccea8ecde5df9129bd74e0ef74f26489c231c7faf726a2c7ee9fed59837d3b326f9b0808f4ef6cd33551bfec62719a7f6df716433db2 SHA512 b382a43aa9b61aae23821886fc90ecb85fea43726c8a34bdc94605c60f563fab195471ac68ca5a8d08bec6696562d8dad97a353d4c4a06eb621dd9e9d401dd1e +DIST github.com%2Fpmezard%2Fgo-difflib%2F@v%2Fv1.0.0.mod 37 BLAKE2B 94636062c94f8ff68cdcab7593a3acae7b9ffff616cad7b1d5c9cd147a4a1042d33666cbeed6fd816d6793113abfb595183097dcc46de7a3dfadc1423ed43e79 SHA512 c3d5c48cdb8ba6af7071a07cfede06e0ab67e3726d9de592a952fad40167dcbdd9621dc2c4df1bd3c28eb99d70b1b6d8d812441237c35bf492e5b7f07bd33902 +DIST github.com%2Fpmezard%2Fgo-difflib%2F@v%2Fv1.0.0.zip 12433 BLAKE2B 0c911c9d173080abd8edbbab1f47222343801d8eeae36b4add24773e3282fc2a39283fdf519a3d4483e39cdb7d9509b8570d151f46841ac1a616f312dc4cb0ba SHA512 3b85697185ba85cdef6202444ab6cabeabfad8a03d66b3839a852586b1f91ddae7897a57c8c138d5647022aa44906c7ef3c5339d520f90eeea0742a935da8cf2 +DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv0.9.1.mod 43 BLAKE2B 2bfedb841a10d8d6a861189203de74eb9bc6bc37bb10cdfc2404b1e972b7672568ed27d235e143d831cf2f840943c039398296cb78f1309f00d1ad9e0ce21056 SHA512 191cf6496c41b2b82c9a8f2ab2aeab63ede47807160f7cf746c548b3e92e367fc8f80ff8c6efbb7e91ca5903d5672b235c1ab9f14d3f9f988e8ff1c821d3b8bf +DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv1.0.0.mod 535 BLAKE2B a8d3fb22b519e88dcb6b6f305a80c94e8b40fba8bdc96941230b354cc6bd8ec4bfd121b8e5ee57e9883e0b01b6224ff22a55fa8434bee1623133cf59489e64d0 SHA512 1d3646f93821b2ff1a4d80074f773eca22ff3675caca9d267762a31c1ec719ab464ba7ade7c8e2aa79b16a4f35f5a64f779fd909060a0c3056f09af77cebd655 +DIST github.com%2Fprometheus%2Fclient_golang%2F@v%2Fv1.0.0.zip 200972 BLAKE2B 6b6aa2cc4006f6671b0f54def912df6ff1aba7b69bd08c1950f7415032e2de383af556cd793f991989f1542cab5d7bc8a73894504c2f3b757a23007ba76b21b6 SHA512 c01081549c9e62a75d99ff37fb4bf3e620dd9e6a22a049c1b0b1b53604086ba68a5c366a7373423354b25cf7298c642956db7eca4b04be4b9431fe24ec8da125 +DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20180712105110-5c3871d89910.mod 42 BLAKE2B 5519896b44b7bc3089a8965dc61aae63745c64ba1a390d3fff1202be7f8dd34f59862c04b49e377d6616a93a0341662becce65d431d445703a160ba49eda208b SHA512 c84dfe43954b19c1e4ac5ff8738e79db469f3bc1dc55e69b12503d0a5cf125cc74f4797ddbfe64b2a1bd1e2940575c32678671d51f67161c4f5b53b2a85ac46a +DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190129233127-fd36f4220a90.mod 164 BLAKE2B ed42e8dec25021e488793be8e008c34ab5bdd6b5b884762d69f40d6c8968bb539041920ac7108e685ae56f2ef71b7174245772d96cc8f20463eba71580afae29 SHA512 4e0e6941b43c17cdce0205e9ba3d9fb18937f426ea2ac9a9e53396c906101d6ec2eb501cd8a791ee3ba9a32185f86495e9189134b8a9858134c73238d98ce0f6 +DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190129233127-fd36f4220a90.zip 69217 BLAKE2B 738c4f5d28aff0b5e5eaa04f50e9a4e4671bb0a06dafb2174720cc0e6fa79ee87123f55776cdc051124434a3889232d512b32d08b1db1d2cb7f54e251b617e94 SHA512 6cf7daa3b86c574afbf5d91d3d4f372fb31c06ff93d59aa128d8ef025b5c22fcbca5a148b21637ed97127e5e2150305e48c241be1ee4c1b23ae32a09f19ffaa0 +DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190812154241-14fe0d1b01d4.mod 164 BLAKE2B ed42e8dec25021e488793be8e008c34ab5bdd6b5b884762d69f40d6c8968bb539041920ac7108e685ae56f2ef71b7174245772d96cc8f20463eba71580afae29 SHA512 4e0e6941b43c17cdce0205e9ba3d9fb18937f426ea2ac9a9e53396c906101d6ec2eb501cd8a791ee3ba9a32185f86495e9189134b8a9858134c73238d98ce0f6 +DIST github.com%2Fprometheus%2Fclient_model%2F@v%2Fv0.0.0-20190812154241-14fe0d1b01d4.zip 69219 BLAKE2B 6ecc62f2f3ae4622ba6e19c51f7ff7ca3bafcadcb38cb7a9d79dfcc2ddd7183d79dca8e0d6b534f5a2dc508c21e0fb349310b4feaac35c1f7b1166c3febd1228 SHA512 934c3e50ebdc1ea65ccfd4de1e2e0f0ebdece54be1cccaffa5e325c667ab22bae84a7fc7ead1066e75094697a86452fdc36fab57b955f42337708de32e7eec32 +DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.4.1.mod 1223 BLAKE2B 969e069f2e210c2863b54504d62dec9ca606c485612ab1c42249e623a4bbde4e4ad0b41da30f83594b7efb4d4a44e0a68a5faa8c115263d73738773c35a98dab SHA512 02db8fa79cd8368060c72ba3925624c779bcc9e39817b6ed86ba143024959496db2c23c1aefe93a5d9f22b48e742072382e2ccaab430c1c9eae6254184e2358f +DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.6.0.mod 693 BLAKE2B 414677e90b5a1e5e2b5b498e46386fb2fa7c93314b390bc4337c74865b6a72f8a64804e4c30aefc54515e9261cda168358d70bc533e8686cbbe0f625b8957d08 SHA512 829b3d7349806cebfad94252c09095aba4c5cbe0cb77cc124e7fc514ded1d8faf0f158d21be97911b8937ab9d330b284139275837607950ca602b3faebef146c +DIST github.com%2Fprometheus%2Fcommon%2F@v%2Fv0.6.0.zip 152577 BLAKE2B 93ebd63d011ee7f0a610b7a5ca9fb7c2640bb57a60ccf4e22f46f81286c9e834a547b42db2c23d61d503eec5f4dcd0592e76a1a3e789f32d20d9182c6be7106b SHA512 bab9891928e51fc4524cc9384cea51429004d821ffcb1243147337169308cd5bf5791308fadca56d0f310e73fb69f8d3093bc35c654ef9f1c8738a0f1c5ab8fc +DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.0-20181005140218-185b4288413d.mod 36 BLAKE2B 3c6acbd1022261065a321c6f3cfa2946b58011f45fae9b98761397eb7e5e0984dae4ea34c4f837f798ab29ca8e26ed3f07771be10e500a99ce7e5e9f4c401b5c SHA512 05f032eba0c264b186936c2b9831624a01999972d4f1bba6aa15c452407eb10d402f1ac674eb41e2d24fa66e85ae2e56efd2326fc4ecc741169b9908d7935335 +DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.2.mod 98 BLAKE2B 23576c142554e5a22a11d704cbff1bbaf1029518ceec7f04e22aa849763a7aa5e26ad1405a8cbc0d87097264a5fa7cfa3d655cad18148f5de6209a06580722d3 SHA512 0897ba1b7b4a32f206763327e138d3b460194097d19bedb8ee1bb6889b9d188afae9439178d1c2151fbe17b7d18545cd6cfebd050bade93cd39b435b35b6acdb +DIST github.com%2Fprometheus%2Fprocfs%2F@v%2Fv0.0.2.zip 132055 BLAKE2B ed3f24a397ca21aee9972a2fb1bcd12acdcd5b7aa5b21a36cd8e8c1b1e04bf3a1264cd7b21147e1f69e76792fb0d36f4cd44f51178376a9daeb092e69eb8a2f3 SHA512 e3f4d97e22ad8d27a3c8bcdb6516f4e1574348b864deb6f1569f3d94098987f35bc87c7a34f95e84834fcd8c750b3a177f847b586b72b91af0e0f9a735bc3f20 +DIST github.com%2Fretailnext%2Fhllpp%2F@v%2Fv1.0.1-0.20180308014038-101a6d2f8b52.mod 35 BLAKE2B 236e030308da9f6665046299fb6076bc3bce65b5ffbc2820c463ff3af2c95f78581b8b0260930e85eec3e1f9b40c65d206a2fd947b4a5aa8b032ae608a5e8daf SHA512 ef6bdf93c07e5d0d7fb93b733a0a902adde1e2aa719673b9d3bcc1142cc4dfe001ec4455964a13000709e0c727f5f1655e36cf1eb114591ca30a32f9af707652 +DIST github.com%2Fretailnext%2Fhllpp%2F@v%2Fv1.0.1-0.20180308014038-101a6d2f8b52.zip 46249 BLAKE2B f7c04a664cd60d0e5b48cdc46615d568dd82e636ab3bc4bb0cf6c465e322942925d60e0dad1abea7165bf8ff5aaa83b5ad0569d2150ab6c6c044a18df1717a24 SHA512 079e716e05d5562f8d55b564a2feec2d8bb641f412b829aa730c5a821567957646a1f6c56b33ef5d149d6fa400617d0f5bb6535e88e42a2f76771af7892fefe8 +DIST github.com%2Frogpeppe%2Fgo-internal%2F@v%2Fv1.3.0.mod 73 BLAKE2B 21e3545a4518c64daac1cf36e47a2c8e1fc8ab7402372f2e871052d0dd9d83fc2aa44babb2f8751180cb66dcd2af82ed202afbf5ad3a219c4562da23ae8ce185 SHA512 4fd07ae7c00bcc135cc10a0b34ab102a893ed8ea4708f9d38da52f98b09fb66144f970ffd8795476fd6625b25c9e48390a5b1c5c99bd0c8d536a94201dc96613 +DIST github.com%2Fsatori%2Fgo.uuid%2F@v%2Fv1.2.1-0.20181028125025-b2ce2384e17b.mod 33 BLAKE2B d6c66082304928ba92ad6144b157ce4f59db0abc5af56538abd5a81fd927ea716df4b5dee47ff883dd99f377d2b3a772296e08244fb7a769a5843a54426be81d SHA512 081e7b82b53c1a86743e3cc4973c1bd15e1b5c48929513bfc41c0e182fd4a047519b8cac9f4e830d7a08eb3443b2feb62c727387a294a30b7c988b698d6e8d45 +DIST github.com%2Fsatori%2Fgo.uuid%2F@v%2Fv1.2.1-0.20181028125025-b2ce2384e17b.zip 17966 BLAKE2B 66c06ae649b6a7eb0d9caaa20077dcf3f6c31bb75160538dbeff87092939c5e6a45da077756fb20fce3b0a6f5867080ed33ef5f9ec227a99130326038245ecf2 SHA512 17865d0bde1001939ef4e8c433ccee65b7f0df028352ad2a32654c5a1e3466a7f4b82368f155e2d66c431e4daaa7cad36002df37decd19306582a7c12880dc40 +DIST github.com%2Fsegmentio%2Fkafka-go%2F@v%2Fv0.1.0.mod 37 BLAKE2B faf1c2419c014da764d5ae4cc24e27c0c368f413f05ec8d6b7757412e811fcb18719d9a63d7505c6eae5588f5418be3bbb8e06302356996c12080b06ba68a849 SHA512 8c851766aefc9e5ca6d7330c26b5d87fa087fa057a1670dd51895ae116a91492be0ca41c0b15cb905cb044bdf5074a5648d0b8e4ebd236acdc11bf86baf57e26 +DIST github.com%2Fsegmentio%2Fkafka-go%2F@v%2Fv0.2.0.mod 37 BLAKE2B faf1c2419c014da764d5ae4cc24e27c0c368f413f05ec8d6b7757412e811fcb18719d9a63d7505c6eae5588f5418be3bbb8e06302356996c12080b06ba68a849 SHA512 8c851766aefc9e5ca6d7330c26b5d87fa087fa057a1670dd51895ae116a91492be0ca41c0b15cb905cb044bdf5074a5648d0b8e4ebd236acdc11bf86baf57e26 +DIST github.com%2Fsegmentio%2Fkafka-go%2F@v%2Fv0.2.0.zip 112690 BLAKE2B 429b926660712da6cf042ff5340dc9ebf6aa397fe92d44d36f8727d3d7a719415fbac8c458c2df9b7d325a3d4d162dbc47efda7321fa7684ec9ef3be2cf7d8d6 SHA512 c9887cde0dce64373fe79c37508e779afaa53d18a9f9e7853860db7a3b58bb8b97b3a17a527c25ac9b3b437c89f4930483c4cbfc22f68c2998a0a0f22bb9c0b4 +DIST github.com%2Fsergi%2Fgo-diff%2F@v%2Fv1.0.0.mod 32 BLAKE2B 9c0be7f17fe7a9156f124f7f67c3e15e14719d0b271f36d5d41ccfa5ff6c1b7887e0051df6eb3b29f29b40357d8e438598088b3c4f4df28fb81f030c8efa7ff3 SHA512 8b8b8958405a188b93adcdda0634aaa2961b5b8e0d3b3e1f768fb9c49c02b73cf3bb39027431e0c1d209abea6cb72a651c5776bf26391e81f4dc18c7bafa692c +DIST github.com%2Fsergi%2Fgo-diff%2F@v%2Fv1.0.0.zip 52931 BLAKE2B e511ef9edf7d968d848e021658001daefe7c8cc7169b1c6984ca5388fc4d6a5f54def9060483e57392711617892d21322d9de099234901bd1c251e57e6489f6b SHA512 e3d8a20d1cc351b8944579988feff39cb0aa3e1f2aacf2e2307180c25c153a0473f2a5a3ebda9d96868cb1f477ccccffdce06b117be7fa5409b2d1926b4c270a +DIST github.com%2Fsirupsen%2Flogrus%2F@v%2Fv1.2.0.mod 393 BLAKE2B b9d712acd24d7a0605c74920733902a8eb1f9151fe0b0c575f01e2f821705ca7323f854c5b88d5bc534ccc9155571c083d4f53c6f6892879c829146bd95729f3 SHA512 c1621afd4618d1027b2d89a8e9653d18dabe098a7004b376ca2be63955ab783879540a890ab1324c2560dae9e6f3198dacc32d5fb0afd4b5a779d29a8c28f035 +DIST github.com%2Fsmartystreets%2Fassertions%2F@v%2Fv0.0.0-20180927180507-b2de0cb4f26d.mod 43 BLAKE2B ea265a40bcaaba6e4401504643cb9bc2f775a23792b1802d6c1b665121c49db7d4d850ba03c31087fbd6f344b08349ce00a106e430c8690b8016c95318cf3973 SHA512 222b0edcf745e14eb775eac28668dfa0c52051cbf302ec441b58d75846fc2570a0fc2e616cbec68f6312a1648fd7e6997b6597b160b1a7f84c1c500a42e93e6d +DIST github.com%2Fsmartystreets%2Fassertions%2F@v%2Fv0.0.0-20180927180507-b2de0cb4f26d.zip 81760 BLAKE2B a5767557b0e96fa3bbbace46e08d6a2167be2c203a44ffaadcf14079a23e906ee9197c8028fb29bdfc596d4f39e7bdd29993a1a520c36c8b08c5c5b6bd6bd2cc SHA512 e204307d5a06550292a4fb6e44912260aa5a7f9fcce0883d8abb324a53673512218982b1893e7d563eb7d6313ac98a8638072aaf7b5d66d359e82832f2a8bb2f +DIST github.com%2Fsmartystreets%2Fgoconvey%2F@v%2Fv1.6.4.mod 302 BLAKE2B 69fd290c3e72f4ee0597f480bae8647d80ab5c4acab21ac3ea19e847e3af4ac91a767876fac04c94c2db8bc782a24577d3478d3d0653f673609f2d57d6cc3427 SHA512 24806ff2cbf2719f50bb37cc5ffadeca1b64c7b089a1647695b45d647ddac16332504c7026813b4ab9316e53e755ad0ebbf6db9ca88179d0526ca2634e27e25f +DIST github.com%2Fsmartystreets%2Fgoconvey%2F@v%2Fv1.6.4.zip 1521758 BLAKE2B 653e697d76d392b18c09e5c1c96734a737071667345b9d6ff9c9589bbe74e1c50849dcd7fc00b660adc1aaa30366aa9ca93a94d5eb4e605f7897d9714119f926 SHA512 3bdd2bbeaf755618d9fa7f324814497308361cb0f3f93a7ac84b9fc01b79ab346353ff0a022d3d85e74aef57b3773e03ea9279d0a60de317a1c57d5eca2d1507 +DIST github.com%2Fspaolacci%2Fmurmur3%2F@v%2Fv0.0.0-20180118202830-f09979ecbc72.mod 36 BLAKE2B 1ba81fe6a6b84ed40868e0fff431dc8485b912700c192d90181c22588345e7250af63160673c297129add94a41281d7f0ddca5733c2b32e20f65ca7c27046306 SHA512 d14779867dcbbe24d451e82ac72c823f80551cec89758ecd39c9e72fd75560694a0b8261726020b738ad4f447ce1093f910c12797c58b8dede38f6bc737b9a25 +DIST github.com%2Fspaolacci%2Fmurmur3%2F@v%2Fv0.0.0-20180118202830-f09979ecbc72.zip 10334 BLAKE2B dc4e7a5b7ff1179feed6341345c4a811b5c4e14bde5af612b9db64902f810e788fbb6ca224b3678dfee03e894fb1cecb5c3269f13b36ea5d52fd4dd8b8a28fe0 SHA512 33a0601227477c0fb56907b633936ee96c46bf0f8c0a9140facfc61e839f62e167e90b76fad14d4b0124b6066376eed464d0f76e08f0d308634c33eb6fd171d4 +DIST github.com%2Fspf13%2Fcast%2F@v%2Fv1.3.0.mod 175 BLAKE2B 9077c3a2c65f4025500a3215c440b1b3856e09f1543cad7ca6a37fe5b42d51af01c2032b905c72cce445807bb311ed461c4a5fd4fe680a81ac7a1c0d94759c67 SHA512 7a0a21f6a7564b3261bccc8b1e1cd39d5d1a95bd0dd3debea914b1d37b687fbacdaee5f1dd5f1f74e4da11664c12f7ee63b484d690cd79389423cb79ff38dee9 +DIST github.com%2Fspf13%2Fcast%2F@v%2Fv1.3.0.zip 12738 BLAKE2B e7a649d1c85aa7b3aa0a80123c49d6e980d8db2bdbb7c49d5871cef8c35a4f632f4de0987ae1b41b3f9b472343e22228f7e75cc7c841d446ced4f33e859039f2 SHA512 4ee0de0cb44960bd75a18648a2c7e4428cd1df1b042e24588d3ed6adee05388e6211854db1878e6ad74dec95083e439d147975082422b8ae5f3c6c7896df4304 +DIST github.com%2Fspf13%2Fcobra%2F@v%2Fv0.0.3.mod 30 BLAKE2B cb72701c052ce4059500f4c6b3d0c4fb336d118865bf1f7f45ce0b0279e1d01b6e58d49f82182c2523681a97bcaa7a70216d63ceeca0ea1d09c1921226f6bc4e SHA512 ea13ed8e166d16a7bcd14a7cde90af1cacc0b05995d1c5ec245fa536208e0cbfffd689dd460d66c0a1ad315f2b0ae9f4b803ed72bcdfd89c4a98a7ed934289c7 +DIST github.com%2Fspf13%2Fcobra%2F@v%2Fv0.0.3.zip 139997 BLAKE2B c20d7292a69fd548bf0dbd62751dc08a41c66f120bd8b5142e96f498aafd208328ed4888d7ac59404b64dace96bcad210f64734e432f15ae63ce6d39dd308cf4 SHA512 1476716a98d5aa26c34af6d85eb93886cae211beac7cdc8f886d2030bf7f83802409aa56510ba09cbdb609dcd2faf87d3490c4e5392922e0e034edcd3d9fb1bf +DIST github.com%2Fspf13%2Fpflag%2F@v%2Fv1.0.3.mod 30 BLAKE2B 18c9fb79a291aaf800991a296c8d7b1933cf45bf56082301a64ce17ea64dd15fd304094fd4b0561bd99c48ada545dfe7fa8cf47a15593cd3166eb66657a5e114 SHA512 d08b4540b799cee9c5f088c4e1fe002c9fda86f1634380409eec1404598b84376d3ca26b4c1cbcf58bc19234ab56531ab11db8a00c6dd2e15a53f3b4ae757efc +DIST github.com%2Fspf13%2Fpflag%2F@v%2Fv1.0.3.zip 74638 BLAKE2B 0e9d2a40aa6e68cae69ae24f76385e840e0b53b2a4afcf89ac5ea61ee144462c113dde938c5de728c8e54e7e46dc099786ce85020bdd60859e1ac04393556246 SHA512 c33aa1ac5cf2a8441bc849a49b65a614de6c9e0c5d37a77f0b6972bdd8f25a651752743b1172e0a83fdbb384aa7e8b0685af5c5dad1bc128310c60e13cc9b56d +DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.0.mod 32 BLAKE2B d698910da1ef00a70a1673b8c74105de195020ccd95d1e70c5dd1e1615210886ff9acbc9cfd03f46e99f5223b60b04695b8d362b9e0edd4e485480f802bd229a SHA512 4e366e5a60559a8863cb2a50280deb307d8bf885ca5440cce1b49a084b4cc4583b3481240125f35f161226592a43f2c0a426152f117d79b68c92c72a93f751d5 +DIST github.com%2Fstretchr%2Fobjx%2F@v%2Fv0.1.1.mod 32 BLAKE2B d698910da1ef00a70a1673b8c74105de195020ccd95d1e70c5dd1e1615210886ff9acbc9cfd03f46e99f5223b60b04695b8d362b9e0edd4e485480f802bd229a SHA512 4e366e5a60559a8863cb2a50280deb307d8bf885ca5440cce1b49a084b4cc4583b3481240125f35f161226592a43f2c0a426152f117d79b68c92c72a93f751d5 +DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.2.0.mod 35 BLAKE2B 0357260904c9ba41892132c7e07d2add9b10ce4a09e8db4966219d1f515f917581e2afa0987094c90759634bc2aeb66e758074e023ff331a8337f5090c0102f6 SHA512 5b7ce867497852e4918b8cde5f75ecf2f24b9c95ad112478ac132322e904243f1cea3d16f5731646efb669256dbefc129ac70a499c8b1d25403a14c7e4fad10b +DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.2.2.mod 35 BLAKE2B 0357260904c9ba41892132c7e07d2add9b10ce4a09e8db4966219d1f515f917581e2afa0987094c90759634bc2aeb66e758074e023ff331a8337f5090c0102f6 SHA512 5b7ce867497852e4918b8cde5f75ecf2f24b9c95ad112478ac132322e904243f1cea3d16f5731646efb669256dbefc129ac70a499c8b1d25403a14c7e4fad10b +DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.3.0.mod 154 BLAKE2B 60cd7801e7cd33746305cd636b048b25a86270ec3b29a21c3c078c7e95b769bce7e80c2c7c5474113786bd788c7f88f3719e34f02141038e0d161b36e32f39b9 SHA512 bb808fad059f5abd0171e4bdc724411eff2c7e8d303a4ffb3608a00e21bb3cfafe9e83b4b4e9bccd42c9a4331f67ddc6043e3dd5eaa9a122c86626eed43a8383 +DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.4.0.mod 179 BLAKE2B 3bb7cee3118f0d335ade107dfefc3a594dc3883564fe4c9e96d615e179d394a49a3d6cd6584ba9c684772bc3dc6479af6a168dd3841c03957252667384f6ba11 SHA512 243bf1f69c146252164ad72f853773dcc77f15d7c9e9b731bee26a95e7c8f4ce9ed9738db601b01edb82f4b3808873e1f153a6d4a0c97be0babbe65abc0f8d52 +DIST github.com%2Fstretchr%2Ftestify%2F@v%2Fv1.4.0.zip 90474 BLAKE2B 2f79f0cac2c15acaeae764aeb640534f58ec2ae86fe88a82533498e718cf37d67c563606090ad39b38e22ffca1e63a25cd881d6a472b862ddaf150c7d329b16a SHA512 a047ba8d5f529d459fb6ae8dd39367e6f6cd2e785e90f54a5f8759ff76e4cfff990f1b8c1e0cf49c67b97ca8de36ecf8fdeb3b8f16e579aeae2d563d38da69db +DIST github.com%2Ftinylib%2Fmsgp%2F@v%2Fv1.0.2.mod 31 BLAKE2B 263bfb05ef35498c4876a40273bb21f3bb2c5145e95ee0365f912a6b46919b145d7497e97cfd88b68c47b581ea4d65c31cb3de65f15929137f89091faa5eda86 SHA512 c9dea92ef8c32130b2d28820cf3f4d49e43fea4b36e82343030c1acb63ca120927d94e0ec8d496ce2319a36a22654cf3463c0023d7ce6cc7d1d4b07832f31ced +DIST github.com%2Ftinylib%2Fmsgp%2F@v%2Fv1.0.2.zip 91343 BLAKE2B c97c50d94e7f0a663d8d0e46c4daa3eb4df47299ff4426274f159cf9f9c68d87024333417abf34076d291468e062fa4b154bfb539c41ab348d23ff362916d2ed SHA512 1bede5a11874129aa9033570de1891b690b91641e352f37b5e38b64f370e3b48c0b35fe1f5b08116f76111db0e1aa1d0a0ae84cde18a27f7ac04b5103edd920d +DIST github.com%2Fwillf%2Fbitset%2F@v%2Fv1.1.3.mod 31 BLAKE2B eb05706f9dc60f41414a9d2b5c3acee3f615e0d1249c2e9b9776bc255fcfeb05593fb3bf06351d763d4ae4b465aee3f64d9630f4ae5fdd2d4e9ad847e5d4675d SHA512 f220b8b8bbc82fa03107ec51399e2e8c90a442b8b4ad57db441772c1ef66b16a77b71f0601f8aa22b60de4c1da4dffd1d746cd567158fbcd12b1677d88d4b17b +DIST github.com%2Fwillf%2Fbitset%2F@v%2Fv1.1.3.zip 20970 BLAKE2B 5d4aa73c5a6e022161cd2650dfc5f128959780d5af9c858728fa6a80c3f0cfb54699e54977b0c9a40bbe6348f4e6cb1a691e0d6f492223550645a917c6fa7846 SHA512 03c7b46fb00909a84ca9687f0d57d706b9af098f7cbb763f8a8f376438d349880ef3db1a484b546d32b2a744d271c2beeb5e868efe995718b74760ff23e85682 +DIST github.com%2Fxlab%2Ftreeprint%2F@v%2Fv0.0.0-20180616005107-d6fb6747feb6.mod 33 BLAKE2B 1fb8495d86422bc87ae3a29d7040d3deb46560e8986404fe66da26fa2f7eea5f38b1ab84a67b8e79c544841627025e882fee2aea3fadd75f69f1761238eac23b SHA512 3f30afa5211772645ee93a8b11eeec246fda17559bb23b1bbc93b614815998fcae1f45827f12922fd8d51bf84425e2154f690728a63b510d278d60a48549fb77 +DIST github.com%2Fxlab%2Ftreeprint%2F@v%2Fv0.0.0-20180616005107-d6fb6747feb6.zip 8631 BLAKE2B acd15cce04e54766feb18c92e9e890598616567c57f1d9fb7da57776d6ef1f6cface54c337eb04a6d2f4f21dc136cddd7ac25c5fc0aac6a38ef349730090acef SHA512 94c78d3c65d7e0399efcd152aed41ba07f041a73ae8bb054e365e60b54d0063f2e96a70fba15fb88d3f19599c7d37e1f37a7c77af8f74e16450a40c02f3dfcd7 DIST github.com-BurntSushi-toml-a368813c5e648fee92e5f6c30e3944ff9d5e8895.tar.gz 42256 BLAKE2B 65fba0e39dbd7d9ffc5707379629ba9e8d91f186214afeb6b5f5960bd7d4b0f233247ecc1b23bff9c4ea8572f00b106ce5b833f88d975be5ffb29778fc18dcee SHA512 8a54f8b1f2fb9b5882d3c1498376c15aaf00eb8d9379090c38b03a6a291215923637dae9f36db1cca700687169cb08911e515222cd72fc153a5082ff4ddb5573 DIST github.com-RoaringBitmap-roaring-cefad6e4f79d4fa5d1d758ff937dde300641ccfa.tar.gz 140675 BLAKE2B 229edd09629c2df7c3396a84ba3d4a427aa81e8a086a305059354b6ad1bb2009fba595068b727e57b51c4d610a23cab122b080536fed9326df42d7f2c41018a9 SHA512 6ca696bd1dec2c3b587e76614f64ca0b09df8af042c9193e6afcf23ec34f6f5e79ee13f9fdf450c5180c6eac07cf1e346cc2d64a653ef107d035efd98c71a23c DIST github.com-RoaringBitmap-roaring-d6540aab65a17321470b1661bfc52da1823871e9.tar.gz 146300 BLAKE2B b80dc075cdccb588c12dc81235d9ff9279bb93739229674eab4b44827a64fea5803de66fa14df3b64a088ccc78ffbb4be4744bcf20fe64af003d202101dc9bc8 SHA512 7a745f20d3eba3be9d29f4a0cb54bba2e58a9657fea38090e1c4be784ab315f798691365b0a22896539e44c0f53ddceb318ecc4eb1b0844b4973ba8516b7083e @@ -83,10 +342,205 @@ DIST github.com-uber-go-zap-35aad584952c3e7020db7b839f6b102de6271f89.tar.gz 1030 DIST github.com-willf-bitset-d860f346b89450988a379d7d705e83c58d1ea227.tar.gz 15048 BLAKE2B 01ac6e5cc63e4e1fd5d388938fbeb9e927fdbcda793af41fd647fed0c2c833c76b7aa3621f60dbc76ab75bf29ea2c3aa06634774c1ba4bbdad03ae19ecf1c956 SHA512 65591f02a265a56c6a5efa5e1e848b5b58f89b45eb60c7120ae222a00b76a7d1f12e8afde8d008de745ad228fe23e025de3e9a0e34ba59caf8f2ec8a5a941b84 DIST github.com-xlab-treeprint-06dfc6fa17cdde904617990a0c2d89e3e332dbb3.tar.gz 6365 BLAKE2B 4b7b406da890340592e8eeee19fbf45bfd3c30d2db00b300a2aa5607beb790c21ee29a470a92a14be77400f3c1ca89298650d32b53d98fa18a60521af76c9640 SHA512 7b9e950ea4d4288efbdca94e5a2dacdd28e2a23036253162a44365388aa0dc4ddafeb56f36b784b9d5c47a0071f0487da8a83df7c8e8ef6c197dc03a63bc7646 DIST github.com-xlab-treeprint-f3a15cfd24bf976c724324cb6846a8b54b88b639.tar.gz 6423 BLAKE2B 6b369642fe685467da1a33e7b9d215475d2912de3c20a40f365993a5877613bf476c2a051f47a1431f7c8624aed961e0b4e6c1ea1219566d6ee8997c1a34dd80 SHA512 adcc0a7539ae7fdd89d4a5705bb814fcf0b142ac1964e2a08ddda2fa16333f27accc398fe9e2fa2dcfe16d7fd467839cd34a109bb810d1ee94815f729393b614 +DIST go.opencensus.io%2F@v%2Fv0.21.0.mod 305 BLAKE2B 73735106ac582b2e9d5f0d739412c3396e0df8627a6adbe810ac560998e4cf2eda12e449b6e336dd6b433eaf57c885b4a927359d0bc1bd6eba9432bb0793c35d SHA512 448e90223b8d67e4d5e4b150055ac83eacf9ef48aa34036c2e59559f21443f796e721df3c0395a829bf5d10d229cdc7beb956c8f90273e50f0989e45a82aace8 +DIST go.opencensus.io%2F@v%2Fv0.22.0.mod 408 BLAKE2B c96dc637d392594cdf710b9542b90504fb090392662ab45208d45abe2cbaac5b64e55f2f62d1afe5542d2747abef1eedfcff97cfc48d6e0649c23b9b8293f7e5 SHA512 823e1ca3a9adedb1a98f5ac900e190bd51480686872bd901cc20a394cf03be6c8fd69cfe7343e42cb6f9d3500282a8097b6c32376aeb3e92bf0b1ce3e75872d1 +DIST go.opencensus.io%2F@v%2Fv0.22.2.mod 478 BLAKE2B 534d5c63341897b7213d30ae225708b5465b0bc5efd7b42ecfdd7fd67fe6e8fb5ec7a20345b734d07fc2793b41a115dde74a1f80510f3970aaee8f6d4effd7b8 SHA512 62820051cdf582849bd310ca77bba4b2caef82c9e6bb27e7c2de6c3bb1be0af90443770971e893d0eb466832857190a9908633d069880cb1980120c14ef391c0 +DIST go.opencensus.io%2F@v%2Fv0.22.2.zip 296264 BLAKE2B 0b0e20eb2f10b81748d55b843f8489ffb8147a8b17c063cb21fe505fcdb46feb9cc0830f3b3a91ea7034b1e7ba78df27b0b235b8500b8c1ade19f6837366aaa1 SHA512 c98a43e1bfc9f4bd1e54847dfd6b07e9af14efdbcd8d61b70c9f9701541ee2405f800b1e33cf115615a43030accb735a1235e2b7d81f54efd127e2fe5c992326 +DIST go.uber.org%2Fatomic%2F@v%2Fv1.3.2.mod 26 BLAKE2B 00521092f85fc8940d69a5885423e84d8e6987a29749d886be3f40c230e563b55d96779ccd2efb99e939167c93067e8d37117750cf2567fc49e70bce9e847d07 SHA512 4c66fd56c35d6d25a3091f83a2d3872ba395092c10519e052aaccf3edca281fb874a46e86e7a7294b4f42a5d5a51d3cc0f066081e5ab945288a48ac223bc19e6 +DIST go.uber.org%2Fatomic%2F@v%2Fv1.3.2.zip 15027 BLAKE2B 06a2451071b8cb0de9b4e664d007584998c91acf4bcca04be7f6c4e97c2579a9cc174e4db220347a00b252392cd6f3aa3e08e27ef3a231d422512a419a199c2a SHA512 be6b2545811ac8a869fd0365c1126be58531a6c0b51690feb17d7e88a2b79dfec6a466ac317df15e4d038c02df0f72993ae3e50a218c9f7f6659787c7f8e9333 +DIST go.uber.org%2Fmultierr%2F@v%2Fv1.1.0.mod 28 BLAKE2B 4f0c4b42b00093024ef494b1b0a07896ec41eb140fb953affc085921181eab44bab0baa38ab559b9e36e022acf5cb9ebad5ddcc7303f33982d9012e9e150cb03 SHA512 7939dfe977dd42ac3ca8b91824a73046222ac9bed4f9cbcf0f2d332727b92a094540a56dfb19d095df6d5917b30cec86a6e9e1b082581049fb05bb7bb10106a4 +DIST go.uber.org%2Fmultierr%2F@v%2Fv1.1.0.zip 14488 BLAKE2B 3bb8df1a459b2cf1dd63ab200f06a9f41f968f828b815b70bff899972a4c913656dbd3856dc6f4626836175d32b63c439e32a5aeb6a034f4733e2d09ef53f7f9 SHA512 d5fff733045694509ef1100fb8701526002b0841a11b5e1acbdea7e186c80738f651bd973c5eba2db5d2b8fff1b3057ea5d7d0e46645268b2f3619656238fdf4 +DIST go.uber.org%2Fzap%2F@v%2Fv1.9.1.mod 23 BLAKE2B c60cbd3c1e15e71a99909c113b100de3909740d9e0f939da800209ed1ccde49f77be7a8c22e045b9edc663859995859bc7ccd60bb6953846829ca3164115f3fa SHA512 263e322e5615c91e810fb9ba30a601508e1e3e418f87c7c74de962c341f207e703930f2ad41ae1bf7b2ad106831dc37b0b96637b816d130bddc7225d41911946 +DIST go.uber.org%2Fzap%2F@v%2Fv1.9.1.zip 221108 BLAKE2B 9f03d8b356ccff8e8dda9a4885d7fa79eeccb614415b1bc50ec206458f650456a9e1ade1401908b53c37a3b293cd3b7503b84104555250bc801e5c74b8fb9122 SHA512 259b357d0f31ae6ad5dd1b841d69d934b1d9d441617944d4b46269f43fb4de1cbf15750dac9dc87cf4260902ad2f4e4560e6e023375212e554d150fd65af5f9d +DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20180904163835-0709b304e793.mod 27 BLAKE2B f91145aab2cee00c3567772e97f6162b9681d6cbcbe67a1b5b2f59b8f912572f705a0d1280fdced086d92efd10c50ecede26d1cfa3d5419217e5eef95097b4b1 SHA512 a88da5b983ff482a4e8b512761eeee466a8b0664b42da54ec9772c2eb3cb1bc5b7545045e283bac82552336802d8bc8efe137ba16f3530228b529366744a33e6 +DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190308221718-c2843e01d9a2.mod 88 BLAKE2B aec7d0eea1278eb3d1568d5bfb4041267501ad14457ebfcbdbc5fe21473170b8616ca4028f52af2edbfd85922cbe04540b4b0df7f69f63197698143cc5557a7a SHA512 2df49895053b36fed7ea905aa73f86568fbafd79ff0a7976679d8c77cf15025129435d9dbfd89367b611b1aadbea4f4bd1835eb4efa9ea702466e443638d379e +DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190510104115-cbcb75029529.mod 146 BLAKE2B 6fe18cbe4eb6c3f6c26a4d2f9f309c48eb9ea59017125179cbfd61bb1e62395515c8cb286e1139fbcf54d37dcb2baa1a2f98dcfbcb6178b7f7df3b51929ff5c5 SHA512 f40c7b620b28b5bdc6ce92d43768af71b5869e7f0eb7872dd0f2751eed2bd15a17f7af26bf2dc5c6f7e6b816a174d010bfd22b3f8f5dd72f22dc4e4357dea842 +DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190605123033-f99c8df09eb5.mod 146 BLAKE2B 6fe18cbe4eb6c3f6c26a4d2f9f309c48eb9ea59017125179cbfd61bb1e62395515c8cb286e1139fbcf54d37dcb2baa1a2f98dcfbcb6178b7f7df3b51929ff5c5 SHA512 f40c7b620b28b5bdc6ce92d43768af71b5869e7f0eb7872dd0f2751eed2bd15a17f7af26bf2dc5c6f7e6b816a174d010bfd22b3f8f5dd72f22dc4e4357dea842 +DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190605123033-f99c8df09eb5.zip 1820985 BLAKE2B 3bc7be3cbeb21910390b55595aff40b3b2c8c023e8f19a8edb6c05d20bbb161b00dfb2b71664663a366c7e7b4c39025c9da36e485ef38fc55d3d5a8328acf2d8 SHA512 8ac925ff35cb11b9ac1f41a45df0f81433d0f4a1deaa026aa6982292dd5ad9f17e4223a9034433f14edf4707b2f461c592941ccf83e427ef6ad485839d3892e3 +DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20191011191535-87dc89f01550.mod 146 BLAKE2B 6fe18cbe4eb6c3f6c26a4d2f9f309c48eb9ea59017125179cbfd61bb1e62395515c8cb286e1139fbcf54d37dcb2baa1a2f98dcfbcb6178b7f7df3b51929ff5c5 SHA512 f40c7b620b28b5bdc6ce92d43768af71b5869e7f0eb7872dd0f2751eed2bd15a17f7af26bf2dc5c6f7e6b816a174d010bfd22b3f8f5dd72f22dc4e4357dea842 +DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20191011191535-87dc89f01550.zip 1844911 BLAKE2B 512a7175e03c2aac9c4f3a454a5f428e2567e2d862e362480835722c4f80b8aeeab1880510658da9b219741dc161492096ac2124ae763163103ac22255e52f78 SHA512 fc5402097646068a495867d50f55b00c2a774ddb99df373dc860c175383f8f1ab5c802bbefa55e013e45201a3077cb04f5dc8831f3ff320422623167d8c38568 +DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20180321215751-8460e604b9de.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf +DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20180807140117-3d87b88a115f.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf +DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190121172915-509febef88a4.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf +DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190125153040-c74c464bbbf2.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf +DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190306152737-a1d7652674e8.mod 24 BLAKE2B 9615629f1bf7d58419f5b73842e19f6be3a8c8cefb217364917f1aaf68aec00de41d96700378b048d6cc385e154ed6d3db59256b4a00e9165bac7951cd0bcbab SHA512 9131017b8ab0c2362b74e0c010daeb849689025aa31cb464dc379b0e34d0fcdb66749329b111041127997440bac052249dab522ab27239858405c056e3ac5dbf +DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190510132918-efd6b22b2522.mod 327 BLAKE2B 209bd1491b6099491fca7ccfd2fabb500b56112557b4b359819b5f9d18e1587b8b1551acab53ac6c222b66b825c4058ecd6adb1d886f1868b7b96ebbd5865eea SHA512 e16919da8b2302c45f8fab5f0d200f41c2c978ad31eab2b4db18310bfbe09079d738f682920ef6530f1d5f53359ddc3d4bf33fe5cefbcefd440212b31e72ef28 +DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20190829153037-c13cbed26979.mod 352 BLAKE2B 5e146ef1d6b71ec65511cb06d8392eddb9a126b6194213f3b2ac6b675977dcdc77cbb3e46fc936189269583df4d0d80d2e393523c3ba4c55f1e8f9294e0dcaa1 SHA512 8ea874c371c0a582410e682cf475628b4fe6a0c0f57b05566a03343999da063250dcb987d9a863b96a8e1ee913612f323de296b4ddbcfecb166884bee06a8af9 +DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20191030013958-a1ab85dbe136.mod 475 BLAKE2B 3be94804cb1c692471ca7f2af890586ef57ed45a306a50fd6d6eaec9c7a161e2e4945ed11640ed30ab6f0e48ca644ec06b6b12e232b0990d4e9a08347c27491a SHA512 4b495d303e08e9bb4b43ff0c82665107a6e0a9cdd33a6d14aea491e634901fedb6341fe9e47c45fca1f89688ea3548f57ac8d62b79ef4ccb596ef4eb2e809241 +DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20191129062945-2f5052295587.mod 485 BLAKE2B 84e7d8f764e53841999e798d24dcbffea37708b68eb430f91e3e09f77cca2a2d36d9bfd115f0fdc9eb87e967d6ffeb0ff6f6990afd722e86b40046995f22600e SHA512 2c7217344b34e4870f799968403146268e8e6f85680aac25702f22e69bc4954d35a70a0743646ee8aa36f268c252a9c647e88b1dce8c47db302a1d3eca638aec +DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20191227195350-da58074b4299.mod 485 BLAKE2B 84e7d8f764e53841999e798d24dcbffea37708b68eb430f91e3e09f77cca2a2d36d9bfd115f0fdc9eb87e967d6ffeb0ff6f6990afd722e86b40046995f22600e SHA512 2c7217344b34e4870f799968403146268e8e6f85680aac25702f22e69bc4954d35a70a0743646ee8aa36f268c252a9c647e88b1dce8c47db302a1d3eca638aec +DIST golang.org%2Fx%2Fexp%2F@v%2Fv0.0.0-20191227195350-da58074b4299.zip 1483007 BLAKE2B c440b93040f4a9e79169bae3e8959bca49724abf6e172a8d35519534ba14c9d60906f0783b6e4f39ab491808824bb2cb86a18a4dbdab37575e62ccd3be6ebc65 SHA512 7f4c7eb3298dbaf5a66324a9c4b0baa872eaaff5e607621199b84008412492cde08ad7c519401e26307b3657965f842a444d28d1ee7a6fcaf27ecd6dfd64e460 +DIST golang.org%2Fx%2Fimage%2F@v%2Fv0.0.0-20180708004352-c73c2afc3b81.mod 26 BLAKE2B 99ea5bcf900233680c1e0fd7526b1e12c79143afc9e545e59796fe734cb5b788536d332179d2432924b39670e4067fb3d13752735e59b8b19b3d27e9de9403ef SHA512 e78afa02a8d030fcd336ae1c1d5d4071d14f2873a1ad72af64a744c0e5e3ec795957fbc527557f4ba5b747cbcdf31c0109b43a6d75342d85a69fac6cf97f233a +DIST golang.org%2Fx%2Fimage%2F@v%2Fv0.0.0-20190227222117-0694c2d4d067.mod 60 BLAKE2B 1c8445e3c9313293a0551c8a2acc31a1738724b96886bdf165c74de6cf2d25b784baefa2c41997a64ff189333a8c59756fac7ac41b0ae1d4f167c38574905351 SHA512 c466f8b348acdc26208bcb782cf330a979d9af086a95f307a785884492430f11fe45d1ddc3abdc1b092654b3880a5e7a456740293935b1912a1d39b658de80e8 +DIST golang.org%2Fx%2Fimage%2F@v%2Fv0.0.0-20190802002840-cff245a6509b.mod 69 BLAKE2B f2318e92793bd626374b94e2917ea05ec2b41285c169f1461365edfa00412a798775a8ce137221e1c280983a62d03bf1cc97eadaf8668661ed4387ef5823963b SHA512 d463167481b44386a011b867d6e26eaf2fe81c750325ea89f631af7b065c5152249084c45e7195a662d9b9ddde0e81a5273d8110f73a18c4d841c155c67ea0f6 +DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20181026193005-c67002cb31c3.mod 25 BLAKE2B 8942ceba0f85f2e950663feb634e602815315834dea89d18f7319100c19a27f15746a11b50157d682756fc922138660512cd6c8e75a2458b0cd512aba19760da SHA512 3ba23f3472e0ae7904b4250e2e3a1b04c719c4bb66c59ccfaf96fae2fb25ae0abf19f542f03c7179a312a008521acaf4ff389517b11dba8b6f581a9dded44883 +DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190227174305-5b3e6a55c961.mod 88 BLAKE2B ce393846b227c374753f46fc076385826a6288b0c85095e097c041b844f46b87120774c68924492c4f33c33729103a2d916d2335e24953022630314b63f606d0 SHA512 0097db2957ab98a21a73960d2a37c526e5cabcd5ba4825e44f0ec4851ef83743ae171c8dc4b6c09ea4d931c15879c247e362ca53ef8dc762b484f1ddcc483d04 +DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190301231843-5614ed5bae6f.mod 25 BLAKE2B 8942ceba0f85f2e950663feb634e602815315834dea89d18f7319100c19a27f15746a11b50157d682756fc922138660512cd6c8e75a2458b0cd512aba19760da SHA512 3ba23f3472e0ae7904b4250e2e3a1b04c719c4bb66c59ccfaf96fae2fb25ae0abf19f542f03c7179a312a008521acaf4ff389517b11dba8b6f581a9dded44883 +DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190313153728-d0100b6bd8b3.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961 +DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190409202823-959b441ac422.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961 +DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190909230951-414d861bb4ac.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961 +DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190930215403-16217165b5de.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961 +DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20191125180803-fdd1cda4f05f.mod 97 BLAKE2B ec2dbdd2dad833a979dc53c8d170b4d0f5d336f4c52f36e3116cba2f3549e42fc3191fa56b81d3b9378a52322b86cf5eb0e947e6002dc1d1bee12f7a6bc2eb36 SHA512 23082eb3c6f3e4330e88178c7511b83a06288b678e517cf8ad5062943d0a0fdcea16973425a8dc01cfeacc32ec05b2dba8edb1adfba2e0bcb2d81cb5060c6085 +DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20191125180803-fdd1cda4f05f.zip 45839 BLAKE2B 7fa2da9301cd760ce923164ca73b1e5c528f41421aeab0c9b90915b72ebf70f350766db083800d7f552c9253452dbac8c5dd48f8701dafb206513d46389b5638 SHA512 979b197fbfc92f81d4d376c4fcb0845a9e86a7a9350841d88ae2f3059c5192e2309df2e19edb76ef96e1e33bd957a83f95fe5c439d72731bd05fa29dda589e23 +DIST golang.org%2Fx%2Fmobile%2F@v%2Fv0.0.0-20190312151609-d3739f865fa6.mod 27 BLAKE2B 9bc664bbb78cd778f132bf3504160bf8f6d9950342fa73c461db815f07c0ce2ae5bb2a0ac099457d022e1edf2d07e536566fea043a77aa8b21054254ae854c46 SHA512 a105eb088532321694d3adb5da0b3cdceb7781670a2d4a8a757799e3c8fde02784b981747714cfa8770ed29eb1a0228e0945ad3c363220c39108a7432fc29a32 +DIST golang.org%2Fx%2Fmobile%2F@v%2Fv0.0.0-20190719004257-d2bd2a29d028.mod 222 BLAKE2B 5f1962cf1df6a0e8d748eacc5616c3bf0b8de117d29e57da32017cfe26eafc879d33427deeb888b283eeab56d48b3c72ef1ad0aa3706a1dcaed208026eeb0054 SHA512 6689d7c55fea7d8cfb8d2b1a934ca45793dc8d4cf4fc5b001bafe676367a93b8a8c4964d8131ba145e5e41c4da50a238d6df01dd3fc336eeb18be61b49e62416 +DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.0.0-20190513183733-4bf6d317e70e.mod 97 BLAKE2B f6c97d5de5c229ab22e047250a7030c201829f8237b63c0b272c0453dd8ea91360f4a73f9d2b56212103c76c36c01699231d9dd31d48ba8624554b5b36499190 SHA512 15deca99c6d866dcffdd51b1334fbe7f33ce88e1fd82badec64f5155782681887e7fd959ec2686fb35adf70afbe08d743e36c6a891f43462074663357e5b309a +DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.1.0.mod 97 BLAKE2B 54b5bbd5b0908619326ca8bcebebf13f45b2838737d22008f20d3f40ae52fb4f8fdb8c73cbd98b57873aefc8b37c7328aab2bf02ad82a7d5f83e0d75a9283e81 SHA512 4e955424df3c1cce0b716fc518eed10196feb34ec718c1fe537350ce99efd0676276c2000feca6faaa6f3db8ce626e2d330f700fa43a10c73120dd13f5f1a764 +DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.1.1-0.20191105210325-c90efee705ee.mod 159 BLAKE2B 7124b4e21f0b1ff142fe4cd5c57a22de7bc5b1c578e16e8661085d475d67573279c1ce3165e05a28c77a41eac43fe29b1d98854abdcc7b0b66167f82db652dd8 SHA512 5e225da646ef87b8bf435b745313187cecd1bd3e88660f8a90cd2a6fdcadbe8fc51f53edae4b3aa2357ad273a8e58034920bb61a1cd5898b95d3fe39f30ec648 +DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180724234803-3673e40ba225.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a +DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20180826012351-8a410e7b638d.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a +DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20181114220301-adae6a3d119a.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a +DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190108225652-1e06a53dbb7e.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a +DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190213061140-3a22650c66bd.mod 24 BLAKE2B dad51d0aff48ef669f448f7b41bcdb153dbdc48863761ba1cac6aa3e3eaeec838e22733e6c61796b22bcc95d9e0a274085676bf191a8072717a398a067fe9e62 SHA512 d7446d3dd844b97512470f7ff05fce72d099f7800396e2738a54d41796f0f76be07e7aea1f638fee0190c7d8ce65eefc54eebe6917a06d14da04d0c9c8f9891a +DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190311183353-d8887717615a.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2 +DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190404232315-eb5bcb51f2a3.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2 +DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190501004415-9ce7a6920f09.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2 +DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190503192946-f4e77d36d62c.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2 +DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190603091049-60506f45cf65.mod 172 BLAKE2B 6c58510adee25cabb2e31dcbd88939145c6c0856ba2fd1f0b78f82ec6f2589fe0dcce736a192d145dbab8f4ba892bebb80cb6cea4ea89fbef72f7822d157c1a1 SHA512 5b9748f38f64301e4895d9d2bc106fc9bd05a29feff5cfb53e248d168af998fd1a501c1a3c27e23af663b283093d2a48393bb0798bea449256d89ae119b225eb +DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190613194153-d28f0bde5980.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236 +DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190620200207-3b0461eec859.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236 +DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190620200207-3b0461eec859.zip 1421786 BLAKE2B 15782d84b4fd3576df5ae0c6540880b3a87f5ed47d66527ad88bbdd5e96cd1b0fb321b896b686de67d4518d3c6eecd008f1e49f48fa29df962a4d01f6e08653f SHA512 e79353b8f6b6866a14236eed278aae32ccb02eed040a557dda219cd96eecdc0174a8ac29a5509a33f6f0f9e5aa16f7d1c6861167d9798a5cb1eb01aabcee56f2 +DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190724013045-ca1201d0de80.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236 +DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20191209160850-c0dbc17a3553.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236 +DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20191209160850-c0dbc17a3553.zip 1499692 BLAKE2B 2ca64710a73a42e2c956ac30aff1ef35e9df2619ae3eaf7ebea4e6efe6cd322244daac868fce5842f08d14eb2ae3b20654d721bd8713fe2141b409aac593dbc7 SHA512 49ce7d40e2a126a4bece83b274e7c5ec18dfbc3fe2203290022a47d4eb651425dd3e90e23e747229e0b5c734fde374bfdbff629ff8466767cb17e8e94385719d +DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20180821212333-d2e6202438be.mod 27 BLAKE2B 078fc99b981406f4ee3f8da94c83954e80619e76ea63cf6323f27614bbcb870bb650eb5ffaac865a374f3ed0ef0619d97e11f05924c92e395e72cb73f28630e6 SHA512 53431e560b5d6a9b50f44997ef6755f71741ccca155767dd954da41f11f53a3e8d01d7e01a2bb9de1fdd551dd2e734cb65e5641cf5de5c9a8a6a25a4894336f5 +DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20190226205417-e64efc72b421.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b +DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20190604053449-0f29369cfe45.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b +DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20190604053449-0f29369cfe45.zip 81912 BLAKE2B 647b2edcfc6109ea26a1844c259174eb37e3a97cbf12242716d4cc308b3918b5a0b104c9a5c2f3b4974bd94c28afa7ecaf40e71aae5fdd821cb1a5a15ec978e4 SHA512 62b95055b08c73a87c7ef69b2984eefd061e3f7d71eab8e05ce82a4ab1be2ce200aae7929da77a9ec49051b7c73bcc948fa4ee782afdfb8d74dc2d206636313b +DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20191202225959-858c2ad4c8b6.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b +DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20200107190931-bf48bf16ab8d.mod 233 BLAKE2B 5a1feba7e2d9703a864889f35f70eb18d30f9c0179a1425b0f4cddf17b03d2d187ba36346243a97820ae45e03a136ac26aedfefa09c0c7bf6cbd246eddf36c50 SHA512 9e91ec99aeb8b639d63fde3cc38f750d0a29d4a05864595beec0de0667ef9193007d89cb899b1d5ba44f0675121b2cff1e09b86bad4331378a66e15ef2f4e26b +DIST golang.org%2Fx%2Foauth2%2F@v%2Fv0.0.0-20200107190931-bf48bf16ab8d.zip 84373 BLAKE2B 39bd0256afae566a53bb0b7b95adf0416653fd003bf5312c7a316a2d7c3e5d1fa25fd08bdbcdf75df45a56116fea54dcb1bf9b68b07d15d3a909e072f8f9fa06 SHA512 10a924e5fb556c2726795462c91fe7086472d6baab511ac21c1fb3c137e5a3e0db55f9ce8fe1952566d887225e3528ec8b747136f8984163acf71e869a0d8c58 +DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20180314180146-1d60e4601c6f.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0 +DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20181108010431-42b317875d0f.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0 +DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20181221193216-37e7f081c4d4.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0 +DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190227155943-e225da77a7e6.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0 +DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190423024810-112230192c58.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0 +DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190423024810-112230192c58.zip 25620 BLAKE2B 770b7dc9bdd8999123fb58cfd951dcbd5592172fd394f1a70abc918e3d7adee5273da1c757f95be15a0ede27f4fd00804564828251ab308d6fc4b116415ac144 SHA512 5a9db9d294b5f2121f3de994da38161f013a0512ad64aaf51f1c7a94b7cdb1ec4102f7c457d29f9bde209e8c254f6ad034c294af3649dbd10d5349c05874f74c +DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190911185100-cd5d95a43a6e.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0 +DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190911185100-cd5d95a43a6e.zip 26635 BLAKE2B a464a4ad04b36e50cfe966e6e6dc299c0f8b45d0f4198ba64483bb70ab815d033cec5cde60753b76dd1fbb16fed087b41179100a2002b0a61cd4a08f9de779fc SHA512 ae6f29d5f7790b37d1722d65f31708670bf19f429c60b2f6633756ecd40e47c1fab40fc128e0d70b3b6ed0ba47ce5f970ce5f4e55b8f1fa407d2efee7444b646 +DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180830151530-49385e6e1522.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c +DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180905080454-ebe1bf3edb33.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c +DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20181116152217-5ac8a444bdc5.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c +DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190215142949-d0b11bdaac8a.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c +DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190312061237-fead79001313.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab +DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190412213103-97732733099d.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab +DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190502145724-3ef323f4f1fd.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab +DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190507160741-ecd444e8653b.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab +DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190606165138-5da285871e9c.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab +DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190624142023-c5567b49c5d0.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab +DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190624142023-c5567b49c5d0.zip 1809154 BLAKE2B 63d29c0a89fdb5d1cfb9fa9f81ca75b0be518f63bddbb218581375ef651a30075e1c1a3ce46ee80dd2c3e2c25403d262bc2781f9b847db1a983db882d2ecfecf SHA512 868fa14dc95dd7381eeedd05c0026148afa4f85cd02e5ffe6f4a1e3315216378d0caef76124feb5e3d3ad2173217048d3c0b0285a032536a0a99dea47f0bfdf2 +DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190726091711-fc99dfbffb4e.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab +DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20191204072324-ce4227a45e2e.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab +DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20191228213918-04cbcbbfeed8.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab +DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200107162124-548cf772de50.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab +DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20200107162124-548cf772de50.zip 1913079 BLAKE2B 8beb8e74d186ac1a5424f65cef958515d39b3082fd35c348a86305743b26d6e378635f8b4df868ddc386a700fac7e92d24f5aac3da467a8ee08abfcab7060be6 SHA512 7ccc0910f3dd4ca652bb2f02bd0e423497b4ecb6f9e124c4c6016597893ca3c9bed3c293922e28e5e6c958cdfedc0b8ffef2fe44ca3b282ebde1ab310a975fd9 +DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.0.mod 25 BLAKE2B 31009af0fdcd0f8730c9985287e6e364ec4e5183e57e92560dbc80a2010eced51b8a90f01a82b49384268c8a0adbf69d179c205d3f68e0eb459169d2ea9528f0 SHA512 ca081ef7cccd7bbedc6843fbe0c452352661a07e1298cd02ff338ed79d807c6401d613a3cf20011189d2f98a794ffa410547b3e352eb58a6f0a84822285d391d +DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.1-0.20180807135948-17ff2d5776d2.mod 25 BLAKE2B 31009af0fdcd0f8730c9985287e6e364ec4e5183e57e92560dbc80a2010eced51b8a90f01a82b49384268c8a0adbf69d179c205d3f68e0eb459169d2ea9528f0 SHA512 ca081ef7cccd7bbedc6843fbe0c452352661a07e1298cd02ff338ed79d807c6401d613a3cf20011189d2f98a794ffa410547b3e352eb58a6f0a84822285d391d +DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.2.mod 88 BLAKE2B f3dd520e0e4e9b57feab62ecabb9169f37f1ce49b2846b949f9266f807767d38f55e4aa8ea006229c6f81cfc1e2c9dc0d1e3c186235e416dfb90fe7e04751d07 SHA512 d9361afb453b10c9d02787568ec33ea4c97a115899c6b3d1a1246547a749244e9218475ae5ae9f741d9b355260d2d3c33852673e805fcdd5f26f3ca40f035884 +DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.2.zip 7430601 BLAKE2B d2403817cb6b7e32462b90995412c4e63cfdeaf3710fc9386f4b708e0ae2be9593649e923f0d844dc4420b177e42e7abfa7657e03e27fa08be9e98d76da4cb9c SHA512 8d8dad296f1497f352e94c416711dbb1f468901a3fd2dfd0a9c67f2d59306ea611d77917289521d2845f6958f571f6c3fe2d3dab289524d8145489d5b386fbaa +DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20181108054448-85acf8d2951c.mod 25 BLAKE2B ba9e31cf2a4ab0f78a5c67d78026c2ef9571bcff7c820ce212637c8360420af274bfc47cb14bbc3df24457a4d3acb5dee38448a848abbd4e82232bef05b6b2e9 SHA512 6e51811c33b84ddd4a7548013579204266e466bd2e87aa9b6e34892570aa09c607ffa806f8a420474e26ca0e277ab23c81bb07b0ebf2c3b6ed193014c1bc37a7 +DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20190308202827-9d24e82272b4.mod 25 BLAKE2B ba9e31cf2a4ab0f78a5c67d78026c2ef9571bcff7c820ce212637c8360420af274bfc47cb14bbc3df24457a4d3acb5dee38448a848abbd4e82232bef05b6b2e9 SHA512 6e51811c33b84ddd4a7548013579204266e466bd2e87aa9b6e34892570aa09c607ffa806f8a420474e26ca0e277ab23c81bb07b0ebf2c3b6ed193014c1bc37a7 +DIST golang.org%2Fx%2Ftime%2F@v%2Fv0.0.0-20190308202827-9d24e82272b4.zip 11671 BLAKE2B 0a73cd55380594ca4bac71bee0207b51979e62407ec3c828f975e8091a20e2b9a6cc331dea88cf0ff44ff3a6c7d1cfd2844651acd1d957c0d725de525a58985f SHA512 ccd129fd4ce8e4067d0ad4b164cd8c4fb7ba65d5022bb656dfdb50dd2d467152bb83760f3d94c465b6d4c29c29931c8be6c697e1634ccbab4eb3a53edca7dc4a +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180525024113-a5b4c53f6e8b.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20180917221912-90fa682c2a6e.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190114222345-bf090417da8b.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190206041539-40960b6deb8e.mod 26 BLAKE2B 2a44c2cc034af3473d9a1d4e1c23b0f4542333853bfc0ecbfcf9eacacbb3593b449fcfc94d23f49ccc16e5a844bc72a3462a3e08a5c26194106a64d1f2732e0a SHA512 3c166b18c0ce47a47e95da9eeede63879a92b0205bd4589d554f7bae89699be0efa83e1f5bba8e50f47714ea23e759b07f4543fe06301995d39373da2db16fc0 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190226205152-f727befe758c.mod 194 BLAKE2B 94f62204dd4fd9b865aca70366a7a7754e2e92ed27591beaf789b268ad272dfb34ca0906d888c608393b4c71bc5c9f975fc86c164528ed7d0390e41b66206ec4 SHA512 8b68acbca48744320e64a70a983a471e9e2fc2249562064b10256269033473fd50264b6544646227fb666f075c4f266df1835ca3f88ee679bb97d34bf62bd195 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190311212946-11955173bddd.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190312151545-0bb0c0a6e846.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190312170243-e65039ee4138.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190328211700-ab21143f2384.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190425150028-36563e24a262.mod 146 BLAKE2B 78e7f7eaadf244c74a90edd8a3e8d092b255cc9246320ca921558467fa02e84ccc68bc6c4d1d5d4baf3c9cab7da37cf6515e4d4889d490d21f374fc4415f1733 SHA512 e9c7b67e28905435e1420333a531e6c0a8f025dc3023f22e5067d5395c8d081bd7993ceeb6ae08c4cd2d1f13aa0f46274a8788e1be085e4b12eaef785f3d7213 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190506145303-2d16b83fe98c.mod 146 BLAKE2B 78e7f7eaadf244c74a90edd8a3e8d092b255cc9246320ca921558467fa02e84ccc68bc6c4d1d5d4baf3c9cab7da37cf6515e4d4889d490d21f374fc4415f1733 SHA512 e9c7b67e28905435e1420333a531e6c0a8f025dc3023f22e5067d5395c8d081bd7993ceeb6ae08c4cd2d1f13aa0f46274a8788e1be085e4b12eaef785f3d7213 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190524140312-2c0ae7006135.mod 146 BLAKE2B 78e7f7eaadf244c74a90edd8a3e8d092b255cc9246320ca921558467fa02e84ccc68bc6c4d1d5d4baf3c9cab7da37cf6515e4d4889d490d21f374fc4415f1733 SHA512 e9c7b67e28905435e1420333a531e6c0a8f025dc3023f22e5067d5395c8d081bd7993ceeb6ae08c4cd2d1f13aa0f46274a8788e1be085e4b12eaef785f3d7213 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190606124116-d0a3d012864b.mod 155 BLAKE2B 538451f0cc08c6752c81241193caad56fcb8fb7a5cdc2ad6840ae44a1f5c3e1539067634352ded872712c84da7046b32053f9634da76c4888eec9046035a0935 SHA512 5823f6ea0fb08243f243a9577cd31397999bb387c8e29312304ca2dd0e73391cad60891a2a1181ac5fb665c1b01824933c295289a5d4cd580fc77f1bd828955b +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190621195816-6e04913cbbac.mod 155 BLAKE2B 538451f0cc08c6752c81241193caad56fcb8fb7a5cdc2ad6840ae44a1f5c3e1539067634352ded872712c84da7046b32053f9634da76c4888eec9046035a0935 SHA512 5823f6ea0fb08243f243a9577cd31397999bb387c8e29312304ca2dd0e73391cad60891a2a1181ac5fb665c1b01824933c295289a5d4cd580fc77f1bd828955b +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190628153133-6cdbf07be9d0.mod 155 BLAKE2B 538451f0cc08c6752c81241193caad56fcb8fb7a5cdc2ad6840ae44a1f5c3e1539067634352ded872712c84da7046b32053f9634da76c4888eec9046035a0935 SHA512 5823f6ea0fb08243f243a9577cd31397999bb387c8e29312304ca2dd0e73391cad60891a2a1181ac5fb665c1b01824933c295289a5d4cd580fc77f1bd828955b +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190816200558-6889da9d5479.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190911174233-4f2ddba30aff.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191012152004-8de300cfc20a.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191113191852-77e3bb0ad9e7.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191115202509-3a792d9c32b2.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191125144606-a911d9008d1f.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191216173652-a0e659d51361.mod 267 BLAKE2B d21181b3e1491ef78b09fc3546ed8ffbfeb7a4578039aaa24e2f5cc2352885c1a4d7dbfaf2853c421daa2a06691ac47513b5f186d31893fb1ef476cf9d4bb9bc SHA512 91b0380c7073eac4442bfd1924d311fc7b50b098ec4c72ea72fcc831273012326a44245add9b05a90895be46d11052ddcc942ea6bb909bda51d782f95acddff8 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191227053925-7b8e75db28f4.mod 267 BLAKE2B d21181b3e1491ef78b09fc3546ed8ffbfeb7a4578039aaa24e2f5cc2352885c1a4d7dbfaf2853c421daa2a06691ac47513b5f186d31893fb1ef476cf9d4bb9bc SHA512 91b0380c7073eac4442bfd1924d311fc7b50b098ec4c72ea72fcc831273012326a44245add9b05a90895be46d11052ddcc942ea6bb909bda51d782f95acddff8 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20200108203644-89082a384178.mod 267 BLAKE2B d21181b3e1491ef78b09fc3546ed8ffbfeb7a4578039aaa24e2f5cc2352885c1a4d7dbfaf2853c421daa2a06691ac47513b5f186d31893fb1ef476cf9d4bb9bc SHA512 91b0380c7073eac4442bfd1924d311fc7b50b098ec4c72ea72fcc831273012326a44245add9b05a90895be46d11052ddcc942ea6bb909bda51d782f95acddff8 +DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20200108203644-89082a384178.zip 2932709 BLAKE2B f5f2bb585fe7b80571f622cffb23db123cddff1608ac49ec5b10e1080d0ee34dfdfb136b4ec32b2fb49235e43064da19bf6a1988bd08fcb82f9a467dd0d6eb17 SHA512 0cdd46ed9e9968b31447ebc0be1b70746a1bca1f44dfac7608e47fa82020dcfbefd3a29a487aaf4a337443889f69f2a953fb4a5eae0ea201954072d6a620151c +DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20190717185122-a985d3407aa7.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05 +DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20191011141410-1b5146add898.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05 +DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20191204190536-9bdfabe68543.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05 +DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20191204190536-9bdfabe68543.zip 22282 BLAKE2B 68df6b35d9043f23df13432b80074544f46833467294955ae5706713055d0cc9ababda892853c14e99c80a3571fd4a807a019a098fdd2ca695ba90c577ead5c4 SHA512 c72b8b73f89624889a2874c1b2445cb82f0e545fccf6a7761a278f3f659eb19f5f1c8585641b8f89f2bcfc3817ad2c0e267751cfeeab949e287e43af5df57e28 +DIST gonum.org%2Fv1%2Fgonum%2F@v%2Fv0.0.0-20180816165407-929014505bf4.mod 147 BLAKE2B 6124c221210cb16cf7f0ea44ad962d904b2e8b050b4a86777f8a21114609c99866c53cd32572005bce9778317e2e13425cafee613ccacefa52933ae35c2fa65f SHA512 ff99bdfc473f5d75904731fc4e507a08743e5f4943d3fda12160a81dbcd1d7340935effad4e053be14da69240d6797d0462a823ba705e9f849607b8a069720d2 +DIST gonum.org%2Fv1%2Fgonum%2F@v%2Fv0.0.0-20181121035319-3f7ecaa7e8ca.mod 147 BLAKE2B 6124c221210cb16cf7f0ea44ad962d904b2e8b050b4a86777f8a21114609c99866c53cd32572005bce9778317e2e13425cafee613ccacefa52933ae35c2fa65f SHA512 ff99bdfc473f5d75904731fc4e507a08743e5f4943d3fda12160a81dbcd1d7340935effad4e053be14da69240d6797d0462a823ba705e9f849607b8a069720d2 +DIST gonum.org%2Fv1%2Fgonum%2F@v%2Fv0.6.0.mod 266 BLAKE2B a396e867f12af9acaa0ba4901fce9488d91292bbc1395946347017863a80e2ce4c6208e3a21294f970c8fa5e1ff81855a606e9ee44fe17228e79e4bb74569402 SHA512 7cbcd41fd71c39cae85710571902f9cf2a477d8ef8eedcd2b47cca7d8d36056b1c897f790714dd905e0872546eef853cb52b1aa6c39366149e69d912cf26d567 +DIST gonum.org%2Fv1%2Fgonum%2F@v%2Fv0.6.0.zip 5556184 BLAKE2B d58f92c3c5f34574c0ac4160077559d60d14fe85fe749ee8e89106859318bcd69f449476dc91c3a1af15a77ad3a99ee0f2e5aac419149f6d16c446f9707092af SHA512 ffa7f573b3bdbb11ff245859c079d63f94c339df8df3018bb1b8b7930fa06e16c42d6b23a9385d977e3e9f814b84bf071ca2ae7707c9b92c36a6b6791e4ffc0b +DIST gonum.org%2Fv1%2Fnetlib%2F@v%2Fv0.0.0-20181029234149-ec6d1f5cefe6.mod 27 BLAKE2B 7947d397295d9d1d7bd22c96f4310e54ade7afe7baf1850cead3176780d46b4f517dc1a1e3ee22e15f0345a043110cb0f32bc0175ad70de62fbaf2ee755e25a2 SHA512 1576aa0b64384add0cbec0e1e5187ba992022ba5d1ac2ed6ad2d3cd888a8f97218bd42aeb8cb5e53677e8192dc4db4c7800b15fb18c6bcc320a2c67b5bd07a37 +DIST gonum.org%2Fv1%2Fnetlib%2F@v%2Fv0.0.0-20190313105609-8cb42192e0e0.mod 27 BLAKE2B 7947d397295d9d1d7bd22c96f4310e54ade7afe7baf1850cead3176780d46b4f517dc1a1e3ee22e15f0345a043110cb0f32bc0175ad70de62fbaf2ee755e25a2 SHA512 1576aa0b64384add0cbec0e1e5187ba992022ba5d1ac2ed6ad2d3cd888a8f97218bd42aeb8cb5e53677e8192dc4db4c7800b15fb18c6bcc320a2c67b5bd07a37 +DIST gonum.org%2Fv1%2Fnetlib%2F@v%2Fv0.0.0-20190313105609-8cb42192e0e0.zip 220616 BLAKE2B ee0e947ce59df10c713766f1c8fdf27d37f64da46ffb095e7ff30da8583309f8ee15c9fa38a1790b71da466fadf87b1918600b5610fc632cd051658da32bfa50 SHA512 4439ea5da9742ca27d2ccb0604edae491594299db5b2062a4a117e8f2c08a64c6e3a87c5a3d9a606d816e89aab5eb870c13a0849b79cbb47b2659840efebc355 +DIST gonum.org%2Fv1%2Fplot%2F@v%2Fv0.0.0-20190515093506-e2840ee46a6b.mod 471 BLAKE2B 92356c493b1e94781571e05eb5096e6b40beb88c57927a955f899e8610597192fe82622f8e8f84b4c96ec00b1965552e6d5fb9166a6e3fa4f603d4fba72a4913 SHA512 ee8422d1041c7ba9306c5a49eb3bebb8c8243563250b7b3f19326769a3fb08660414625130cc1941077e7778104f6243aa5a5eb45797b72b4daf4f6abddaa32b +DIST google.golang.org%2Fapi%2F@v%2Fv0.13.0.mod 851 BLAKE2B 16f0842a8e0082a8532a7c8f5cf5092cd196a90197b3e05c6fe0275e10390e0b97477f60c07d26b422d0da9289fe3c8f2d8fb8fe2fec63af9e005adc26921724 SHA512 bd693c28b65c1b369f89a6b1926a127c91df98feb137ab5595bf141c1a67e3adcf25f79b4cbf3e4c44755d45b9f4876dacafbf18afa1e8c09fd89a8f9d0e9330 +DIST google.golang.org%2Fapi%2F@v%2Fv0.14.0.mod 851 BLAKE2B 16f0842a8e0082a8532a7c8f5cf5092cd196a90197b3e05c6fe0275e10390e0b97477f60c07d26b422d0da9289fe3c8f2d8fb8fe2fec63af9e005adc26921724 SHA512 bd693c28b65c1b369f89a6b1926a127c91df98feb137ab5595bf141c1a67e3adcf25f79b4cbf3e4c44755d45b9f4876dacafbf18afa1e8c09fd89a8f9d0e9330 +DIST google.golang.org%2Fapi%2F@v%2Fv0.15.0.mod 851 BLAKE2B 16f0842a8e0082a8532a7c8f5cf5092cd196a90197b3e05c6fe0275e10390e0b97477f60c07d26b422d0da9289fe3c8f2d8fb8fe2fec63af9e005adc26921724 SHA512 bd693c28b65c1b369f89a6b1926a127c91df98feb137ab5595bf141c1a67e3adcf25f79b4cbf3e4c44755d45b9f4876dacafbf18afa1e8c09fd89a8f9d0e9330 +DIST google.golang.org%2Fapi%2F@v%2Fv0.15.0.zip 14163585 BLAKE2B 0940d785a478203f50eb465c7e4f8686bdd54b638e21c25b41f2496bbafff66c94ab41a39ef52bb78c2bd2a59df54ca2fc77e378907397d8111e7717c8db3f48 SHA512 b81ba78ba8a62036edba302bd544c285ca5e1200209be27d6aaf62b3b116470a5cb32a1a6957c04537b407f6453057e0bd8ea9acf8fdd588c01ec9e70f8694e7 +DIST google.golang.org%2Fapi%2F@v%2Fv0.4.0.mod 506 BLAKE2B 6933fe30be88a21cca041b800cb9d095b1daf787f3701c0311da2606287d03799df9b556451d9170d02be8028ce686aaf69eaf941d2a8bdb4769c319c50c9905 SHA512 9fa566a26f8345a101dc94986755468b4782d78689d5a163aa5b960b507d4a0e8e435a8ce84073e07187745a156e2c9f586136895db2f08cfc4cd3329fc1e23a +DIST google.golang.org%2Fapi%2F@v%2Fv0.7.0.mod 802 BLAKE2B 59277c0ab43500926ae727289dfd892ce524164f7acea3d6ede2f4efceb5e89e71e88c2c9fa3e4785da4d2a69c59e5c81c4d735887a6ab52c0b07a8b6baca88d SHA512 617883d94a4de6e07dfd82d046148ccfc5ab4eaf73840a76a9823e5cf03a60b0e0b4f1b62712620de28895d013f01bcd39477cb87bfb94524a634be8818c268c +DIST google.golang.org%2Fapi%2F@v%2Fv0.8.0.mod 850 BLAKE2B c338a815e2222182387fe11a60a2eb1e463851f38725da6e7884be1c2dbdea72473ecee4fca65bd50299c5f9095ac5e52848569b7979106da3876205e5cde41f SHA512 37c90eac881c258cb947f9507ae97466b355df015f64ef2d3ecbcbc154216623676340a000362e8229f3e842e68818a73ae64b5f63e3e1820cbff7b1e7b6d89e +DIST google.golang.org%2Fapi%2F@v%2Fv0.9.0.mod 850 BLAKE2B c338a815e2222182387fe11a60a2eb1e463851f38725da6e7884be1c2dbdea72473ecee4fca65bd50299c5f9095ac5e52848569b7979106da3876205e5cde41f SHA512 37c90eac881c258cb947f9507ae97466b355df015f64ef2d3ecbcbc154216623676340a000362e8229f3e842e68818a73ae64b5f63e3e1820cbff7b1e7b6d89e +DIST google.golang.org%2Fapi%2F@v%2Fv0.9.0.zip 13193468 BLAKE2B 26449251871cda35dedc488c3c8c8fc4dc14b1bf79dfa5160b44e6890d5b350111277b1791b18d91a42bd91b6f382baf3caf62584e41c4a928afe17d564e2e6a SHA512 85d4096a7d867d8f4bcc1b3cc582512d94c626023d8abd20ca343009e62b600150076f161f3582ec88c6263695fec0c11de69290a6c6cd04a177272740132be8 +DIST google.golang.org%2Fappengine%2F@v%2Fv1.1.0.mod 35 BLAKE2B 24fb6ba95138448c45da7f1ecc4c87391485006b54b8e7ff96ec582c2659f9ea77574b4d5fef2442eff9e5564f3c3263ed8e6963c5d21cde8772a7143d82f3ed SHA512 6644c398d639794470e49cad4402d17765422934915b5a13e13e1f84d8890cc8fad9e6ea8c580d114aefea70d894242e05ce3a432ee596f772b98b6b73069fe2 +DIST google.golang.org%2Fappengine%2F@v%2Fv1.4.0.mod 162 BLAKE2B 21c4d160665b6a87101d2aec39d2f7faef9a66f6be50f7293706686022f808b131c9ce7ddfcba6c2b6d27d15f9414101650436a2403f156a0368de2bce72e482 SHA512 60fb2454326103e4905f79f23a25320cb2c0035b7a0e3c228af845ed7dae23014efb81685f29805303edf277e8b1a2d9a7530b8f3a1a8e57caa1a85edeb52475 +DIST google.golang.org%2Fappengine%2F@v%2Fv1.5.0.mod 162 BLAKE2B 21c4d160665b6a87101d2aec39d2f7faef9a66f6be50f7293706686022f808b131c9ce7ddfcba6c2b6d27d15f9414101650436a2403f156a0368de2bce72e482 SHA512 60fb2454326103e4905f79f23a25320cb2c0035b7a0e3c228af845ed7dae23014efb81685f29805303edf277e8b1a2d9a7530b8f3a1a8e57caa1a85edeb52475 +DIST google.golang.org%2Fappengine%2F@v%2Fv1.6.1.mod 362 BLAKE2B 2d6d24186c2748c4d8f559feb269b351d4260c9c0e0b9342377f23af9e5ecc02fc7f84f7be299aedb0da1b1a6d6d67c3271a826b776bb7cc034256550479a0f5 SHA512 e3c391dfcc5f14fdc5430d7a1d239d4ebec89399b17851e4d7643b8c0c70077aaec3a1bc1a8dd5e3320d8bc6e1562a26e3fe1121d75ce578f37f5d2e84a4ddf6 +DIST google.golang.org%2Fappengine%2F@v%2Fv1.6.5.mod 171 BLAKE2B 09b1ead1721eaa1dab7106f0206fd6f1c1509ddd07f70d7a23f73a1c047b9b33b41bae2519d2ba7e5c6ca632a9082483080dbffe0af3c371934f2ceab9ad334c SHA512 f99bba4e696291aae951ea3865a1cbaf0ba2df7cde4f86e942b2e5f5a4dfc6dfde95c74e52ff31ba69f2aa2a838d21843343b2203c732279eede5936b92d7c8c +DIST google.golang.org%2Fappengine%2F@v%2Fv1.6.5.zip 417678 BLAKE2B cdb4e693ed5fb2bb77ed1ce0e0b1b25dbc3648c00554ade874ce28fffd5824f487fac744f9f2cb0920aad2c94a82024e1d233d1663887f0681790488a3af6f3c SHA512 1ffe3894d8fd004f6c28916e06d8e64708c20321ff914e82d05c50ce4c62b76bcd93e74e45871f7adc779791240ef8e25df08fdaaf2abdce20a3640d8964bb28 +DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20180817151627-c66870c02cf8.mod 34 BLAKE2B cd6cb61b9f55a3c1e8b33588e98e62c9c27613ac20fb039cd70c9ecbe41c34d11d80246290ab73a9faf3ec809a15fc00267654b0eb00dbf23fe5c9758c705d9c SHA512 1c29af2b4f8b54234f09dfbfad120b4b11d4fe67e9578b0553412f1587cac2fa2bfe5537fbf15e6d52dcb04332413231c250c3c460b04e64326d2eaed3102464 +DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190307195333-5fe7a883aa19.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427 +DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190418145605-e7d98fc518a7.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427 +DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190425155659-357c62f0e4bb.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427 +DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190502173448-54afdca5d873.mod 450 BLAKE2B bf0efd5f0ff915b9f59fa81611892e70644a4b14fefd15190d0ff68043f7809f51d53766dc50fc0eb9372df3e6590d3fbcf51aec5e9b0c18027e156ce53b8df1 SHA512 37a99611220df08ac5f15ed6f718f37a35523f5cef392b7b7da86b0eaf05e4fa5e52aceb42a6b6ddf6924b1f7cc151876d2e532c83dd2edbcca7c41b9191c427 +DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190716160619-c506a9f90610.mod 331 BLAKE2B 63923e4fcfa896f163dc77009fbdee8ce8c2e31a4694b6ccddf3397cad5c89a3be5796dbc65b77cf059f1601729d976f9afd2969bd426c0cd8781b106ffe0be8 SHA512 9f22a11a1d639cc7a465b6e826c2bc3915fe0ac847159a38c470f0b1631d6f6b2e0ae0548344f7a8e97161d4c6b80113062c04062b7ab887d7d615c39cbfc2dd +DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190801165951-fa694d86fc64.mod 331 BLAKE2B 63923e4fcfa896f163dc77009fbdee8ce8c2e31a4694b6ccddf3397cad5c89a3be5796dbc65b77cf059f1601729d976f9afd2969bd426c0cd8781b106ffe0be8 SHA512 9f22a11a1d639cc7a465b6e826c2bc3915fe0ac847159a38c470f0b1631d6f6b2e0ae0548344f7a8e97161d4c6b80113062c04062b7ab887d7d615c39cbfc2dd +DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190819201941-24fa4b261c55.mod 331 BLAKE2B 63923e4fcfa896f163dc77009fbdee8ce8c2e31a4694b6ccddf3397cad5c89a3be5796dbc65b77cf059f1601729d976f9afd2969bd426c0cd8781b106ffe0be8 SHA512 9f22a11a1d639cc7a465b6e826c2bc3915fe0ac847159a38c470f0b1631d6f6b2e0ae0548344f7a8e97161d4c6b80113062c04062b7ab887d7d615c39cbfc2dd +DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20190911173649-1774047e7e51.mod 339 BLAKE2B 06dd6c875e6235007ea4f4a8350a7f80b3285e21f8ef599ea1e955a6185c5e11658040d073937a4110910c3d21d923487427c0dc626e342e10fef8efbfa95b2b SHA512 8d2fe5cf81319645c17ff8be71f966294976889b7aff74a5b234913dc34a1c7ac03548bcc9ed29120ef651705e7dc6da0c2aff892c9262d67d0044fec5685ac3 +DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20191108220845-16a3f7862a1a.mod 340 BLAKE2B bb2207855662037de3179be2e667a9cd8798e2d3c1b1eeb939f76095b9c32cca6dacd47439429b5705ad1d5c5597cb4170f17e49bcfa310c0733f1e68ffc1610 SHA512 1095755ae781f0370bb3dd72fca348c5d6640a4f89b6eddfcdd349f320ae117a4da47e48707f66743fc8dc4067285750d816d178b484dee0d21de0b2d1b129b2 +DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20191115194625-c23dd37a84c9.mod 340 BLAKE2B bb2207855662037de3179be2e667a9cd8798e2d3c1b1eeb939f76095b9c32cca6dacd47439429b5705ad1d5c5597cb4170f17e49bcfa310c0733f1e68ffc1610 SHA512 1095755ae781f0370bb3dd72fca348c5d6640a4f89b6eddfcdd349f320ae117a4da47e48707f66743fc8dc4067285750d816d178b484dee0d21de0b2d1b129b2 +DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20191216164720-4f79533eabd1.mod 340 BLAKE2B bb2207855662037de3179be2e667a9cd8798e2d3c1b1eeb939f76095b9c32cca6dacd47439429b5705ad1d5c5597cb4170f17e49bcfa310c0733f1e68ffc1610 SHA512 1095755ae781f0370bb3dd72fca348c5d6640a4f89b6eddfcdd349f320ae117a4da47e48707f66743fc8dc4067285750d816d178b484dee0d21de0b2d1b129b2 +DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20191230161307-f3c370f40bfb.mod 340 BLAKE2B bb2207855662037de3179be2e667a9cd8798e2d3c1b1eeb939f76095b9c32cca6dacd47439429b5705ad1d5c5597cb4170f17e49bcfa310c0733f1e68ffc1610 SHA512 1095755ae781f0370bb3dd72fca348c5d6640a4f89b6eddfcdd349f320ae117a4da47e48707f66743fc8dc4067285750d816d178b484dee0d21de0b2d1b129b2 +DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20200108215221-bd8f9a0ef82f.mod 340 BLAKE2B bb2207855662037de3179be2e667a9cd8798e2d3c1b1eeb939f76095b9c32cca6dacd47439429b5705ad1d5c5597cb4170f17e49bcfa310c0733f1e68ffc1610 SHA512 1095755ae781f0370bb3dd72fca348c5d6640a4f89b6eddfcdd349f320ae117a4da47e48707f66743fc8dc4067285750d816d178b484dee0d21de0b2d1b129b2 +DIST google.golang.org%2Fgenproto%2F@v%2Fv0.0.0-20200108215221-bd8f9a0ef82f.zip 8059637 BLAKE2B 3c189a7c546d4c847fd4d804661ad397e2324004d1824e705ce6510f39222889c3cea1c598b62dc732e7f6d8416c097a73da3d8f239d9c4f8d5c6ea76da5c429 SHA512 ac6ffd1e9718fbd7709d6809e69f2e5bb16f8106d23dae8502d9e1eb467eaff5ca7f63ce96a8542bae97d3c7d0a105e2269753bda01e738fb1dbd288c28c4beb +DIST google.golang.org%2Fgrpc%2F@v%2Fv1.19.0.mod 833 BLAKE2B 71052eaeaf40883bff624eecce8fd6f5669fdea9355e6ae0db9c86c841a62f7176d5ab58838d1645f59b9cb4ad4b636048aa3e9f1d7db521104b8f09dc535bc7 SHA512 38c4f75a0121cecd31b2628da3c3d77aeeb9b2c1974eef2d2d2bb7a3eb507d330debb7f14a724c8910174439b38ab54458096aaf665ea4af87a83f866ca0452e +DIST google.golang.org%2Fgrpc%2F@v%2Fv1.20.1.mod 795 BLAKE2B b825f2ab62a96b9b164410f761228575fd9882de37635c09803b9d2ce682ebbec30f301fd874aafaad95a5aa2431ba25962073e1bd4f336d8cb137e5939a8708 SHA512 585d4cf68b50a70d7967ac3941a7a83b83ed5df1a31773589a38348b6fdf247eb49e7778f7054b78ba1a65eef48d004a815abad932876cb1af2c09deea9c0db8 +DIST google.golang.org%2Fgrpc%2F@v%2Fv1.21.1.mod 828 BLAKE2B a57ef0fe7edabd002918282ba9ef83386689db2688fd8f1b9ebedd191bb0b7059cc0b99d95974ab68112cd48e1865558d314dda64c71ab239de39fe6e8f0db5b SHA512 f9ab0c8ed5a58799a39f64c63b995badb24d8ba1148c7a1be1e3342d1b0d6a6e334fa2cab16f8e9396907e60386cbccb6495dbbe3ca09440bb878e10e1686d62 +DIST google.golang.org%2Fgrpc%2F@v%2Fv1.21.1.zip 1027160 BLAKE2B 9cc654c2155c5306cbea34e57f9c6e527cd8504278921bb46186c9997a3dd15278a6cda877df9cdac8368a03dd793a071fdc55ab7591cb9d6bd26dcfbed469bd SHA512 8cd3c2d502dbf4955b29e3b0bc5439b7c9ea82c0bdbc2749bd378d5dd30eea81631dffb4aa3306ee4633b0c988f45e73103aeb5ef38d6cc63e6622886456fd06 +DIST google.golang.org%2Fgrpc%2F@v%2Fv1.23.0.mod 762 BLAKE2B 3c67c1bfdf0cef36f702e4a56d42cd7861cc573282ecf1667c7b19b97b8329a67f34a4c2ef3b2b865cabbd35a03dc43284e4c1af90dd8bb6018b0d8a192484b5 SHA512 4ea69ff3644e3e51f4a9ce73325a995b119088a9c97fec4a4811d1d9f119799182cd4dac377e3b58d96e10b8f6ba500a85ad72463ef4305d04ed1c55261526c2 +DIST google.golang.org%2Fgrpc%2F@v%2Fv1.26.0.mod 562 BLAKE2B 33a46aa2516aa10a1bfed0431c4f3d41554aa8ab5cff1f259323c47999696d0cdf9113f162eebf3bbc18cea163f1c6f8225777653191380cfccf06e5921db81e SHA512 6e06146c3ee73338a24698b08d0091dca5cc67d033e1a98ca28157dccd8e056a3a2624c798180eda5917f90e1e37aff31158cb8ab2cedeb8e4578324719605ef +DIST google.golang.org%2Fgrpc%2F@v%2Fv1.26.0.zip 1101208 BLAKE2B bee7938f7e39bd6acfe03bf03e1d4787f30384f34fbf292ddabf7e172dcf8736ebc0d32f7d26bdf0021252dcb984766bc3b778312434a4ffc5f515f009fd26ed SHA512 8b90599cca0b31538086a5d65dc124c2e7641ec42b4774b15b3f5cb063b39f3d8f83a7114e89e6aac1dc4cebbac526105378a3cd9504bc723cb26781b5d214fd +DIST gopkg.in%2Falecthomas%2Fkingpin.v2%2F@v%2Fv2.2.6.mod 38 BLAKE2B e7781691d8c15b764ef6c89fcdf20e69fc28d46e8df2703b6fdc342247595c10ed25e3cc5b30cd29b81c57837f5685e4122e1b2c218a51fffbb1567c85b0835a SHA512 585188d3a75067e6b7d8a8321959fe7df80c6a19f8668a87f0d1b8687c4d2cefc039167446f6d02f7eeeb147371bc7a673348213bcb07f4d90bebc0ccf9f2015 +DIST gopkg.in%2Fcheck.v1%2F@v%2Fv0.0.0-20161208181325-20d25e280405.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2 +DIST gopkg.in%2Fcheck.v1%2F@v%2Fv1.0.0-20180628173108-788fd7840127.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2 +DIST gopkg.in%2Fcheck.v1%2F@v%2Fv1.0.0-20180628173108-788fd7840127.zip 41465 BLAKE2B 9a7183d3ac6591399b5208026208047a670c85e8b6014ad29955b168c63bb4953fa972d31025613c2ab12d7207adeebe9578b3c15b65ebb792f1e41df2668297 SHA512 fa7c68a2b5a6bb14f99cda92a3e77aad0e4160f659c54ea73e9813af9ff9449df6b0cab42ee283971e778b6b9da4a6098df805dd284c3b1aedfcd3a0b8504bde +DIST gopkg.in%2Ferrgo.v2%2F@v%2Fv2.1.0.mod 133 BLAKE2B c4ac637e2bf2d6635065be5213d73f23a1870054c58e9f1cce93af4627ed6fdefa96798b0fbbd27666573757f8b4a48c694ddf3f86c98e898124294459500771 SHA512 cac59fd7470fc9d3203dab6b9e881d4182cfca5acf0a19207a9aff2964d42f20422f9a164bb52b2fa73c523e3caafd63028189bd4190a1670870154dbf3e8178 +DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.1.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379 +DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.2.mod 95 BLAKE2B adb3684980f1d8e6c23444e91028f8db55f1bc496114eb3508dbecf9917dbc8a0a4bed7c0d761123335a75b9ffe727e180f2d6aa5f84312edb05a798185c8362 SHA512 916ff67ddb6c2ba39905db4277ce42596d9ca5a42f8aa7f47f16335e78d91a1b30419fd1b7b6967b37e248363397ec527b38d2f500b3546edda5d2bce1944379 +DIST gopkg.in%2Fyaml.v2%2F@v%2Fv2.2.2.zip 78275 BLAKE2B 139c8eb7c405dddbb67321eacd25c0af1e5b3f031831266abf6a8e5a5ed12f6381778868383c03433f8ef760d6b42ffbff40150f2fee91dedd0b312f9fe81c7f SHA512 3214b38f348921f6a6d9ef93d4337bb90abd0d101d69d16ad8e38415c22d3b9a85bda873df2eb7a271f9b973ef38b74731405e522e1bb8083c78932762cb5535 +DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190102054323-c2f93a96b099.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce +DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190106161140-3f1c8253044a.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce +DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190418001031-e561f6794a2a.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce +DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.0-20190523083050-ea95bdfd59fc.mod 26 BLAKE2B db6cc87a17bed88b955e6b36a17568930239c94a969211b02c2d5acc70386fbea63ac44365a0d3241e900125bd64644d698d8f1bdcabc3e6cf99c47259c63df5 SHA512 d00ae74b24e7fb3ff351ff68b88e59636153bbcf92b36e81e91556e3e75a7ccfb08ce471f757f92fd7612378944de3d7309c73923812e2df6a26b74e999ca9ce +DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.1-2019.2.3.mod 300 BLAKE2B 3e3f5a2be0918cbaacd5e43e59fcc6c7c6999645f0c9214cd5a522c31d34b6d3dad61e3ddae8ccdb2f3f0d90b406c047802ee3d9d54dc40fe6eff9cd35620792 SHA512 0c8aa788d0c03d6d049f0dd7468d0f81ce2131ccedd5a5a3a18362b7d30eef7ef325277844eefe4b707b1ad71c6f83a44e110b7af7b98e05406d347237a7bafb +DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.1-2019.2.3.zip 506912 BLAKE2B a38cb31fd8df49dae4ff187e67704b5586ba78a0dcfe5afa3b820f0ac80f7e12ba4bdb705caa97c6be85407fe97599d1244d2f56f0e9e36554ba43289d9f21d8 SHA512 3285ab90762ee6b771c95e1c842ab308f04ac366ddfa693040c49d8951bb01db33994eb69c2c9dfd6ab2b379b29cbfe31558ca6b6aafe3feea1e693b2a36d0cb DIST influxdb-1.5.1.tar.gz 1225941 BLAKE2B 6d3639f0c31b885f836e3e97ad943147ba206af4f7798389972f6880d111493633595251a92c540ae23fe0f8a57eb00befb19ddb3d229318b52baebf30301320 SHA512 d536bfd960c8d2145d275da934e1638f425ed168ca3c4b3987084f8dacb2f1b827082c635ad83ad3c3cf105efdbb8465d2f0f552215775f6eb321219280d626e DIST influxdb-1.6.3.tar.gz 1506621 BLAKE2B e0594a6f9992cabbb7b44ca75b3054a97af22e02278c2b44262ec5c3a00fab35e17b48957625d0ba267e1ef924d7999feed34d2b215ea79067592f50e5dc5941 SHA512 a6bca52223ae084a7d3feef20574b0f6d96105547a17e4cb2713bee18beb0fb31d096779a908d14ceec1510db93841cba5bfd26bc5e6961538351069f1a7a728 DIST influxdb-1.6.4.tar.gz 1510337 BLAKE2B 6bd706101bb2776043d1ce0729276998e090cf57b24f4fbaa3156a673f3fd55b02b8deff3f3e0a1d8bbda446c8fe879633b51b6f52eb0f79bad5f9c19bed0e7e SHA512 19604a1cd33e5d9f81ed46f58ec32b99772077401b6d0789ad00813baaf8a1d488a9d84767fc6021f9f980f8f4e62a3bbe238037fa3a231e81eab8629d9e8838 +DIST influxdb-1.8.0.tar.gz 12064140 BLAKE2B cd3731cbfe5d7b0162dbcd36862bc6efb806e1f345993f5f249992203e6e21ca388e1b86a829333d9da807ee13c577829f27d23071645ad8e98f8da92f388c40 SHA512 d62aa9dc7777d8a1c5d3a9b36937255f783002c762ee3c60bbcb190edb4d4b0f67d99d500f67d726ec4f407b7ca350cb409b58dc6a999648884a286f8160f426 +DIST influxdb-1.8.1.tar.gz 12068325 BLAKE2B dcc5a8291188aa8f0c040dbda89fa0bbd1868f54fb92c0d90f053138839ff045c00d9e948aa1087c3b1dfb1532ba8bfda17082c6c82c92412653fe470b7a78a2 SHA512 46a3629b4cff2bee15659f8cbee125900a03f00bbde8ae1e8c7b86692a28028ff6bfdd009fa92887f08df8ef5bb4e51cef88fadfd4c8b3c87c2955bf63a9a866 +DIST rsc.io%2Fbinaryregexp%2F@v%2Fv0.2.0.mod 36 BLAKE2B 61110bed2b9e99e0250cf6e8b842257202c89b3462edf9368b73cab29f9dbd4dcc66c3e290a1d6329b7d62321eecc52082a8c4c0797eac743a29a8a00910a93f SHA512 db50ff677b0bdccbc1a1ad3df7c5cc76f2fcccf3ab99d08d1c2868440eb9b893fe89452f4286f7d42f2f16abf0f4acda67fe86e174dcfa730a743aafcc166774 +DIST rsc.io%2Fbinaryregexp%2F@v%2Fv0.2.0.zip 450232 BLAKE2B 2d10520e06557fa00e94a1ccd80b9b937bcaf404f81f853a020eed606c7a297db037baf784518e060604319ba5454423e4995ab005be18ae1398c5ef16f24719 SHA512 0a15b90c2a4577cbc298a34f714660e9fdc488b1fb72b33d0ae296cb6f15a691091d5e6d3c801998b9c2b7236b163118577b2816316078d613f74cd803947534 +DIST rsc.io%2Fpdf%2F@v%2Fv0.1.1.mod 18 BLAKE2B 02f32b5a77e5009f179cf1fdc9acbb977fe219698f19ef41acee8129e0de7ad93b0b39ce82ac1538c82a7cdd33776e270f0acec114716c791727b021a4d3e147 SHA512 f911a889614d9177295952c82f8b4a0942fcbb7b4fca7378c0b98a63ed0e37e1319d51905f906ad08144eb0f3f829a2ccc2af04c2147e60cc2ac1ea8d7dab16f EBUILD influxdb-1.5.1.ebuild 4761 BLAKE2B d9824094d3150e9641876c97cc1fb2001197dc054b563cfeaf822c1ceec75f09280e33b734493f50b2dd510750614b4c7ec48ecd7a7dd7646094ba44759daa17 SHA512 7fbd68bf32c2aba60dbf1f7256b4b75783c23d004a6d44eb51e774a8d854d552049fba4a8bfae54a5bd1d9da88a3ade9914b94bea386ad3b999d99a848cfb699 EBUILD influxdb-1.6.3.ebuild 4761 BLAKE2B d9824094d3150e9641876c97cc1fb2001197dc054b563cfeaf822c1ceec75f09280e33b734493f50b2dd510750614b4c7ec48ecd7a7dd7646094ba44759daa17 SHA512 7fbd68bf32c2aba60dbf1f7256b4b75783c23d004a6d44eb51e774a8d854d552049fba4a8bfae54a5bd1d9da88a3ade9914b94bea386ad3b999d99a848cfb699 EBUILD influxdb-1.6.4.ebuild 5105 BLAKE2B 5e2fa6c4b00acad90084e3ed280343953cdb81da586a83cc47154dc2b3867bffc7996c4d7a560b43121b7fd095d8db6938e2eee238b223b0d742bed97e4bb703 SHA512 681bd4cf91bfea48e74171bca39866efd138f8699eaf61bcec85961f481ec2015bceb2033b9d0bd217d1d95a49dd038474733c0d3e3ff80c2dbacbd0bec3c7fd -MISC metadata.xml 452 BLAKE2B b1c73f1e86864534f79c9b8e136691660014c6cffda6d92b89d6bf73cbaf17e28ba4989cbb3a48aa29cfd4587d02ac415406fdb49bccfa18c8129b8ae4cd146e SHA512 7100ef74e1dfbc09bf0accecedfeac01ddc257566fe1ea9138c0a0d1d491abe142ae677760704ba207a609d6a94e81367b515905aabd80ac1f78a4eba27d176b +EBUILD influxdb-1.8.0-r1.ebuild 25798 BLAKE2B 7bd4ee5a275971954a4a7aa0b8319c38ea687bba1169135399929e663ef08aa1bb824b5785d0a96cc4a1addbaa1d640e30d3d55829a1f963b39c52456b9fe1c7 SHA512 474ae4a6ec4c1f313899feebf8938a3b8f7110f0c23bb14ef89274a9f2e42fe4feb7f81a1e0383b3e9266e743f83d2b4afc04b2b5c2522eb7ebd934236a5eda6 +EBUILD influxdb-1.8.0.ebuild 25724 BLAKE2B ebd2c6b119c35826f54845dcde17648d1df3b9f92152c28c800681607dca92efd0a70e2e6207fb53a5571b481b79aec39c42cb807b03242604e5de00f45b2ca4 SHA512 b6a5d24191be1b7c07aa5b2d9f812169ff89bae2fbde42284b2d7e639690a27d2fd7de7021c9c2452f60b92ef50ee641462d132c165eea4793f7f27452dbd026 +EBUILD influxdb-1.8.1.ebuild 25804 BLAKE2B 2a9aee0d99c71cc12559c872de77696aa56517b8e06d1a3b0424413f9bf6139bd96bdb748dae092b548e373d9ddbcd4c461c7bc3ea97295dbedece2095e73343 SHA512 543ac5d915046458fed28707ba1c9af77bc4d139c260c72d3b8e099002912421fcecd364b566cfcc900d1ab4a8217143a63d7d006d909378bc6c11b92668ce65 +MISC metadata.xml 523 BLAKE2B 68689a4f01f7999cdf61d09cfc441f96483699cbbd2543faeaf2d1ceb7961d3c7098e18b78e2fc86ae1d0845bf1077cabb26b94fb4c796a33a20420dec61234b SHA512 f6f16f70b5ab9c58b37c8e126ab6d8f12d727350d301939d8a005c798caa008008666855ab15f2bd47bfa62ffbb2677cd79b88f977f38e6109ee24494966f600 diff --git a/dev-db/influxdb/files/influxdb.confd b/dev-db/influxdb/files/influxdb.confd index 44e8a9cd3045..7541ad057aeb 100644 --- a/dev-db/influxdb/files/influxdb.confd +++ b/dev-db/influxdb/files/influxdb.confd @@ -8,5 +8,11 @@ #This is the influxd output log: #output_log="/dev/null" +#The influxd Config file location: +#config="/etc/influxdb/influxdb.conf" + # Extra options to pass to influxd: #influxd_opts="" + +# Uncomment / edit to enable healthchecks +#INFLUXDB_HEALTHCHECK_URI="127.0.0.1:8086/ping" diff --git a/dev-db/influxdb/files/influxdb.rc-r1 b/dev-db/influxdb/files/influxdb.rc-r1 new file mode 100644 index 000000000000..7556a506784d --- /dev/null +++ b/dev-db/influxdb/files/influxdb.rc-r1 @@ -0,0 +1,45 @@ +#!/sbin/openrc-run + +config="${config:-/etc/influxdb/influxdb.conf}" +pidfile=${pidfile:-/var/run/influxd.pid} +influxd_opts=${influxd_opts:-} + +supervisor="supervise-daemon" +command=/usr/bin/influxd +command_args="-config ${config} -pidfile ${pidfile} ${influxd_opts}" +command_user="influxdb:influxdb" + +retry=SIGTERM/30/SIGKILL/10 +wait=1000 + +# Logging +error_log="${error_log:-/var/log/influxdb/influxd.log}" +output_log="${output_log:-/dev/null}" + +# Max open files +rc_ulimit="-n 65536" + +start_pre() { + # Check if config file exist + if [ ! -r "${config}" ]; then + eerror "config file ${config} doesn't exist" + return 1 + fi + if [ -n "${error_log}" ] && [ ! -e "${error_log}" ]; then + checkpath -d -o "${command_user}" "$(dirname "${error_log}")" + fi + if [ -n "${output_log}" ] && [ ! -e "${output_log}" ]; then + checkpath -d -o "${command_user}" "$(dirname "${output_log}")" + fi + return 0 +} + +if [ -n "${INFLUXDB_HEALTHCHECK_URI}" ]; then + healthcheck_delay=300 + healthcheck_timer=60 + + healthcheck() { + command -v wget || return 0 + wget -Oq- "${INFLUXDB_HEALTHCHECK_URI}" + } +fi diff --git a/dev-db/influxdb/influxdb-1.8.0-r1.ebuild b/dev-db/influxdb/influxdb-1.8.0-r1.ebuild new file mode 100644 index 000000000000..658437482efb --- /dev/null +++ b/dev-db/influxdb/influxdb-1.8.0-r1.ebuild @@ -0,0 +1,504 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Scalable datastore for metrics, events, and real-time analytics" +HOMEPAGE="https://www.influxdata.com" + +inherit go-module systemd + +EGO_PN="github.com/influxdata/${PN}" +EGO_SUM=( + "github.com/influxdata/flux v0.65.0" # MIT + "github.com/influxdata/influxql v1.1.0" # MIT + "github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e" # MIT + "github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9" # Apache-2.0 + "github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6" # Apache-2.0 + "github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368" # MIT + "github.com/gogo/protobuf v1.1.1" # BSD + "cloud.google.com/go v0.51.0" # Apache-2.0 + "cloud.google.com/go/bigtable v1.2.0" # Apache-2.0 + "google.golang.org/appengine v1.6.5" # Apache-2.0 + "github.com/google/flatbuffers v1.11.0" # Apache-2.0 + "github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db" # Apache-2.0 + "github.com/c-bata/go-prompt v0.2.2" # MIT + "github.com/cespare/xxhash v1.1.0" # MIT + "github.com/eclipse/paho.mqtt.golang v1.2.0" # EPL-1.0 + "github.com/go-sql-driver/mysql v1.4.1" # MPL-2.0 + "github.com/golang/geo v0.0.0-20190916061304-5b978397cfec" # Apache-2.0 + "github.com/golang/protobuf v1.3.2" # BSD + "github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db" # BSD + "github.com/google/go-cmp v0.4.0" # BSD + "github.com/googleapis/gax-go/v2 v2.0.5" # BSD + "github.com/jsternberg/zap-logfmt v1.0.0" # MIT + "github.com/lib/pq v1.0.0" # MIT + "github.com/mattn/go-isatty v0.0.4" # MIT + "github.com/mattn/go-runewidth v0.0.3" # MIT + "github.com/matttproud/golang_protobuf_extensions v1.0.1" # Apache-2.0 + "github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947" # Apache-2.0 + "github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f" # MIT + "github.com/pkg/errors v0.8.1" # BSD-2 + "github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5" # BSD-2 + "github.com/prometheus/common v0.6.0" # Apache-2.0 + "github.com/prometheus/client_golang v1.0.0" # Apache-2.0 + "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4" # Apache-2.0 + "github.com/prometheus/procfs v0.0.2" # Apache-2.0 + "github.com/beorn7/perks v1.0.0" # MIT + "github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b" # MIT + "github.com/segmentio/kafka-go v0.2.0" # MIT + "github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6" # MIT + "go.opencensus.io v0.22.2" # Apache-2.0 + "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7" # Apache-2.0 + "go.uber.org/zap v1.9.1" # MIT + "go.uber.org/atomic v1.3.2" # MIT + "go.uber.org/multierr v1.1.0" # MIT + "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550" # BSD + "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553" # BSD + "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d" # BSD + "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e" # BSD + "golang.org/x/sys v0.0.0-20200107162124-548cf772de50" # BSD + "golang.org/x/text v0.3.2" # BSD + "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4" # BSD + "golang.org/x/tools v0.0.0-20200108203644-89082a384178" # BSD + "google.golang.org/api v0.15.0" # BSD MIT + "google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f" # Apache-2.0 + "google.golang.org/grpc v1.26.0" # Apache-2.0 + "github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8" # MIT + "github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd" # MIT + "github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef" # MIT + "github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52" # BSD + "github.com/tinylib/msgp v1.0.2" # MIT + "github.com/philhofer/fwd v1.0.0" # MIT + "github.com/BurntSushi/toml v0.3.1" # MIT + "collectd.org v0.3.0" # ISC + "github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40" # MIT + "github.com/dgrijalva/jwt-go v3.2.0+incompatible" # MIT + "github.com/spf13/cast v1.3.0" # MIT + "github.com/boltdb/bolt v1.3.1" # MIT + "github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada" # MIT + "github.com/klauspost/compress v1.4.0" # BSD + "github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5" # MIT + "github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6" # BSD + "github.com/paulbellamy/ratecounter v0.2.0" # MIT + "github.com/willf/bitset v1.1.3" # BSD + "github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae" # Apache-2.0 + + # Tests + "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b" + "golang.org/x/exp v0.0.0-20191227195350-da58074b4299" + "golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f" + "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543" + "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127" + "gopkg.in/yaml.v2 v2.2.2" + "gonum.org/v1/gonum v0.6.0" + "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0" + "cloud.google.com/go/pubsub v1.1.0" + "cloud.google.com/go/datastore v1.0.0" + "cloud.google.com/go/bigquery v1.3.0" + "cloud.google.com/go/storage v1.5.0" + "github.com/google/martian v2.1.0+incompatible" + "github.com/google/btree v1.0.0" + "github.com/davecgh/go-spew v1.1.1" + "github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883" + "github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104" + "github.com/stretchr/testify v1.4.0" + "github.com/OneOfOne/xxhash v1.2.2" + "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72" + "github.com/smartystreets/goconvey v1.6.4" + "github.com/DATA-DOG/go-sqlmock v1.3.3" + "github.com/mattn/go-sqlite3 v1.11.0" + "github.com/pierrec/lz4 v2.0.5+incompatible" + "github.com/kr/pretty v0.1.0" + "github.com/kr/text v0.1.0" + "github.com/jstemmer/go-junit-report v0.9.1" + "github.com/jtolds/gls v4.20.0+incompatible" + "github.com/sergi/go-diff v1.0.0" + "github.com/pmezard/go-difflib v1.0.0" + "github.com/mattn/go-colorable v0.0.9" + "github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31" + "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d" + "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1" + "honnef.co/go/tools v0.0.1-2019.2.3" # MIT + "rsc.io/binaryregexp v0.2.0" + + "cloud.google.com/go v0.26.0/go.mod" + "cloud.google.com/go v0.34.0/go.mod" + "cloud.google.com/go v0.38.0/go.mod" + "cloud.google.com/go v0.43.0/go.mod" + "cloud.google.com/go v0.44.1/go.mod" + "cloud.google.com/go v0.44.2/go.mod" + "cloud.google.com/go v0.45.1/go.mod" + "cloud.google.com/go v0.46.3/go.mod" + "cloud.google.com/go v0.50.0/go.mod" + "cloud.google.com/go v0.51.0/go.mod" + "cloud.google.com/go/bigquery v1.0.1/go.mod" + "cloud.google.com/go/bigquery v1.3.0/go.mod" + "cloud.google.com/go/bigtable v1.2.0/go.mod" + "cloud.google.com/go/datastore v1.0.0/go.mod" + "cloud.google.com/go/pubsub v1.0.1/go.mod" + "cloud.google.com/go/pubsub v1.1.0/go.mod" + "cloud.google.com/go/storage v1.0.0/go.mod" + "cloud.google.com/go/storage v1.5.0/go.mod" + "collectd.org v0.3.0/go.mod" + "dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod" + "github.com/BurntSushi/toml v0.3.1/go.mod" + "github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod" + "github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod" + "github.com/OneOfOne/xxhash v1.2.2/go.mod" + "github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod" + "github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod" + "github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod" + "github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod" + "github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod" + "github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod" + "github.com/beorn7/perks v1.0.0/go.mod" + "github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod" + "github.com/boltdb/bolt v1.3.1/go.mod" + "github.com/c-bata/go-prompt v0.2.2/go.mod" + "github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod" + "github.com/cespare/xxhash v1.1.0/go.mod" + "github.com/chzyer/logex v1.1.10/go.mod" + "github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod" + "github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod" + "github.com/client9/misspell v0.3.4/go.mod" + "github.com/dave/jennifer v1.2.0/go.mod" + "github.com/davecgh/go-spew v1.1.0/go.mod" + "github.com/davecgh/go-spew v1.1.1/go.mod" + "github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod" + "github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod" + "github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod" + "github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod" + "github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod" + "github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod" + "github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod" + "github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod" + "github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod" + "github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod" + "github.com/go-kit/kit v0.8.0/go.mod" + "github.com/go-logfmt/logfmt v0.3.0/go.mod" + "github.com/go-logfmt/logfmt v0.4.0/go.mod" + "github.com/go-sql-driver/mysql v1.4.1/go.mod" + "github.com/go-stack/stack v1.8.0/go.mod" + "github.com/gogo/protobuf v1.1.1/go.mod" + "github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod" + "github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod" + "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod" + "github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod" + "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod" + "github.com/golang/mock v1.1.1/go.mod" + "github.com/golang/mock v1.2.0/go.mod" + "github.com/golang/mock v1.3.1/go.mod" + "github.com/golang/protobuf v1.2.0/go.mod" + "github.com/golang/protobuf v1.3.1/go.mod" + "github.com/golang/protobuf v1.3.2/go.mod" + "github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod" + "github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod" + "github.com/google/btree v1.0.0/go.mod" + "github.com/google/flatbuffers v1.11.0/go.mod" + "github.com/google/go-cmp v0.2.0/go.mod" + "github.com/google/go-cmp v0.3.0/go.mod" + "github.com/google/go-cmp v0.3.1/go.mod" + "github.com/google/go-cmp v0.4.0/go.mod" + "github.com/google/martian v2.1.0+incompatible/go.mod" + "github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod" + "github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod" + "github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod" + "github.com/google/renameio v0.1.0/go.mod" + "github.com/googleapis/gax-go/v2 v2.0.4/go.mod" + "github.com/googleapis/gax-go/v2 v2.0.5/go.mod" + "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod" + "github.com/hashicorp/golang-lru v0.5.0/go.mod" + "github.com/hashicorp/golang-lru v0.5.1/go.mod" + "github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod" + "github.com/inconshreveable/mousetrap v1.0.0/go.mod" + "github.com/influxdata/flux v0.65.0/go.mod" + "github.com/influxdata/influxql v1.1.0/go.mod" + "github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod" + "github.com/influxdata/promql/v2 v2.12.0/go.mod" + "github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod" + "github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod" + "github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod" + "github.com/json-iterator/go v1.1.6/go.mod" + "github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod" + "github.com/jstemmer/go-junit-report v0.9.1/go.mod" + "github.com/jsternberg/zap-logfmt v1.0.0/go.mod" + "github.com/jtolds/gls v4.20.0+incompatible/go.mod" + "github.com/julienschmidt/httprouter v1.2.0/go.mod" + "github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod" + "github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod" + "github.com/kisielk/gotool v1.0.0/go.mod" + "github.com/klauspost/compress v1.4.0/go.mod" + "github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod" + "github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod" + "github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod" + "github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod" + "github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod" + "github.com/kr/pretty v0.1.0/go.mod" + "github.com/kr/pty v1.1.1/go.mod" + "github.com/kr/text v0.1.0/go.mod" + "github.com/lib/pq v1.0.0/go.mod" + "github.com/mattn/go-colorable v0.0.9/go.mod" + "github.com/mattn/go-isatty v0.0.4/go.mod" + "github.com/mattn/go-runewidth v0.0.3/go.mod" + "github.com/mattn/go-sqlite3 v1.11.0/go.mod" + "github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod" + "github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod" + "github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod" + "github.com/modern-go/reflect2 v1.0.1/go.mod" + "github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod" + "github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod" + "github.com/opentracing/opentracing-go v1.0.2/go.mod" + "github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod" + "github.com/paulbellamy/ratecounter v0.2.0/go.mod" + "github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod" + "github.com/philhofer/fwd v1.0.0/go.mod" + "github.com/pierrec/lz4 v2.0.5+incompatible/go.mod" + "github.com/pkg/errors v0.8.0/go.mod" + "github.com/pkg/errors v0.8.1/go.mod" + "github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod" + "github.com/pmezard/go-difflib v1.0.0/go.mod" + "github.com/prometheus/client_golang v0.9.1/go.mod" + "github.com/prometheus/client_golang v1.0.0/go.mod" + "github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod" + "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod" + "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod" + "github.com/prometheus/common v0.4.1/go.mod" + "github.com/prometheus/common v0.6.0/go.mod" + "github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod" + "github.com/prometheus/procfs v0.0.2/go.mod" + "github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod" + "github.com/rogpeppe/go-internal v1.3.0/go.mod" + "github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b/go.mod" + "github.com/segmentio/kafka-go v0.1.0/go.mod" + "github.com/segmentio/kafka-go v0.2.0/go.mod" + "github.com/sergi/go-diff v1.0.0/go.mod" + "github.com/sirupsen/logrus v1.2.0/go.mod" + "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod" + "github.com/smartystreets/goconvey v1.6.4/go.mod" + "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod" + "github.com/spf13/cast v1.3.0/go.mod" + "github.com/spf13/cobra v0.0.3/go.mod" + "github.com/spf13/pflag v1.0.3/go.mod" + "github.com/stretchr/objx v0.1.0/go.mod" + "github.com/stretchr/objx v0.1.1/go.mod" + "github.com/stretchr/testify v1.2.0/go.mod" + "github.com/stretchr/testify v1.2.2/go.mod" + "github.com/stretchr/testify v1.3.0/go.mod" + "github.com/stretchr/testify v1.4.0/go.mod" + "github.com/tinylib/msgp v1.0.2/go.mod" + "github.com/willf/bitset v1.1.3/go.mod" + "github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod" + "go.opencensus.io v0.21.0/go.mod" + "go.opencensus.io v0.22.0/go.mod" + "go.opencensus.io v0.22.2/go.mod" + "go.uber.org/atomic v1.3.2/go.mod" + "go.uber.org/multierr v1.1.0/go.mod" + "go.uber.org/zap v1.9.1/go.mod" + "golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod" + "golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod" + "golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod" + "golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod" + "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod" + "golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod" + "golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod" + "golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod" + "golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod" + "golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod" + "golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod" + "golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod" + "golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod" + "golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod" + "golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod" + "golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod" + "golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod" + "golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod" + "golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod" + "golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod" + "golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod" + "golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod" + "golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod" + "golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod" + "golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod" + "golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod" + "golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod" + "golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod" + "golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod" + "golang.org/x/mod v0.1.0/go.mod" + "golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod" + "golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod" + "golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod" + "golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod" + "golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod" + "golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod" + "golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod" + "golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod" + "golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod" + "golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod" + "golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod" + "golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod" + "golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod" + "golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod" + "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod" + "golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod" + "golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod" + "golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod" + "golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod" + "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod" + "golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod" + "golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod" + "golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod" + "golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod" + "golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod" + "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod" + "golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod" + "golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod" + "golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod" + "golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod" + "golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod" + "golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod" + "golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod" + "golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod" + "golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod" + "golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod" + "golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod" + "golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod" + "golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod" + "golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod" + "golang.org/x/text v0.3.0/go.mod" + "golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod" + "golang.org/x/text v0.3.2/go.mod" + "golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod" + "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod" + "golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod" + "golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod" + "golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod" + "golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod" + "golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod" + "golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod" + "golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod" + "golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod" + "golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod" + "golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod" + "golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod" + "golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod" + "golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod" + "golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod" + "golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod" + "golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod" + "golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod" + "golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod" + "golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod" + "golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod" + "golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod" + "golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod" + "golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod" + "golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod" + "golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod" + "golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod" + "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod" + "gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod" + "gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod" + "gonum.org/v1/gonum v0.6.0/go.mod" + "gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod" + "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod" + "gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod" + "google.golang.org/api v0.4.0/go.mod" + "google.golang.org/api v0.7.0/go.mod" + "google.golang.org/api v0.8.0/go.mod" + "google.golang.org/api v0.9.0/go.mod" + "google.golang.org/api v0.13.0/go.mod" + "google.golang.org/api v0.14.0/go.mod" + "google.golang.org/api v0.15.0/go.mod" + "google.golang.org/appengine v1.1.0/go.mod" + "google.golang.org/appengine v1.4.0/go.mod" + "google.golang.org/appengine v1.5.0/go.mod" + "google.golang.org/appengine v1.6.1/go.mod" + "google.golang.org/appengine v1.6.5/go.mod" + "google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod" + "google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod" + "google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod" + "google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod" + "google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod" + "google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod" + "google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod" + "google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod" + "google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod" + "google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod" + "google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod" + "google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod" + "google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod" + "google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod" + "google.golang.org/grpc v1.19.0/go.mod" + "google.golang.org/grpc v1.20.1/go.mod" + "google.golang.org/grpc v1.21.1/go.mod" + "google.golang.org/grpc v1.23.0/go.mod" + "google.golang.org/grpc v1.26.0/go.mod" + "gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod" + "gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod" + "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod" + "gopkg.in/errgo.v2 v2.1.0/go.mod" + "gopkg.in/yaml.v2 v2.2.1/go.mod" + "gopkg.in/yaml.v2 v2.2.2/go.mod" + "honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod" + "honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod" + "honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod" + "honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod" + "honnef.co/go/tools v0.0.1-2019.2.3/go.mod" + "rsc.io/binaryregexp v0.2.0/go.mod" + "rsc.io/pdf v0.1.1/go.mod" +) +EGIT_COMMIT="781490de48220d7695a05c29e5a36f550a4568f5" +EGIT_BRANCH="1.8" + +go-module_set_globals + +SRC_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${EGO_SUM_SRC_URI}" + +LICENSE="MIT BSD Apache-2.0 EPL-1.0 MPL-2.0 BSD-2 ISC" +SLOT="0" +KEYWORDS="~amd64" +IUSE="doc" + +BDEPEND="doc? ( + >=app-text/asciidoc-8.6.10 + app-text/xmlto +)" +COMMON_DEPEND=" + acct-group/influxdb + acct-user/influxdb" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" + +src_compile() { + set -- env GOBIN="${S}/bin/" go install -a -installsuffix cgo \ + -ldflags="-s -X main.version=${PV} -X main.branch=${EGIT_BRANCH} -X main.commit=${EGIT_COMMIT}" \ + -v -work -x ./... + echo "$@" + "$@" || die "compile failed" + use doc && emake -C man build +} + +src_install() { + dobin "${S}"/bin/influx* + + use doc && dodoc *.md + use doc && doman man/*.1 + + insinto /etc/logrotate.d + newins scripts/logrotate influxdb + + systemd_dounit scripts/influxdb.service + + newconfd "${FILESDIR}"/influxdb.confd influxdb + newinitd "${FILESDIR}"/influxdb.rc-r1 influxdb + insinto /etc/influxdb + newins etc/config.sample.toml influxdb.conf + keepdir /var/log/influxdb + fowners influxdb:influxdb /var/log/influxdb +} + +src_test() { + go test ./tests || die +} diff --git a/dev-db/influxdb/influxdb-1.8.0.ebuild b/dev-db/influxdb/influxdb-1.8.0.ebuild new file mode 100644 index 000000000000..9937c0300089 --- /dev/null +++ b/dev-db/influxdb/influxdb-1.8.0.ebuild @@ -0,0 +1,505 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit go-module systemd + +DESCRIPTION=" Scalable datastore for metrics, events, and real-time analytics" +HOMEPAGE="https://www.influxdata.com" + +EGO_SUM=( + "cloud.google.com/go v0.26.0/go.mod" + "cloud.google.com/go v0.34.0/go.mod" + "cloud.google.com/go v0.38.0/go.mod" + "cloud.google.com/go v0.43.0/go.mod" + "cloud.google.com/go v0.44.1/go.mod" + "cloud.google.com/go v0.44.2/go.mod" + "cloud.google.com/go v0.45.1/go.mod" + "cloud.google.com/go v0.46.3/go.mod" + "cloud.google.com/go v0.50.0/go.mod" + "cloud.google.com/go v0.51.0" + "cloud.google.com/go v0.51.0/go.mod" + "cloud.google.com/go/bigquery v1.0.1/go.mod" + "cloud.google.com/go/bigquery v1.3.0" + "cloud.google.com/go/bigquery v1.3.0/go.mod" + "cloud.google.com/go/bigtable v1.2.0" + "cloud.google.com/go/bigtable v1.2.0/go.mod" + "cloud.google.com/go/datastore v1.0.0" + "cloud.google.com/go/datastore v1.0.0/go.mod" + "cloud.google.com/go/pubsub v1.0.1/go.mod" + "cloud.google.com/go/pubsub v1.1.0" + "cloud.google.com/go/pubsub v1.1.0/go.mod" + "cloud.google.com/go/storage v1.0.0/go.mod" + "cloud.google.com/go/storage v1.5.0" + "cloud.google.com/go/storage v1.5.0/go.mod" + "collectd.org v0.3.0" + "collectd.org v0.3.0/go.mod" + "dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod" + "github.com/BurntSushi/toml v0.3.1" + "github.com/BurntSushi/toml v0.3.1/go.mod" + "github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod" + "github.com/DATA-DOG/go-sqlmock v1.3.3" + "github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod" + "github.com/OneOfOne/xxhash v1.2.2" + "github.com/OneOfOne/xxhash v1.2.2/go.mod" + "github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod" + "github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc" + "github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod" + "github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf" + "github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod" + "github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883" + "github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod" + "github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db" + "github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod" + "github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod" + "github.com/beorn7/perks v1.0.0" + "github.com/beorn7/perks v1.0.0/go.mod" + "github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40" + "github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod" + "github.com/boltdb/bolt v1.3.1" + "github.com/boltdb/bolt v1.3.1/go.mod" + "github.com/c-bata/go-prompt v0.2.2" + "github.com/c-bata/go-prompt v0.2.2/go.mod" + "github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod" + "github.com/cespare/xxhash v1.1.0" + "github.com/cespare/xxhash v1.1.0/go.mod" + "github.com/chzyer/logex v1.1.10/go.mod" + "github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod" + "github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod" + "github.com/client9/misspell v0.3.4/go.mod" + "github.com/dave/jennifer v1.2.0/go.mod" + "github.com/davecgh/go-spew v1.1.0/go.mod" + "github.com/davecgh/go-spew v1.1.1" + "github.com/davecgh/go-spew v1.1.1/go.mod" + "github.com/dgrijalva/jwt-go v3.2.0+incompatible" + "github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod" + "github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8" + "github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod" + "github.com/eclipse/paho.mqtt.golang v1.2.0" + "github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod" + "github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod" + "github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod" + "github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod" + "github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd" + "github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod" + "github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31" + "github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod" + "github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod" + "github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod" + "github.com/go-kit/kit v0.8.0/go.mod" + "github.com/go-logfmt/logfmt v0.3.0/go.mod" + "github.com/go-logfmt/logfmt v0.4.0/go.mod" + "github.com/go-sql-driver/mysql v1.4.1" + "github.com/go-sql-driver/mysql v1.4.1/go.mod" + "github.com/go-stack/stack v1.8.0/go.mod" + "github.com/gogo/protobuf v1.1.1" + "github.com/gogo/protobuf v1.1.1/go.mod" + "github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod" + "github.com/golang/geo v0.0.0-20190916061304-5b978397cfec" + "github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod" + "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b" + "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod" + "github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod" + "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7" + "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod" + "github.com/golang/mock v1.1.1/go.mod" + "github.com/golang/mock v1.2.0/go.mod" + "github.com/golang/mock v1.3.1/go.mod" + "github.com/golang/protobuf v1.2.0/go.mod" + "github.com/golang/protobuf v1.3.1/go.mod" + "github.com/golang/protobuf v1.3.2" + "github.com/golang/protobuf v1.3.2/go.mod" + "github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db" + "github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod" + "github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod" + "github.com/google/btree v1.0.0" + "github.com/google/btree v1.0.0/go.mod" + "github.com/google/flatbuffers v1.11.0" + "github.com/google/flatbuffers v1.11.0/go.mod" + "github.com/google/go-cmp v0.2.0/go.mod" + "github.com/google/go-cmp v0.3.0" + "github.com/google/go-cmp v0.3.0/go.mod" + "github.com/google/go-cmp v0.3.1/go.mod" + "github.com/google/go-cmp v0.4.0" + "github.com/google/go-cmp v0.4.0/go.mod" + "github.com/google/martian v2.1.0+incompatible" + "github.com/google/martian v2.1.0+incompatible/go.mod" + "github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod" + "github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod" + "github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod" + "github.com/google/renameio v0.1.0/go.mod" + "github.com/googleapis/gax-go/v2 v2.0.4/go.mod" + "github.com/googleapis/gax-go/v2 v2.0.5" + "github.com/googleapis/gax-go/v2 v2.0.5/go.mod" + "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1" + "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod" + "github.com/hashicorp/golang-lru v0.5.0/go.mod" + "github.com/hashicorp/golang-lru v0.5.1/go.mod" + "github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod" + "github.com/inconshreveable/mousetrap v1.0.0" + "github.com/inconshreveable/mousetrap v1.0.0/go.mod" + "github.com/influxdata/flux v0.65.0" + "github.com/influxdata/flux v0.65.0/go.mod" + "github.com/influxdata/influxql v1.1.0" + "github.com/influxdata/influxql v1.1.0/go.mod" + "github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e" + "github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod" + "github.com/influxdata/promql/v2 v2.12.0/go.mod" + "github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6" + "github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod" + "github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9" + "github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod" + "github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368" + "github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod" + "github.com/json-iterator/go v1.1.6/go.mod" + "github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod" + "github.com/jstemmer/go-junit-report v0.9.1" + "github.com/jstemmer/go-junit-report v0.9.1/go.mod" + "github.com/jsternberg/zap-logfmt v1.0.0" + "github.com/jsternberg/zap-logfmt v1.0.0/go.mod" + "github.com/jtolds/gls v4.20.0+incompatible" + "github.com/jtolds/gls v4.20.0+incompatible/go.mod" + "github.com/julienschmidt/httprouter v1.2.0/go.mod" + "github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod" + "github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef" + "github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod" + "github.com/kisielk/gotool v1.0.0/go.mod" + "github.com/klauspost/compress v1.4.0" + "github.com/klauspost/compress v1.4.0/go.mod" + "github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5" + "github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod" + "github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6" + "github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod" + "github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada" + "github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod" + "github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod" + "github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod" + "github.com/kr/pretty v0.1.0" + "github.com/kr/pretty v0.1.0/go.mod" + "github.com/kr/pty v1.1.1/go.mod" + "github.com/kr/text v0.1.0" + "github.com/kr/text v0.1.0/go.mod" + "github.com/lib/pq v1.0.0" + "github.com/lib/pq v1.0.0/go.mod" + "github.com/mattn/go-colorable v0.0.9" + "github.com/mattn/go-colorable v0.0.9/go.mod" + "github.com/mattn/go-isatty v0.0.4" + "github.com/mattn/go-isatty v0.0.4/go.mod" + "github.com/mattn/go-runewidth v0.0.3" + "github.com/mattn/go-runewidth v0.0.3/go.mod" + "github.com/mattn/go-sqlite3 v1.11.0" + "github.com/mattn/go-sqlite3 v1.11.0/go.mod" + "github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104" + "github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod" + "github.com/matttproud/golang_protobuf_extensions v1.0.1" + "github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod" + "github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod" + "github.com/modern-go/reflect2 v1.0.1/go.mod" + "github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae" + "github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod" + "github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod" + "github.com/opentracing/opentracing-go v1.0.2/go.mod" + "github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947" + "github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod" + "github.com/paulbellamy/ratecounter v0.2.0" + "github.com/paulbellamy/ratecounter v0.2.0/go.mod" + "github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f" + "github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod" + "github.com/philhofer/fwd v1.0.0" + "github.com/philhofer/fwd v1.0.0/go.mod" + "github.com/pierrec/lz4 v2.0.5+incompatible" + "github.com/pierrec/lz4 v2.0.5+incompatible/go.mod" + "github.com/pkg/errors v0.8.0/go.mod" + "github.com/pkg/errors v0.8.1" + "github.com/pkg/errors v0.8.1/go.mod" + "github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5" + "github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod" + "github.com/pmezard/go-difflib v1.0.0" + "github.com/pmezard/go-difflib v1.0.0/go.mod" + "github.com/prometheus/client_golang v0.9.1/go.mod" + "github.com/prometheus/client_golang v1.0.0" + "github.com/prometheus/client_golang v1.0.0/go.mod" + "github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod" + "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90" + "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod" + "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4" + "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod" + "github.com/prometheus/common v0.4.1/go.mod" + "github.com/prometheus/common v0.6.0" + "github.com/prometheus/common v0.6.0/go.mod" + "github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod" + "github.com/prometheus/procfs v0.0.2" + "github.com/prometheus/procfs v0.0.2/go.mod" + "github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52" + "github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod" + "github.com/rogpeppe/go-internal v1.3.0/go.mod" + "github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b" + "github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b/go.mod" + "github.com/segmentio/kafka-go v0.1.0/go.mod" + "github.com/segmentio/kafka-go v0.2.0" + "github.com/segmentio/kafka-go v0.2.0/go.mod" + "github.com/sergi/go-diff v1.0.0" + "github.com/sergi/go-diff v1.0.0/go.mod" + "github.com/sirupsen/logrus v1.2.0/go.mod" + "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d" + "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod" + "github.com/smartystreets/goconvey v1.6.4" + "github.com/smartystreets/goconvey v1.6.4/go.mod" + "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72" + "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod" + "github.com/spf13/cast v1.3.0" + "github.com/spf13/cast v1.3.0/go.mod" + "github.com/spf13/cobra v0.0.3" + "github.com/spf13/cobra v0.0.3/go.mod" + "github.com/spf13/pflag v1.0.3" + "github.com/spf13/pflag v1.0.3/go.mod" + "github.com/stretchr/objx v0.1.0/go.mod" + "github.com/stretchr/objx v0.1.1/go.mod" + "github.com/stretchr/testify v1.2.0/go.mod" + "github.com/stretchr/testify v1.2.2/go.mod" + "github.com/stretchr/testify v1.3.0/go.mod" + "github.com/stretchr/testify v1.4.0" + "github.com/stretchr/testify v1.4.0/go.mod" + "github.com/tinylib/msgp v1.0.2" + "github.com/tinylib/msgp v1.0.2/go.mod" + "github.com/willf/bitset v1.1.3" + "github.com/willf/bitset v1.1.3/go.mod" + "github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6" + "github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod" + "go.opencensus.io v0.21.0/go.mod" + "go.opencensus.io v0.22.0/go.mod" + "go.opencensus.io v0.22.2" + "go.opencensus.io v0.22.2/go.mod" + "go.uber.org/atomic v1.3.2" + "go.uber.org/atomic v1.3.2/go.mod" + "go.uber.org/multierr v1.1.0" + "go.uber.org/multierr v1.1.0/go.mod" + "go.uber.org/zap v1.9.1" + "go.uber.org/zap v1.9.1/go.mod" + "golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod" + "golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod" + "golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod" + "golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5" + "golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod" + "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550" + "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod" + "golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod" + "golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod" + "golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod" + "golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod" + "golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod" + "golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod" + "golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod" + "golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod" + "golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod" + "golang.org/x/exp v0.0.0-20191227195350-da58074b4299" + "golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod" + "golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod" + "golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod" + "golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod" + "golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod" + "golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod" + "golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod" + "golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod" + "golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod" + "golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod" + "golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod" + "golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f" + "golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod" + "golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod" + "golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod" + "golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod" + "golang.org/x/mod v0.1.0/go.mod" + "golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod" + "golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod" + "golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod" + "golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod" + "golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod" + "golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod" + "golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod" + "golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod" + "golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod" + "golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod" + "golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod" + "golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod" + "golang.org/x/net v0.0.0-20190620200207-3b0461eec859" + "golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod" + "golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod" + "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553" + "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod" + "golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod" + "golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod" + "golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45" + "golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod" + "golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod" + "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d" + "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod" + "golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod" + "golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod" + "golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod" + "golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod" + "golang.org/x/sync v0.0.0-20190423024810-112230192c58" + "golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod" + "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e" + "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod" + "golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod" + "golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod" + "golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod" + "golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod" + "golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod" + "golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod" + "golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod" + "golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod" + "golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod" + "golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0" + "golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod" + "golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod" + "golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod" + "golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod" + "golang.org/x/sys v0.0.0-20200107162124-548cf772de50" + "golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod" + "golang.org/x/text v0.3.0/go.mod" + "golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod" + "golang.org/x/text v0.3.2" + "golang.org/x/text v0.3.2/go.mod" + "golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod" + "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4" + "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod" + "golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod" + "golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod" + "golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod" + "golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod" + "golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod" + "golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod" + "golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod" + "golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod" + "golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod" + "golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod" + "golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod" + "golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod" + "golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod" + "golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod" + "golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod" + "golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod" + "golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod" + "golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod" + "golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod" + "golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod" + "golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod" + "golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod" + "golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod" + "golang.org/x/tools v0.0.0-20200108203644-89082a384178" + "golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod" + "golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod" + "golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod" + "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543" + "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod" + "gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod" + "gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod" + "gonum.org/v1/gonum v0.6.0" + "gonum.org/v1/gonum v0.6.0/go.mod" + "gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod" + "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0" + "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod" + "gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod" + "google.golang.org/api v0.4.0/go.mod" + "google.golang.org/api v0.7.0/go.mod" + "google.golang.org/api v0.8.0/go.mod" + "google.golang.org/api v0.9.0" + "google.golang.org/api v0.9.0/go.mod" + "google.golang.org/api v0.13.0/go.mod" + "google.golang.org/api v0.14.0/go.mod" + "google.golang.org/api v0.15.0" + "google.golang.org/api v0.15.0/go.mod" + "google.golang.org/appengine v1.1.0/go.mod" + "google.golang.org/appengine v1.4.0/go.mod" + "google.golang.org/appengine v1.5.0/go.mod" + "google.golang.org/appengine v1.6.1/go.mod" + "google.golang.org/appengine v1.6.5" + "google.golang.org/appengine v1.6.5/go.mod" + "google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod" + "google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod" + "google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod" + "google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod" + "google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod" + "google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod" + "google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod" + "google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod" + "google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod" + "google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod" + "google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod" + "google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod" + "google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod" + "google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f" + "google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod" + "google.golang.org/grpc v1.19.0/go.mod" + "google.golang.org/grpc v1.20.1/go.mod" + "google.golang.org/grpc v1.21.1" + "google.golang.org/grpc v1.21.1/go.mod" + "google.golang.org/grpc v1.23.0/go.mod" + "google.golang.org/grpc v1.26.0" + "google.golang.org/grpc v1.26.0/go.mod" + "gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod" + "gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod" + "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127" + "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod" + "gopkg.in/errgo.v2 v2.1.0/go.mod" + "gopkg.in/yaml.v2 v2.2.1/go.mod" + "gopkg.in/yaml.v2 v2.2.2" + "gopkg.in/yaml.v2 v2.2.2/go.mod" + "honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod" + "honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod" + "honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod" + "honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod" + "honnef.co/go/tools v0.0.1-2019.2.3" + "honnef.co/go/tools v0.0.1-2019.2.3/go.mod" + "rsc.io/binaryregexp v0.2.0" + "rsc.io/binaryregexp v0.2.0/go.mod" + "rsc.io/pdf v0.1.1/go.mod" + ) +go-module_set_globals +SRC_URI="https://github.com/influxdata/influxdb/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${EGO_SUM_SRC_URI}" + +LICENSE="MIT BSD Apache-2.0 EPL-1.0 MPL-2.0 MIT-with-advertising BSD-2 ISC" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +BDEPEND=">=app-text/asciidoc-8.6.10 + app-text/xmlto" + COMMON_DEPEND="acct-group/influxdb + acct-user/influxdb" + DEPEND="${COMMON_DEPEND}" + RDEPEND="${COMMON_DEPEND}" + +src_compile() { + binaries=( + ./cmd/influxd + ./cmd/influx_stress + ./cmd/influx + ./cmd/influx_inspect + ./cmd/influx_tsm + ) + mkdir bin + for x in ${binaries[@]}; do + go build -o bin ${x} || die "compile failed" + done + cd man + emake build +} + +src_install() { + dobin bin/* + dodoc CHANGELOG.md etc/config.sample.toml + doman man/*.1 + insinto /etc/logrotate.d + newins scripts/logrotate influxdb + systemd_dounit scripts/influxdb.service + newconfd "${FILESDIR}"/influxdb.confd influxdb + newinitd "${FILESDIR}"/influxdb.rc influxdb + insinto /etc/influxdb + doins "${FILESDIR}"/influxd.conf + keepdir /var/log/influxdb + fowners influxdb:influxdb /var/log/influxdb +} diff --git a/dev-db/influxdb/influxdb-1.8.1.ebuild b/dev-db/influxdb/influxdb-1.8.1.ebuild new file mode 100644 index 000000000000..1d9aee6f3de1 --- /dev/null +++ b/dev-db/influxdb/influxdb-1.8.1.ebuild @@ -0,0 +1,508 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit go-module systemd +GIT_COMMIT=af0237819ab9c5997c1c0144862dc762b9d8fc25 +GIT_BRANCH=1.8 + +DESCRIPTION="Scalable datastore for metrics, events, and real-time analytics" +HOMEPAGE="https://www.influxdata.com" + +EGO_SUM=( + "cloud.google.com/go v0.26.0/go.mod" + "cloud.google.com/go v0.34.0/go.mod" + "cloud.google.com/go v0.38.0/go.mod" + "cloud.google.com/go v0.43.0/go.mod" + "cloud.google.com/go v0.44.1/go.mod" + "cloud.google.com/go v0.44.2/go.mod" + "cloud.google.com/go v0.45.1/go.mod" + "cloud.google.com/go v0.46.3/go.mod" + "cloud.google.com/go v0.50.0/go.mod" + "cloud.google.com/go v0.51.0" + "cloud.google.com/go v0.51.0/go.mod" + "cloud.google.com/go/bigquery v1.0.1/go.mod" + "cloud.google.com/go/bigquery v1.3.0" + "cloud.google.com/go/bigquery v1.3.0/go.mod" + "cloud.google.com/go/bigtable v1.2.0" + "cloud.google.com/go/bigtable v1.2.0/go.mod" + "cloud.google.com/go/datastore v1.0.0" + "cloud.google.com/go/datastore v1.0.0/go.mod" + "cloud.google.com/go/pubsub v1.0.1/go.mod" + "cloud.google.com/go/pubsub v1.1.0" + "cloud.google.com/go/pubsub v1.1.0/go.mod" + "cloud.google.com/go/storage v1.0.0/go.mod" + "cloud.google.com/go/storage v1.5.0" + "cloud.google.com/go/storage v1.5.0/go.mod" + "collectd.org v0.3.0" + "collectd.org v0.3.0/go.mod" + "dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod" + "github.com/BurntSushi/toml v0.3.1" + "github.com/BurntSushi/toml v0.3.1/go.mod" + "github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod" + "github.com/DATA-DOG/go-sqlmock v1.3.3" + "github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod" + "github.com/OneOfOne/xxhash v1.2.2" + "github.com/OneOfOne/xxhash v1.2.2/go.mod" + "github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod" + "github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc" + "github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod" + "github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf" + "github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod" + "github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883" + "github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod" + "github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db" + "github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod" + "github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod" + "github.com/beorn7/perks v1.0.0" + "github.com/beorn7/perks v1.0.0/go.mod" + "github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40" + "github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod" + "github.com/boltdb/bolt v1.3.1" + "github.com/boltdb/bolt v1.3.1/go.mod" + "github.com/c-bata/go-prompt v0.2.2" + "github.com/c-bata/go-prompt v0.2.2/go.mod" + "github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod" + "github.com/cespare/xxhash v1.1.0" + "github.com/cespare/xxhash v1.1.0/go.mod" + "github.com/chzyer/logex v1.1.10/go.mod" + "github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod" + "github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod" + "github.com/client9/misspell v0.3.4/go.mod" + "github.com/dave/jennifer v1.2.0/go.mod" + "github.com/davecgh/go-spew v1.1.0/go.mod" + "github.com/davecgh/go-spew v1.1.1" + "github.com/davecgh/go-spew v1.1.1/go.mod" + "github.com/dgrijalva/jwt-go v3.2.0+incompatible" + "github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod" + "github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8" + "github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod" + "github.com/eclipse/paho.mqtt.golang v1.2.0" + "github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod" + "github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod" + "github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod" + "github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod" + "github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd" + "github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod" + "github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31" + "github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod" + "github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod" + "github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod" + "github.com/go-kit/kit v0.8.0/go.mod" + "github.com/go-logfmt/logfmt v0.3.0/go.mod" + "github.com/go-logfmt/logfmt v0.4.0/go.mod" + "github.com/go-sql-driver/mysql v1.4.1" + "github.com/go-sql-driver/mysql v1.4.1/go.mod" + "github.com/go-stack/stack v1.8.0/go.mod" + "github.com/gogo/protobuf v1.1.1" + "github.com/gogo/protobuf v1.1.1/go.mod" + "github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod" + "github.com/golang/geo v0.0.0-20190916061304-5b978397cfec" + "github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod" + "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b" + "github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod" + "github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod" + "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7" + "github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod" + "github.com/golang/mock v1.1.1/go.mod" + "github.com/golang/mock v1.2.0/go.mod" + "github.com/golang/mock v1.3.1/go.mod" + "github.com/golang/protobuf v1.2.0/go.mod" + "github.com/golang/protobuf v1.3.1/go.mod" + "github.com/golang/protobuf v1.3.2" + "github.com/golang/protobuf v1.3.2/go.mod" + "github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db" + "github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod" + "github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod" + "github.com/google/btree v1.0.0" + "github.com/google/btree v1.0.0/go.mod" + "github.com/google/flatbuffers v1.11.0" + "github.com/google/flatbuffers v1.11.0/go.mod" + "github.com/google/go-cmp v0.2.0/go.mod" + "github.com/google/go-cmp v0.3.0" + "github.com/google/go-cmp v0.3.0/go.mod" + "github.com/google/go-cmp v0.3.1/go.mod" + "github.com/google/go-cmp v0.4.0" + "github.com/google/go-cmp v0.4.0/go.mod" + "github.com/google/martian v2.1.0+incompatible" + "github.com/google/martian v2.1.0+incompatible/go.mod" + "github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod" + "github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod" + "github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod" + "github.com/google/renameio v0.1.0/go.mod" + "github.com/googleapis/gax-go/v2 v2.0.4/go.mod" + "github.com/googleapis/gax-go/v2 v2.0.5" + "github.com/googleapis/gax-go/v2 v2.0.5/go.mod" + "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1" + "github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod" + "github.com/hashicorp/golang-lru v0.5.0/go.mod" + "github.com/hashicorp/golang-lru v0.5.1/go.mod" + "github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod" + "github.com/inconshreveable/mousetrap v1.0.0" + "github.com/inconshreveable/mousetrap v1.0.0/go.mod" + "github.com/influxdata/flux v0.65.0" + "github.com/influxdata/flux v0.65.0/go.mod" + "github.com/influxdata/influxql v1.1.0" + "github.com/influxdata/influxql v1.1.0/go.mod" + "github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e" + "github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod" + "github.com/influxdata/promql/v2 v2.12.0/go.mod" + "github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6" + "github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod" + "github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9" + "github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod" + "github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368" + "github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod" + "github.com/json-iterator/go v1.1.6/go.mod" + "github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod" + "github.com/jstemmer/go-junit-report v0.9.1" + "github.com/jstemmer/go-junit-report v0.9.1/go.mod" + "github.com/jsternberg/zap-logfmt v1.0.0" + "github.com/jsternberg/zap-logfmt v1.0.0/go.mod" + "github.com/jtolds/gls v4.20.0+incompatible" + "github.com/jtolds/gls v4.20.0+incompatible/go.mod" + "github.com/julienschmidt/httprouter v1.2.0/go.mod" + "github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod" + "github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef" + "github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod" + "github.com/kisielk/gotool v1.0.0/go.mod" + "github.com/klauspost/compress v1.4.0" + "github.com/klauspost/compress v1.4.0/go.mod" + "github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5" + "github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod" + "github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6" + "github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod" + "github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada" + "github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod" + "github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod" + "github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod" + "github.com/kr/pretty v0.1.0" + "github.com/kr/pretty v0.1.0/go.mod" + "github.com/kr/pty v1.1.1/go.mod" + "github.com/kr/text v0.1.0" + "github.com/kr/text v0.1.0/go.mod" + "github.com/lib/pq v1.0.0" + "github.com/lib/pq v1.0.0/go.mod" + "github.com/mattn/go-colorable v0.0.9" + "github.com/mattn/go-colorable v0.0.9/go.mod" + "github.com/mattn/go-isatty v0.0.4" + "github.com/mattn/go-isatty v0.0.4/go.mod" + "github.com/mattn/go-runewidth v0.0.3" + "github.com/mattn/go-runewidth v0.0.3/go.mod" + "github.com/mattn/go-sqlite3 v1.11.0" + "github.com/mattn/go-sqlite3 v1.11.0/go.mod" + "github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104" + "github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod" + "github.com/matttproud/golang_protobuf_extensions v1.0.1" + "github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod" + "github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod" + "github.com/modern-go/reflect2 v1.0.1/go.mod" + "github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae" + "github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod" + "github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod" + "github.com/opentracing/opentracing-go v1.0.2/go.mod" + "github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947" + "github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod" + "github.com/paulbellamy/ratecounter v0.2.0" + "github.com/paulbellamy/ratecounter v0.2.0/go.mod" + "github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f" + "github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod" + "github.com/philhofer/fwd v1.0.0" + "github.com/philhofer/fwd v1.0.0/go.mod" + "github.com/pierrec/lz4 v2.0.5+incompatible" + "github.com/pierrec/lz4 v2.0.5+incompatible/go.mod" + "github.com/pkg/errors v0.8.0/go.mod" + "github.com/pkg/errors v0.8.1" + "github.com/pkg/errors v0.8.1/go.mod" + "github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5" + "github.com/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod" + "github.com/pmezard/go-difflib v1.0.0" + "github.com/pmezard/go-difflib v1.0.0/go.mod" + "github.com/prometheus/client_golang v0.9.1/go.mod" + "github.com/prometheus/client_golang v1.0.0" + "github.com/prometheus/client_golang v1.0.0/go.mod" + "github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod" + "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90" + "github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod" + "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4" + "github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod" + "github.com/prometheus/common v0.4.1/go.mod" + "github.com/prometheus/common v0.6.0" + "github.com/prometheus/common v0.6.0/go.mod" + "github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod" + "github.com/prometheus/procfs v0.0.2" + "github.com/prometheus/procfs v0.0.2/go.mod" + "github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52" + "github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod" + "github.com/rogpeppe/go-internal v1.3.0/go.mod" + "github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b" + "github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b/go.mod" + "github.com/segmentio/kafka-go v0.1.0/go.mod" + "github.com/segmentio/kafka-go v0.2.0" + "github.com/segmentio/kafka-go v0.2.0/go.mod" + "github.com/sergi/go-diff v1.0.0" + "github.com/sergi/go-diff v1.0.0/go.mod" + "github.com/sirupsen/logrus v1.2.0/go.mod" + "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d" + "github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod" + "github.com/smartystreets/goconvey v1.6.4" + "github.com/smartystreets/goconvey v1.6.4/go.mod" + "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72" + "github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod" + "github.com/spf13/cast v1.3.0" + "github.com/spf13/cast v1.3.0/go.mod" + "github.com/spf13/cobra v0.0.3" + "github.com/spf13/cobra v0.0.3/go.mod" + "github.com/spf13/pflag v1.0.3" + "github.com/spf13/pflag v1.0.3/go.mod" + "github.com/stretchr/objx v0.1.0/go.mod" + "github.com/stretchr/objx v0.1.1/go.mod" + "github.com/stretchr/testify v1.2.0/go.mod" + "github.com/stretchr/testify v1.2.2/go.mod" + "github.com/stretchr/testify v1.3.0/go.mod" + "github.com/stretchr/testify v1.4.0" + "github.com/stretchr/testify v1.4.0/go.mod" + "github.com/tinylib/msgp v1.0.2" + "github.com/tinylib/msgp v1.0.2/go.mod" + "github.com/willf/bitset v1.1.3" + "github.com/willf/bitset v1.1.3/go.mod" + "github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6" + "github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod" + "go.opencensus.io v0.21.0/go.mod" + "go.opencensus.io v0.22.0/go.mod" + "go.opencensus.io v0.22.2" + "go.opencensus.io v0.22.2/go.mod" + "go.uber.org/atomic v1.3.2" + "go.uber.org/atomic v1.3.2/go.mod" + "go.uber.org/multierr v1.1.0" + "go.uber.org/multierr v1.1.0/go.mod" + "go.uber.org/zap v1.9.1" + "go.uber.org/zap v1.9.1/go.mod" + "golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod" + "golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod" + "golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod" + "golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5" + "golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod" + "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550" + "golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod" + "golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod" + "golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod" + "golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod" + "golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod" + "golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod" + "golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod" + "golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod" + "golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod" + "golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod" + "golang.org/x/exp v0.0.0-20191227195350-da58074b4299" + "golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod" + "golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod" + "golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod" + "golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod" + "golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod" + "golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod" + "golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod" + "golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod" + "golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod" + "golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod" + "golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod" + "golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f" + "golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod" + "golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod" + "golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod" + "golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod" + "golang.org/x/mod v0.1.0/go.mod" + "golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod" + "golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod" + "golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod" + "golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod" + "golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod" + "golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod" + "golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod" + "golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod" + "golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod" + "golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod" + "golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod" + "golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod" + "golang.org/x/net v0.0.0-20190620200207-3b0461eec859" + "golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod" + "golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod" + "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553" + "golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod" + "golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod" + "golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod" + "golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45" + "golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod" + "golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod" + "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d" + "golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod" + "golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod" + "golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod" + "golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod" + "golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod" + "golang.org/x/sync v0.0.0-20190423024810-112230192c58" + "golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod" + "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e" + "golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod" + "golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod" + "golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod" + "golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod" + "golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod" + "golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod" + "golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod" + "golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod" + "golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod" + "golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod" + "golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0" + "golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod" + "golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod" + "golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod" + "golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod" + "golang.org/x/sys v0.0.0-20200107162124-548cf772de50" + "golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod" + "golang.org/x/text v0.3.0/go.mod" + "golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod" + "golang.org/x/text v0.3.2" + "golang.org/x/text v0.3.2/go.mod" + "golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod" + "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4" + "golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod" + "golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod" + "golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod" + "golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod" + "golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod" + "golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod" + "golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod" + "golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod" + "golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod" + "golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod" + "golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod" + "golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod" + "golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod" + "golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod" + "golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod" + "golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod" + "golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod" + "golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod" + "golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod" + "golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod" + "golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod" + "golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod" + "golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod" + "golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod" + "golang.org/x/tools v0.0.0-20200108203644-89082a384178" + "golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod" + "golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod" + "golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod" + "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543" + "golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod" + "gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod" + "gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod" + "gonum.org/v1/gonum v0.6.0" + "gonum.org/v1/gonum v0.6.0/go.mod" + "gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod" + "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0" + "gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod" + "gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod" + "google.golang.org/api v0.4.0/go.mod" + "google.golang.org/api v0.7.0/go.mod" + "google.golang.org/api v0.8.0/go.mod" + "google.golang.org/api v0.9.0" + "google.golang.org/api v0.9.0/go.mod" + "google.golang.org/api v0.13.0/go.mod" + "google.golang.org/api v0.14.0/go.mod" + "google.golang.org/api v0.15.0" + "google.golang.org/api v0.15.0/go.mod" + "google.golang.org/appengine v1.1.0/go.mod" + "google.golang.org/appengine v1.4.0/go.mod" + "google.golang.org/appengine v1.5.0/go.mod" + "google.golang.org/appengine v1.6.1/go.mod" + "google.golang.org/appengine v1.6.5" + "google.golang.org/appengine v1.6.5/go.mod" + "google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod" + "google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod" + "google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod" + "google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod" + "google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod" + "google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod" + "google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod" + "google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod" + "google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod" + "google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod" + "google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod" + "google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod" + "google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod" + "google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f" + "google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod" + "google.golang.org/grpc v1.19.0/go.mod" + "google.golang.org/grpc v1.20.1/go.mod" + "google.golang.org/grpc v1.21.1" + "google.golang.org/grpc v1.21.1/go.mod" + "google.golang.org/grpc v1.23.0/go.mod" + "google.golang.org/grpc v1.26.0" + "google.golang.org/grpc v1.26.0/go.mod" + "gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod" + "gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod" + "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127" + "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod" + "gopkg.in/errgo.v2 v2.1.0/go.mod" + "gopkg.in/yaml.v2 v2.2.1/go.mod" + "gopkg.in/yaml.v2 v2.2.2" + "gopkg.in/yaml.v2 v2.2.2/go.mod" + "honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod" + "honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod" + "honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod" + "honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod" + "honnef.co/go/tools v0.0.1-2019.2.3" + "honnef.co/go/tools v0.0.1-2019.2.3/go.mod" + "rsc.io/binaryregexp v0.2.0" + "rsc.io/binaryregexp v0.2.0/go.mod" + "rsc.io/pdf v0.1.1/go.mod" + ) +go-module_set_globals +SRC_URI="https://github.com/influxdata/influxdb/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${EGO_SUM_SRC_URI}" + +LICENSE="MIT BSD Apache-2.0 EPL-1.0 MPL-2.0 BSD-2 ISC" +SLOT="0" +KEYWORDS="~amd64" +IUSE="man" + +BDEPEND="man? ( + app-text/asciidoc + app-text/xmlto +)" +COMMON_DEPEND=" + acct-group/influxdb + acct-user/influxdb" +DEPEND="${COMMON_DEPEND}" +RDEPEND="${COMMON_DEPEND}" + +src_compile() { + set -- env GOBIN="${S}/bin/" go install \ + -ldflags="-X main.version=${PV} -X main.branch=${GIT_BRANCH} -X main.commit=${GIT_COMMIT}" \ + ./... + echo "$@" + "$@" || die "compile failed" + use man && emake -C man build +} + +src_install() { + dobin bin/influx* + dodoc *.md + use man && doman man/*.1 + insinto /etc/influxdb + newins etc/config.sample.toml influxdb.conf + insinto /etc/logrotate.d + newins scripts/logrotate influxdb + systemd_dounit scripts/influxdb.service + + newconfd "${FILESDIR}"/influxdb.confd influxdb + newinitd "${FILESDIR}"/influxdb.rc-r1 influxdb + keepdir /var/log/influxdb + fowners influxdb:influxdb /var/log/influxdb +} + +src_test() { + go test ./tests || die +} diff --git a/dev-db/influxdb/metadata.xml b/dev-db/influxdb/metadata.xml index 893224717480..da3b7249ff46 100644 --- a/dev-db/influxdb/metadata.xml +++ b/dev-db/influxdb/metadata.xml @@ -10,4 +10,7 @@ dependencies. It is useful for recording metrics, events, and performing analytics. </longdescription> + <use> + <flag name="man">Build and install man pages</flag> + </use> </pkgmetadata> diff --git a/dev-db/innotop/Manifest b/dev-db/innotop/Manifest index b68a02dbf58e..bfb70f58b3c6 100644 --- a/dev-db/innotop/Manifest +++ b/dev-db/innotop/Manifest @@ -1,7 +1,3 @@ -DIST innotop-1.11.1.tar.gz 178295 BLAKE2B d863ca92baf30d8570116892bbb3587233bfaf01cd7a3e20d659a0c6f39016c7f735961a94f2b63db2db9f01ab4ed8f87a767157ec6d4b243790c3d2d33cf460 SHA512 49654e8ed81f5690c7e80fb169ad514caedb8d62e22bddc12cc234701875bc8ca7e2cc79061c10557d63dadbb40f2328a58b38dcf8aa60469c0c1558dbf0bed9 -DIST innotop-1.11.4.tar.gz 179683 BLAKE2B 972a5304e97dd430ff59f1683da782b23633a82c47491704b42d46036ca30458ec961b2e071d983905217d18007430f9732e65de2fabf72bf05838af259d30ab SHA512 678d57074fd4fc87c93032052b87dc187cfe273e99fef8ec8f93131f8d885613bacda7b900f56e7572a6cc51c36c26fe1968e55dd1736b8509fb6e269c9d2aff DIST innotop-1.12.0.tar.gz 182854 BLAKE2B 1470f21fe7882e920966a856365586c37461c955f0d07ea72a9bffa16b1a112fe5daa2dec585f888c90570d28f9af4e88885a36910bf892cc4f69abd044a4494 SHA512 bc650cd8fb5e5b83f12ccccc852802d676500d7241fe0beaa2a67c3dcca90ab06f329f0a6750789b6097ab201630b9ecf494159086d904ce7c1cfe7aefb5a635 -EBUILD innotop-1.11.1.ebuild 636 BLAKE2B 885c065db1f297257955835aedf47c51eb768181a3cad3b17b07cae084935f1dd69b5886b2badc9adbf1f2a77acb9041d1308a5c9db35db4bab286c392cf0af0 SHA512 99631c9b1cc35783b526b46ae23cac85603b67f3aa1edee09a0b931adee9b59e67bebb8c79905c41d1447e0dad12ca791e26ff9d5918797db43c4a865fd27556 -EBUILD innotop-1.11.4.ebuild 636 BLAKE2B 54eadd7a6fdce16f6e7f61347666e9a1489a8218f4e82c9ac9d65cf927913fc04b92a46d4b6e655f5517e241d150b106244467c32d2baeec09ba35b1a810e46b SHA512 7b6c18ac7149d41b54cdd296ad0431dc291ebb6baa23dbba5a0903ea58a384cece14907238e05f31c64be49f18e6f4eda913a62d01ca06ca37173bd53a6a1d7c EBUILD innotop-1.12.0.ebuild 633 BLAKE2B 7f987ee26b6f469700f107f5b27b5b15e81790656c326c36fec36c3429dac8aa9c982fc62700bf6004103419e1a96c43aa90be83ce01eaf5d6fd8d3937d0224f SHA512 978a673305506a4abf085f6fa5eb9dc2d895e0f550b1f757589cdd3a512ce8ddb881932b478a6096a6a4ddc38c5608286ad0704eb6681069b4df77c845f71931 MISC metadata.xml 446 BLAKE2B 240fcfb51fe22a85a88ced188db07907943c96264440ac9af750eb071cde67ed3178bc32d402dc40dbd157dead3ed604e3193813be0ab5b460e365428f7296e5 SHA512 788b300a652ef6577b92c1db658937f7db9beffe2ae3a94559f0c3a885fbe0a0cfaef2aa6b7bc8fc907823722d4b9016b2e272b47932628b55d4512a7bfc9bf7 diff --git a/dev-db/innotop/innotop-1.11.1.ebuild b/dev-db/innotop/innotop-1.11.1.ebuild deleted file mode 100644 index cdc2f369ac59..000000000000 --- a/dev-db/innotop/innotop-1.11.1.ebuild +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -inherit perl-module - -DESCRIPTION="A text-mode MySQL and InnoDB monitor like mytop, but with many more features" -HOMEPAGE="https://github.com/innotop/innotop" -SRC_URI="https://github.com/innotop/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="|| ( Artistic GPL-2 )" -KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86" -SLOT="0" -IUSE="" - -DEPEND="dev-perl/DBI - dev-perl/DBD-mysql - dev-perl/TermReadKey - virtual/perl-Term-ANSIColor - virtual/perl-Time-HiRes" - -DIST_TEST="do parallel" - -src_install() { - perl-module_src_install -} diff --git a/dev-db/innotop/innotop-1.11.4.ebuild b/dev-db/innotop/innotop-1.11.4.ebuild deleted file mode 100644 index bb3180d850d9..000000000000 --- a/dev-db/innotop/innotop-1.11.4.ebuild +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -inherit perl-module - -DESCRIPTION="A text-mode MySQL and InnoDB monitor like mytop, but with many more features" -HOMEPAGE="https://github.com/innotop/innotop" -SRC_URI="https://github.com/innotop/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="|| ( Artistic GPL-2 )" -KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86" -SLOT="0" -IUSE="" - -DEPEND="dev-perl/DBI - dev-perl/DBD-mysql - dev-perl/TermReadKey - virtual/perl-Term-ANSIColor - virtual/perl-Time-HiRes" - -DIST_TEST="do parallel" - -src_install() { - perl-module_src_install -} diff --git a/dev-db/mariadb-connector-c/Manifest b/dev-db/mariadb-connector-c/Manifest index 52d2e03ee45f..34d4882f3596 100644 --- a/dev-db/mariadb-connector-c/Manifest +++ b/dev-db/mariadb-connector-c/Manifest @@ -1,12 +1,6 @@ AUX gentoo-layout-3.0.patch 311 BLAKE2B 4c2f0ae8aa53d605bcaf134274d3b549ec970b43cc68eed1ac71cf089c9fa32a1343d7ebfdf428e7f25032f5782aecfb86fb8f78528ffc708ab15dc7285a24e7 SHA512 4d5a48b4dd66aab04ba597b30e96b4601c6745acca21be1daf051ba6ce1e8fef1a0efa46d8e81da1ecdc893a8ee471bd8c7ed0c5436ee33b8b4f7cd18fdca1a5 AUX mariadb-connector-c-3.1.3-fix-pkconfig-file.patch 616 BLAKE2B 650c5a794da6d3d0095a823917704d52a5f16c349ce7017b93b1bebfec01287929470a89a2e4aec2f9f7cd5135368e43f2a2e89257c0d7042b878e1806ede8aa SHA512 fe621abedaf81d1fa367c52f69ccce1765757db8d9f412aa40b440d7e51d4de3785a90150e76893f7066b1ba656eb1bad020465e58adae13f08245b839bde4de -DIST mariadb-connector-c-3.1.6-src.tar.gz 742858 BLAKE2B 416cc33cf7a01fee9649f6c35e0a7e16b889a1fad10f2b204e259a2672535d1ad7f9ade9723989a4ce00cf8a2c4660f40357516bfdc4547118a54637911f9b60 SHA512 44309e706cb49451a0d1a91f907ab7cfa1fb1bf95d26cf3bbce1caa367c2fa8ad377a691361e297dd2fcbc444c10115f18aec66dd6d69c458f282ace3025a3e8 -DIST mariadb-connector-c-3.1.7-src.tar.gz 742923 BLAKE2B 641c3c49cf83af918e5dab06f9b8afecd59bd7b6486cc55b33749cd0ef317ab6cff86da9b85829b0309305a190e16f4ecc369210c54070e265387a5818c48ca1 SHA512 0b7f6497b6b88b2bbcb870b7c3a8f3fe0bf547c6b5d9b95cc99423aa8ea02ac510c5fb71079e7cd79a49741c7f26f3e68c39e245b18fab46754e8640f79ff670 -DIST mariadb-connector-c-3.1.8-src.tar.gz 744745 BLAKE2B 24f4f6a8bb3a1fcbdf2c5a7434303e6a2295cb4aed0c59ee4cb776399516a9895eb51d6ef18dde429d7246750cad797f4f89c3838dfd54e835683021d712041b SHA512 005fdacd7e7b353b97b5c1305f973a90744e495d7bf5d407fc6c75d49323e13a743e6c3877c00ada2b3fc49a0f33e5c2dcd70b1f8fe8eb8f579af1bce3b3e6b9 DIST mariadb-connector-c-3.1.9-src.tar.gz 745374 BLAKE2B 47c1bf1ffe888f6c2aefdb4661ad8bfe41c527d6ddc2b2aaf8da8003eebce90da420a52143265510ac47f07286d6dbfa27c4d82ce193c23aa928d0b22f83b87a SHA512 cf7cd3a7592a15e2a4800c6a899e6b515ef899f4525c9f5f7d09faafbd72ac5b70a85e1c60119f58d1b5caa0f0f3657a544555bb47cdc22eabe74308c0c4bf42 -EBUILD mariadb-connector-c-3.1.6.ebuild 2336 BLAKE2B f17769bbdc21d9a16c77f50699931b6b154f19a816a302700ef35c6668aa9145dcb68092a8fbdfc8c726655c391e905fa6836d3711171fac83a5ff7e6e21ac7c SHA512 51c996013e51d496d2225d3299977120ba297e58c48769c9ae644bb889ad4b9647c85584603949a0b05555420ea960c92d6b9f9136dd1c223c2af87733ca22b9 -EBUILD mariadb-connector-c-3.1.7.ebuild 2351 BLAKE2B 1c1a5117a6615079960b336fe290a2623a31fe16e14c2407370c9f3c945d23b72eacdd193aa79035d7e3220d02a00c9a035727ec65df78e498ed40c999b7f465 SHA512 a66f34d61aa78d017e078abc060ab589aec28afcc318785439c430b73ebb8b8c47140c3c1fb3fa39f4ee0794d76c751a8ccab31b12360ad24d51a51dd83f1e0f -EBUILD mariadb-connector-c-3.1.8.ebuild 2351 BLAKE2B 1c1a5117a6615079960b336fe290a2623a31fe16e14c2407370c9f3c945d23b72eacdd193aa79035d7e3220d02a00c9a035727ec65df78e498ed40c999b7f465 SHA512 a66f34d61aa78d017e078abc060ab589aec28afcc318785439c430b73ebb8b8c47140c3c1fb3fa39f4ee0794d76c751a8ccab31b12360ad24d51a51dd83f1e0f EBUILD mariadb-connector-c-3.1.9.ebuild 2343 BLAKE2B 652296c85beb8bc4e6529e8dcddc19d3448559e446092344ea0b86a9b758c81d56c48b05c6bef3df6f55226a3e410009cea42c86c8bc25e43ba0bd31139ea7ff SHA512 414fc4666d6d16b2572416c7e537e27e96112b876c564076d8d80a40c0303e41b7d0ecf61865aa1a2900fc5df1a809417ef22d71ce849733d609022952c1bce8 EBUILD mariadb-connector-c-9999.ebuild 2351 BLAKE2B 1c1a5117a6615079960b336fe290a2623a31fe16e14c2407370c9f3c945d23b72eacdd193aa79035d7e3220d02a00c9a035727ec65df78e498ed40c999b7f465 SHA512 a66f34d61aa78d017e078abc060ab589aec28afcc318785439c430b73ebb8b8c47140c3c1fb3fa39f4ee0794d76c751a8ccab31b12360ad24d51a51dd83f1e0f MISC metadata.xml 243 BLAKE2B f247f748a23e4cda2f518ad7e4e53b9027ff08ec62289010e6dfc8cd2ad49412430c4095e80f2156c8e6f1226bcda0163b4faae83759550f79e9998928398713 SHA512 7c227a1fadd8d61aae9baabeb5d964c93fe0c4d82fb838c83fe0360cf38b24bebf51037726f13188ecd8f52c335368a693b81e74d79ba949576a6dbcb54887a9 diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.6.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.6.ebuild deleted file mode 100644 index 8367605fc546..000000000000 --- a/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.6.ebuild +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -VCS_INHERIT="" -if [[ "${PV}" == 9999 ]] ; then - VCS_INHERIT="git-r3" - EGIT_REPO_URI="https://github.com/MariaDB/mariadb-connector-c.git" -else - MY_PN=${PN#mariadb-} - MY_PV=${PV/_b/-b} - SRC_URI="https://downloads.mariadb.org/f/${MY_PN}-${PV%_beta}/${PN}-${MY_PV}-src.tar.gz?serve -> ${P}-src.tar.gz" - S="${WORKDIR%/}/${PN}-${MY_PV}-src" - KEYWORDS="amd64 arm arm64 hppa ~ia64 ~ppc ppc64 s390 sparc x86" -fi - -inherit cmake-utils multilib-minimal toolchain-funcs ${VCS_INHERIT} - -MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config ) - -MULTILIB_WRAPPED_HEADERS+=( - /usr/include/mariadb/mariadb_version.h -) - -DESCRIPTION="C client library for MariaDB/MySQL" -HOMEPAGE="https://mariadb.org/" -LICENSE="LGPL-2.1" - -SLOT="0/3" -IUSE="+curl gnutls kerberos libressl +ssl static-libs test" - -RESTRICT="!test? ( test )" - -DEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}] - virtual/libiconv:=[${MULTILIB_USEDEP}] - curl? ( net-misc/curl:0=[${MULTILIB_USEDEP}] ) - kerberos? ( || ( app-crypt/mit-krb5[${MULTILIB_USEDEP}] - app-crypt/heimdal[${MULTILIB_USEDEP}] ) ) - ssl? ( - gnutls? ( >=net-libs/gnutls-3.3.24:0=[${MULTILIB_USEDEP}] ) - !gnutls? ( - libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) - !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] ) - ) - ) - " -RDEPEND="${DEPEND}" -PATCHES=( - "${FILESDIR}"/gentoo-layout-3.0.patch - "${FILESDIR}"/${PN}-3.1.3-fix-pkconfig-file.patch -) - -src_configure() { - # bug 508724 mariadb cannot use ld.gold - tc-ld-disable-gold - multilib-minimal_src_configure -} - -multilib_src_configure() { - local mycmakeargs=( - -DWITH_EXTERNAL_ZLIB=ON - -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF) - -DWITH_CURL=$(usex curl ON OFF) - -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT:STRING=$(usex kerberos DYNAMIC OFF) - -DMARIADB_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" - -DINSTALL_LIBDIR="$(get_libdir)" - -DINSTALL_PCDIR="$(get_libdir)/pkgconfig" - -DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin" - -DINSTALL_BINDIR=bin - -DWITH_UNIT_TESTS=$(usex test ON OFF) - ) - cmake-utils_src_configure -} - -multilib_src_compile() { - cmake-utils_src_compile -} - -multilib_src_install() { - cmake-utils_src_install -} - -multilib_src_install_all() { - if ! use static-libs ; then - find "${D}" -name "*.a" -delete || die - fi -} diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.7.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.7.ebuild deleted file mode 100644 index 91e9ba93b995..000000000000 --- a/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.7.ebuild +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -VCS_INHERIT="" -if [[ "${PV}" == 9999 ]] ; then - VCS_INHERIT="git-r3" - EGIT_REPO_URI="https://github.com/MariaDB/mariadb-connector-c.git" -else - MY_PN=${PN#mariadb-} - MY_PV=${PV/_b/-b} - SRC_URI="https://downloads.mariadb.org/f/${MY_PN}-${PV%_beta}/${PN}-${MY_PV}-src.tar.gz?serve -> ${P}-src.tar.gz" - S="${WORKDIR%/}/${PN}-${MY_PV}-src" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86" -fi - -inherit cmake-utils multilib-minimal toolchain-funcs ${VCS_INHERIT} - -MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config ) - -MULTILIB_WRAPPED_HEADERS+=( - /usr/include/mariadb/mariadb_version.h -) - -DESCRIPTION="C client library for MariaDB/MySQL" -HOMEPAGE="https://mariadb.org/" -LICENSE="LGPL-2.1" - -SLOT="0/3" -IUSE="+curl gnutls kerberos libressl +ssl static-libs test" - -RESTRICT="!test? ( test )" - -DEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}] - virtual/libiconv:=[${MULTILIB_USEDEP}] - curl? ( net-misc/curl:0=[${MULTILIB_USEDEP}] ) - kerberos? ( || ( app-crypt/mit-krb5[${MULTILIB_USEDEP}] - app-crypt/heimdal[${MULTILIB_USEDEP}] ) ) - ssl? ( - gnutls? ( >=net-libs/gnutls-3.3.24:0=[${MULTILIB_USEDEP}] ) - !gnutls? ( - libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) - !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] ) - ) - ) - " -RDEPEND="${DEPEND}" -PATCHES=( - "${FILESDIR}"/gentoo-layout-3.0.patch - "${FILESDIR}"/${PN}-3.1.3-fix-pkconfig-file.patch -) - -src_configure() { - # bug 508724 mariadb cannot use ld.gold - tc-ld-disable-gold - multilib-minimal_src_configure -} - -multilib_src_configure() { - local mycmakeargs=( - -DWITH_EXTERNAL_ZLIB=ON - -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF) - -DWITH_CURL=$(usex curl ON OFF) - -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT:STRING=$(usex kerberos DYNAMIC OFF) - -DMARIADB_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" - -DINSTALL_LIBDIR="$(get_libdir)" - -DINSTALL_PCDIR="$(get_libdir)/pkgconfig" - -DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin" - -DINSTALL_BINDIR=bin - -DWITH_UNIT_TESTS=$(usex test ON OFF) - ) - cmake-utils_src_configure -} - -multilib_src_compile() { - cmake-utils_src_compile -} - -multilib_src_install() { - cmake-utils_src_install -} - -multilib_src_install_all() { - if ! use static-libs ; then - find "${D}" -name "*.a" -delete || die - fi -} diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.8.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.8.ebuild deleted file mode 100644 index 91e9ba93b995..000000000000 --- a/dev-db/mariadb-connector-c/mariadb-connector-c-3.1.8.ebuild +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -VCS_INHERIT="" -if [[ "${PV}" == 9999 ]] ; then - VCS_INHERIT="git-r3" - EGIT_REPO_URI="https://github.com/MariaDB/mariadb-connector-c.git" -else - MY_PN=${PN#mariadb-} - MY_PV=${PV/_b/-b} - SRC_URI="https://downloads.mariadb.org/f/${MY_PN}-${PV%_beta}/${PN}-${MY_PV}-src.tar.gz?serve -> ${P}-src.tar.gz" - S="${WORKDIR%/}/${PN}-${MY_PV}-src" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86" -fi - -inherit cmake-utils multilib-minimal toolchain-funcs ${VCS_INHERIT} - -MULTILIB_CHOST_TOOLS=( /usr/bin/mariadb_config ) - -MULTILIB_WRAPPED_HEADERS+=( - /usr/include/mariadb/mariadb_version.h -) - -DESCRIPTION="C client library for MariaDB/MySQL" -HOMEPAGE="https://mariadb.org/" -LICENSE="LGPL-2.1" - -SLOT="0/3" -IUSE="+curl gnutls kerberos libressl +ssl static-libs test" - -RESTRICT="!test? ( test )" - -DEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}] - virtual/libiconv:=[${MULTILIB_USEDEP}] - curl? ( net-misc/curl:0=[${MULTILIB_USEDEP}] ) - kerberos? ( || ( app-crypt/mit-krb5[${MULTILIB_USEDEP}] - app-crypt/heimdal[${MULTILIB_USEDEP}] ) ) - ssl? ( - gnutls? ( >=net-libs/gnutls-3.3.24:0=[${MULTILIB_USEDEP}] ) - !gnutls? ( - libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) - !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] ) - ) - ) - " -RDEPEND="${DEPEND}" -PATCHES=( - "${FILESDIR}"/gentoo-layout-3.0.patch - "${FILESDIR}"/${PN}-3.1.3-fix-pkconfig-file.patch -) - -src_configure() { - # bug 508724 mariadb cannot use ld.gold - tc-ld-disable-gold - multilib-minimal_src_configure -} - -multilib_src_configure() { - local mycmakeargs=( - -DWITH_EXTERNAL_ZLIB=ON - -DWITH_SSL:STRING=$(usex ssl $(usex gnutls GNUTLS OPENSSL) OFF) - -DWITH_CURL=$(usex curl ON OFF) - -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT:STRING=$(usex kerberos DYNAMIC OFF) - -DMARIADB_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" - -DINSTALL_LIBDIR="$(get_libdir)" - -DINSTALL_PCDIR="$(get_libdir)/pkgconfig" - -DINSTALL_PLUGINDIR="$(get_libdir)/mariadb/plugin" - -DINSTALL_BINDIR=bin - -DWITH_UNIT_TESTS=$(usex test ON OFF) - ) - cmake-utils_src_configure -} - -multilib_src_compile() { - cmake-utils_src_compile -} - -multilib_src_install() { - cmake-utils_src_install -} - -multilib_src_install_all() { - if ! use static-libs ; then - find "${D}" -name "*.a" -delete || die - fi -} diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest index c7115edb96ba..fb63316fdcf8 100644 --- a/dev-db/mariadb/Manifest +++ b/dev-db/mariadb/Manifest @@ -4,46 +4,38 @@ AUX my.cnf-5.6-r1 4597 BLAKE2B ae7eb874421819b8ce8e3c21e00f21bba1fb508a8d0ea4825 AUX my.cnf.distro-client 643 BLAKE2B 5ffd286907ee28c92c85bbcc9a6266555733f1115f2d6b8009183dba6939b978ae8d1b8e0a53e672b8e1a1f621650399231723603fc5f96ef7218db84236e176 SHA512 801f6ab8be3110bb4dc38eaa4367715b8d342b69cadfe13dff987ef6c3aedb67d19449f8f2483e63df5d8b444ca30701b0d96f85e211de6b1e3db923b029acbc AUX my.cnf.distro-server 998 BLAKE2B a7f2977a96d394cb7e24d72d82a1c21095c4b55607e5ca4a2c10619278796c328931a5ec076c15b60afef370c2e5da02ca0c628f330e876b4d2c984eeb54df5f SHA512 d9ab6f7fdfe08e6c242f84410ec680ef6aa6778c4bd55fee67c644e1a7d997446d8ef2129be6fc9833d16fe40cf17e09cdf0cf015f06bb145bbf9cfecb51e882 DIST mariadb-10.1.38.tar.gz 63535685 BLAKE2B c179ea2f60287c2bc1c0d1c47ae989ac2653a24063e8344cef2f3062fc6798e18b969e8f9aa8287104ce2518e6c644cb8d3a4650b5a0bc5dfde973e76e618955 SHA512 184582f3a902a989ba3d9c4d21288c014c8b469adbbb4cbabc621c5006022cef29baed8c1140ed4476b124da83b76dfa414295ed0c3374be826e75aca953a77b -DIST mariadb-10.1.43.tar.gz 63635313 BLAKE2B 60617d3021bb478633a995b93a3659a287ecab49bb1997efc430e2f453a8145307f0db02799b43560a51c92ef528060f93fb82fd0362ea34052f68590144bff0 SHA512 47e9693c6c1d25d2c3541efe001569c17e70721edcbfc3d0ccc96f3638820123436c18d2cbc3c2ad252adf1eda446feff0370eb97f9e57b6711757ac899b47e8 -DIST mariadb-10.1.44.tar.gz 63660764 BLAKE2B fb88660687c57217c82a05442b1f6e1d85a10fbcdb54b5c455409fd6e280aede27aafe61020eae278a0424b7b21f4afc4e581dd68ce9690948970ef22127ecd0 SHA512 4216524dae5eaf882d3667345fdccc58fa29cb02fb04367900d25c1d120b609d9c7af460dea37ba15ba3fb89f4390f9b15072f5c1ecc434c64b840fa14bab8a9 -DIST mariadb-10.1.45-patches-03.tar.xz 8400 BLAKE2B fe5d04147c3d51877af55c44039d6b480dab1764bfb28a4d7e5d233fef9799a2df2d45880abcbf316ef023e10ecd6aab5be0f2b6b79311f77cd9eae069cae838 SHA512 6e57b5685bdf441ef89391e22f87194095d3819b9c0622991d44707105331881ebad534e0c312d8d4f0e1e32efab12284a8c457c8ff31d23cfd2221565d8d1cf +DIST mariadb-10.1.45-patches-04.tar.xz 8808 BLAKE2B 79b6ad86665b6ceea990813c1b60937283ccfd572e5aef095df9951fac0a35e10b7cab002a18adcdb4b643a4d881c57ed468a15fc2fe8f0b9755dc07c2c81fc6 SHA512 eba4c39a275a27faec01dcefd36635fb8ed4f9d651e244420ce0856932378196b9daa98c9de339dc84c3e07fb77fda27c2aa46930c741a1c4c53057b4f9b86c6 DIST mariadb-10.1.45.tar.gz 63673824 BLAKE2B 002aedf61282244905256757fe18eebe67f8a05d45496eee4804e5fba9edf58ece15188d6537ed45245b9342bc514376727c91261ec3f3a3d809c569c84a63de SHA512 708daf6cf98a914ca378e3461f3431f13d6274e20ef37de239e5d90db58215c50bfbc450e6b3b00d847cc819ab9de2bc780831009581e43db38d63397a417ace +DIST mariadb-10.1.46-patches-01.tar.xz 8824 BLAKE2B b30d1c6625d87605fc934007ebfbd449f327969b1f65bb22a1d432691a3927a3f20c55f646f9a4e8cbdcdcadf16a2518e05441ab0088bac876a81f87bb62b925 SHA512 93ef056f697d83ced4d585c31558dded94667447fc6785ed79b15dbbde4df4a3667cefec1f2007649dd0fed3c1cf86cfe5cf626588678d2a851f8c5f7b3d4092 +DIST mariadb-10.1.46.tar.gz 63741294 BLAKE2B 5a2ca06b7ac14896f874bb18a38dcfb2336d0b77160d3295e9a268ffaa6feec2319a5d4e5985851327f1122fa7650749a09c384eeba5ab9369fce993464702f8 SHA512 a45816edfcfb7f33fc4e316cd19d777069358b7cd0968be23922ffee886e9db8600568425e4d81a0e033a255b6c46441fefa4f5bc5da96579527b481a10a7213 DIST mariadb-10.2.22.tar.gz 71907765 BLAKE2B e7781a9e1bb0becca543ebb0b9e03912fbafa9de45bbd5c7232f92d29b934148dd124ad462bf8aa5aec2e4ee0bf75a03fae5e5fe97a77e1d93095052a577c14b SHA512 cd61d0c2d528b23b975e6ea142560d9b9ebff7ecda6fa9b3659b25b3406e8cc925918f4c3bb0e200ddb8d0520bcaa4d4f70d245b4731896f9ba2f1bdf0a817b2 -DIST mariadb-10.2.29.tar.gz 73087972 BLAKE2B aa3fe880f00b02846b26f16fcd37d18ebe217a2c9680c8c535042d2759852c929cd649d662c6a2bc603d934a6ba770ef945752c99d150f539e1fdd0d9be0ad51 SHA512 cee4e0d1a2b203cadaaa5678c5ce17302f18ffa55d07c8329392b1ea84740340c006eb9ab5920beef80835c2a399d5fffca409b8288e10ae62d290af62ec4ab8 -DIST mariadb-10.2.31.tar.gz 73134720 BLAKE2B a410f71cffd7ff904cb16d9d00bbb4b1d6d17a4931de1635a14dce7c7c66d8dfd097b0c261959809cf2f327d196b11f3196129c2894efb5bab0141aca10ea3c7 SHA512 2cf28e4e049618f633470e7a4cd4f3bc8c2a74bf9796bfd026da7c75812e6d4962323785fdbca7a5b505c2e4fe95e3b47cd2e24e4dec2dcd230ac8a25f49b9b9 DIST mariadb-10.2.32-patches-03.tar.xz 6048 BLAKE2B a6f8f25ec23d1d86d228d719927daa9131779239917b86eab9f82086744294c0a4f03b1a73a3baa599e367775457d6c345fa0820b89063b2e6379c0fb7076ad0 SHA512 324804f13f59593d26cc5fd8c1cdeac2f16cf55012ca65b0a7223512920e1ea94619991fdcb3d19184b6428e4a627fec75532c88ae8297f9b8398fcf730058a9 DIST mariadb-10.2.32.tar.gz 73646729 BLAKE2B 581906d67f0aada9e85aec7bfee03ed8927a4e836f0639fa5f31576f5df70ce2b6ed3da0b96ad616f5ed71d7717531a073cb911c6d92274f6724911e086104af SHA512 824aa94724b639337a5b4c2e86a1f5ceaeaa940eb234f852df1ba0aafd64e269335e2aca0b05d52164e090cfd6f7d14477df9e096473aa5d9286d47944a765b4 -DIST mariadb-10.3.20.tar.gz 71990355 BLAKE2B f950f0eb836751d0eebb9ae561fe3b5aefade04a0d389465918aa2a887e4f717ab4e6bd835dea8f9a88aacfe10c0b091fc2a59882a1781a3f2903ef07a759f5d SHA512 8080cb6db85c587f39f128e98b00c3e6428bf3e828271a227bb2c61c97683c965802baa6e5f825317f7e2963683c0f81699642853deeca6977faa2b6932044a3 -DIST mariadb-10.3.22.tar.gz 72050820 BLAKE2B 9e08f1360f8db2c5f466d4f6f967145286412a5598c7de8828eb8f8f3dd113b38f039c38335f9251f3bba19c67c5f62d57808eabc57480338b64dae0c5588774 SHA512 57a6551b8939f54742963202d50a537e69e8ab9b2dca42ce3d2a09c0f7af368fded71f36af26f6cbd956d54fe43853981ba8fe28b7a3ba97c7d52ea4a0d233f6 +DIST mariadb-10.2.33-patches-01.tar.xz 6024 BLAKE2B cb4283a36b303b1422d53c454bc6390ce80f3a88c9f9cd459468cf9bff792a1af197a5e5b3f7e45376024ef78bc6049cecafd8654e1b767f741f35129624ab12 SHA512 ebe9c1295089c04e869516f3ef278673986c1227b92bb9cd96cc561b0392f22870200cf58db91fdfe7e113b04b5b6d66c904b2d1353011cbd89723a8ce83fec2 +DIST mariadb-10.2.33.tar.gz 73769891 BLAKE2B d5d564e6c51a6460247b999ae1d58433f15f5c7a4ffe7c676845857036c766aaf24e66cbbbaebc12cc55be97a22a4dec4916551bde65eac043cc036fc9e731b6 SHA512 336184931688beba5733d510db00d05eceb3909f8fcdf198189ea1fa96af6a401aa4f0b9e13e3fb0211f7be6c14aba8d0a9b245bd3c2a173e5b1f930a7a18460 DIST mariadb-10.3.23-patches-03.tar.xz 5520 BLAKE2B 30bc247ed6d97aefaa1ed48f379fc9aab3df3409aa9a108728313c7c69ab0641b69ccb0289eda9539df367f85b2db494473d3836807dfbf60df1e0c832e57369 SHA512 64bff196d1651348d303571fd551a5666d9514c1ee17cd9296b9d420c4b3d7d9b339644a1cad029bae3c35a666b405d471a37846138f2551f3b1b88d99b80844 DIST mariadb-10.3.23.tar.gz 72582611 BLAKE2B 493605519f714cbe87b938f6ca3243d29189adbfcbb33c4e10a4a3f01b08d875f18b96b647dc92566b785c2cef9862ebacfd55954d13ab0a7a745606e40fb6e9 SHA512 535cd2ce80a95b6c0a1aa559cc3275dfcd559c3a4f958fab3382923190a16e6bc5b4ad79acaa518244512ff618568c239c0edef8a701d958362ede19a29c2986 -DIST mariadb-10.4.10.tar.gz 78352896 BLAKE2B c0e448fba455feb9385b7d57e1a727e84eaf4cfa52ce0dbd6ff062aa0b5abc42005680fb185416d04fbd7bb62d9bbd6c93e4cb77b145418cf6be92747f8b1c2a SHA512 4a9b9a37bc3a273de4bd781dac3636256364dae6efbba45765d6b28995da3d64e180422cd10418d1c7acd7fd8843fe2a2638c07e0f56b0c09170c58812cc6b71 -DIST mariadb-10.4.12.tar.gz 79120835 BLAKE2B 1c511e788f8ddc9b9d2e580b29c380ada85d7cc46febe6a6bec626fd6239e4f50480b7a31dcd7e1a9474c6ed9626a910e996257ac8366646a22decc0226c45f0 SHA512 518dae18c04a1f7fcc6fd4d2dfbfbfbdf5e83e72ca41e66e1074328df8d92ab41b458e6a9973771419ac09a7348f264f158916cd198c335085d6e823e707bbc6 +DIST mariadb-10.3.24-patches-01.tar.xz 5508 BLAKE2B c3b75205ecec0b73c85696a3382dd9271d495389f05d1bff66548f5f316f6d5f2ee7204020f265a6dd7ee7c28e1a010d74b056b9c9ab244651ba417e496fb1a9 SHA512 d9d408e6ba08a8a321b9a6e72a6347c4317652e91ade0056ff8621dafbbaf398e33d6b15247e89a2d60b731021d30cba9611356ced2cf848d1807cb3d376c378 +DIST mariadb-10.3.24.tar.gz 72714002 BLAKE2B c25a1546369e8996dea2a4d00022a8a5a4f11727866cb3d377aa534b617b76540fe49871c92d38487b667db68885e7aabe22a7400015f513394f18fdd2899bcd SHA512 cfd0154d984ddc344554cd3df1d02b0811f8e35c90caf745532491688850736d079c67d40e9414daba83f2bd0c06569bfc99213d5280c63cf051c68abd7c56b5 DIST mariadb-10.4.13-patches-03.tar.xz 5520 BLAKE2B 949b7f6ee5a9a6077424264e53d2b7af8ceb56cb38b204800e1c3ec93fc929d57b201e075f8ed735364b5421a3b922ba45fc94ba006f1e6d94494efa17b521ef SHA512 042c3ca8a75ebbb1c2baa508603d4248a178f87b7126b439ef6894eaab979f01c47cd8fbea3c106cce2a951e9308c76e72b4e444dcbee09a991cb524f2b9fac8 DIST mariadb-10.4.13.tar.gz 80608459 BLAKE2B e9ada14da6ec7492311068549a5b6e5a66e1177312013b25472c084a21fbace543ec43b47f2e12190d45432648d508f311198521f42359561f8d75ea60f98205 SHA512 68919ceffb3d4afdd0d94daa77439a954c82ce4e08fbe06044fc397940eeb88a39ec75932cbd08ff26ef3cf7636fdb779947cda5b2764aa1fd888be19c44b566 -DIST mariadb-5.5.66.tar.gz 45962591 BLAKE2B 41befba24abec2af876168a11fc205d328c137baa49e5e521787898e4b973d1dc548ef459228811caa99fa3c2b7a9fe96f3eb7a04bf62f0bb20966e4ffd2ea9b SHA512 403f3bc67018e01eb2277a88d3a7ac673d50df8f7a67607f9d14e3167d1bdd4ca202983df69c97688ff51edbd6d6b43af3541c75e968d1d01713a7b6495e4c8c -DIST mariadb-5.5.67.tar.gz 45971908 BLAKE2B 494fdc5d13c3560b074514f30a828e6689b820a1eefc0d0ec67f00a9dced6f4d3c305ed81ad39dddbb07659ccfbab418900f822baf502067d706ba84d2e7fd78 SHA512 494b2b0d863e2fed6f02f8d61134a645aa113bb0e17ba08b304350dfa974f6fce2a2fcc231fb413872156f70f08fbd2604f58d642fffe085f3b093176a3e68c9 +DIST mariadb-10.4.14-patches-01.tar.xz 5512 BLAKE2B f32e1d383ffd99de431bc34c36101c71c5e631344527e96b80ca6bd0a68015b45a4c33d6f0518cb4aa2bcfd493b64b6607671450ca045243404c0d65ebbc66fd SHA512 201fe82cbcca705dba52b32405d463b5569d97a5ffd9fd2967ec7fc3c3ff305011b3d2c3c0e9f7c19aaac57b26661bd361f3b6da6f3812f25934ec18856c7051 +DIST mariadb-10.4.14.tar.gz 80789865 BLAKE2B fed455e906af9fe105f52cc7180a6b8d8839fdbffac079f2ced265741c2ab8010c78c0e75ff77740d45a2bd02a15c379bdb3a0237152848a0ce1a7aaac4cbf32 SHA512 c09817c1dd7962132bcf2886c97ad17ce43c00ee687724028e5f39f6a6a93877ae8695c2c795abba6a4f3bc40674f93a53d6d43f46788a4a8a42c4a65a22c91c +DIST mariadb-10.5.5-patches-02.tar.xz 6060 BLAKE2B 185a2016836721f76c19228ca39c1c7610c34210e23b42f254e4c4fde34c74d9c77bb0d1a441175c14938ecafea3e9575fa3b7349db826aef63e7d7e7a21901a SHA512 8a26bdbec19d45739ef7accd3cea999bde465714141532d999500df2ebd93bb98a00b8b86b1e855ea4f0cba6984b21ff09beee75372f840282a91f5dc95db432 +DIST mariadb-10.5.5.tar.gz 86880268 BLAKE2B 58430dd4e7199d674bbd4f7381a56129e067ed1bb30c171545fe9fac3a83f7db2c57cc1b577ef242deb99dd69e17a1d3cbf756031711d27b04c97a7e93e14c60 SHA512 09bed291b39142f8e2f40eabbb443f6f384368b331406a09fd92d3d27ecc75644219066850d89495ed65c6f0d3ac32d51e29e65375331dcc2de4801313178d45 DIST mariadb-5.5.68.tar.gz 45969389 BLAKE2B 5b3a647649c614825adccbc83faa40ba330dae0a1f8005b2297cc6a44fbc00bf817f2d854af315f995e1065bd4d14a2f21a9cec44b5c78402524467d876d8157 SHA512 3419790aa88a7e2a5d80e56ca94683d22ca2d5d817dfe19904d11454f34cfc3b9d55e603295ea58580a3c9fe96a6c6f9b650e1058c4e8f2f2e82f09165436865 -DIST mysql-extras-20180809-1700Z.tar.bz2 322999 BLAKE2B 8b5feb32085dc35b2f68dae985b2d266c4eaa0e956b490050a2df04bbff99bf8623b67e75af9326d84e3ad625c4d86b0d21d23c9a96df5a0c9cd5ed730958970 SHA512 fbd7af9284bbf09d55f128361e7cc52d94f24ac491aac800cd6d61f2e444aeca66a4d5e6ae94c2fb4044e00cec9b232bae9a76a229f87f19d90b7aecf70792ec DIST mysql-extras-20190305-2052Z.tar.bz2 331304 BLAKE2B 1d2c35a961159fa5ce9ee6699fce943f5a5b5cf60b11c9bb4bcccee4943f4508a9eb6d01050c642353ac592ce1a6b421abf2a1bebc706c44c4c8a36aa698ec43 SHA512 ae63403320e010acbb92f8aec6da8ed4f267cef0bad37147d594076fd94571de7f98bfc2afbe94af5d716f58d57696fd958b1e13e20e87052f252ed4a188cd3c -DIST mysql-extras-20190731-2258Z.tar.bz2 332111 BLAKE2B cc144c9af852bfdd4149b96bdc22f8afb2d0aa92f95ebd272a244f0fb7743dc03f9244871d5c195260bac5d9ed20583093257ee2c95a5a4d0a4dae488d781adf SHA512 d4428a1128cd5aef62c463b659992b110090b1602cdcb6b8d922d570c6b946fde325bfcf5a9a955a8dcc61f3ccd3d612d8517ebf63e316f98ca9ff2cd8a807aa -DIST mysql-extras-20200203-1749Z.tar.bz2 344999 BLAKE2B 46441f3c210c87b8ce1df89e9480d0bd5be216b0a1380c3ca330294e787bf2fb2b7078438f032dd0381363e756312d7634350a0b02c00b3145d4787a9ad65cad SHA512 210d240efef4d7bb64d356cae240039d9bd65e2bd4af47e01131ab5bf48779f4c0519e50d212d50db998e6b9bf9d73f1a03b0bbf4f7d6dc6f978660c8ac8a21f DIST mysql-extras-20200523-1221Z.tar.bz2 345015 BLAKE2B 3ad0da663c31831d3b511b88df34b6a28bb781cfd88fd4479b43273aa15946e63c7ae43d5497207edc6cc53a72bd42b8ce2e2058dfb236afd940bd0282190e98 SHA512 8f7b39017efb08e1ae98c4c68728bc86f8427b88b2a22688abf6975c6706122086dc93289beb511bbaf17cd5a790c76406e81315a11830829efe9170ce4f6a42 -EBUILD mariadb-10.1.38-r1.ebuild 29427 BLAKE2B 4817945be76f85f162f6a26381d1e327bd0907304e9376faf3828f9c8e7ac7f0e8bec344b64af6da5bf78dafd1d8d40a44e2554c1862e9adce0666f2e990da61 SHA512 2b611ad16609527f1c5f1857ffc893a48b70a1d52018d0907723be892268d7c64dfcb727e44e64af9ae9f992585990dd13a5af64acb07f3a5ba2abb35562afad -EBUILD mariadb-10.1.43.ebuild 29830 BLAKE2B 0b105fd2ea914b0e7fe5d47c58784a1c68f5dcb57c90e612bd207bd6ee7cb6b4e7f20e4e3d4e257326742963cd132336939d5bbbff35c669f668dd3f71146aab SHA512 4e6156acf7f78aa79293b6b11c535a862d21ccbe0592c100cba3a5bf4f3db770e2a1e8ab25e914e22a8cb2bbf247dee79fcf686e6357c72a1dfe65e5398713b9 -EBUILD mariadb-10.1.44-r1.ebuild 32167 BLAKE2B ea6304c6e0ef890a5443d4e46bd172876705b93e4c35bbf64935c8ae78d38e7baf44c433317dadac14ffca699df19df744e68ec782945bbf603c092b0cda77fb SHA512 54c45813c42e55b109e27b35d78a2d404ad038db6eefbc90d6c4382c9d30a15164ab1febed3efef03b7cd68012e164ec8bafa6e010eb5838881609d44ba5bc75 -EBUILD mariadb-10.1.45.ebuild 30680 BLAKE2B 65f92516ca54929ee1b8ec0d1d2232de781b98f431d29960517824334b603faa9abeb7adf0e3c11a625fabeaf9f8234e1a5da7b518b56ed7dc7994149d952df5 SHA512 6745875628c333b0df7267fb71c64d0ac99ac298cd42fff1843ab44d6302ee7eb11ab6255dd22853242de3e72bd0ca6d53a4b83f81ecdbe870062ebff2ba423a -EBUILD mariadb-10.2.22-r1.ebuild 32490 BLAKE2B 1909cd64d969d82cd7826920aa04a9c92c7022d8d0b395f1ca8bf237cd2ad86ec919c9e4412aac3788b7cd5956df5f8d06bc18df345c12f3382405ecc9e920b7 SHA512 d219c571b941e3f3214bef82893507ec8ed233a6623f0cb7dba9e327fef628afca9af610a49378697ba10f14b6137eab50d5f0290fde46871970cf56d31b6e6c -EBUILD mariadb-10.2.29.ebuild 33063 BLAKE2B 0cbf1bf88713221ef663ebb4e3e7e60e170890177b272a3ed851b192e3f45700b40daaf14de32f2bf752f5820ae75e6fef84ebc21ce56176fcc2f6a9214a47ea SHA512 183ad995db6fc08f3da3913f64510bfa4252c31e8478a19738bb6b421c66555db452a8d77243a5ba8e97e0dd6fdda2b47f29f2fd01abac26b114aaa3b8856f4c -EBUILD mariadb-10.2.31-r1.ebuild 34996 BLAKE2B 5afbfd085d07291e4e4d92e3d5023fbfc214cebd8075299d122abb929271fa88a3ff635d7b534ee023bd1c2c994251fbdd4fb91cdd195a55333361b5c248d347 SHA512 49224247f852201a0d6df85ecd90f37e5e3b62d3e8b355be003ce998e6aed8a672a3dd2cc302462da5aaf99979feae90d9d9ebc1f6298826b41193bcff354ad0 -EBUILD mariadb-10.2.32.ebuild 33627 BLAKE2B 9b2c680e69fe4b557898431350d742b8ee443b4628159a834c9ab803cff9a825b5425d0ee22afb1e4701074bb584857625868710d0624a19fa5b67dff5a9c437 SHA512 a3127a21336e63e3471f3de8196a6a2f8f0814242eaaa49102a337d86c208fdafcced1d28faf28e24fcb0beefc18c4b4ca9fa4c6fff4d5628e0ec56b39d039b7 -EBUILD mariadb-10.3.20.ebuild 32690 BLAKE2B 35f9eb05a31fa3949464a77b044dc00561c016572a88fc028cb9ff58a1c149db72cd09d9cb0e1cb9e64b055881940adec0bcf990b3cbaa1bf9fb26a3d066ceda SHA512 861f3608796ab075c052e623cb8949adcea2bf49c97e81b70f9236ca8f67d6ca32602c7946f556763b7f421d275845c896f74db8e5ac966a387ccbcc69c29afd -EBUILD mariadb-10.3.22-r1.ebuild 34771 BLAKE2B c8dca58770e27fce52ed0b492968334cbdf6bc7e6f691dd610a39cfab5261eccd467afa8a832388140d584349db7ce5668c5c0b13a4080f0b8bbe26a077a74b8 SHA512 e860dd7b60b5f6ce5dca20915364fd94f17c0fb80cf1afdd4b791f3c2454cb7240a7bebf91a8fcb4c52a6f5c71d1bec95436b0f662656d2b97387fc1de7ac6ee -EBUILD mariadb-10.3.23.ebuild 33404 BLAKE2B 5834e850437812705f7fefb9174033bf03dca2cbc7aa88faa79655b051ada65975585d855124441501cf49ffc45097d6e7787a59d6ab74afe7da706928b8189e SHA512 f7f2a4aa95086f4a2dad9626596f704d8c7bdcfe16635f49fa9ad416c06ccc898d5fa67ba81c8edb8c5a3f434eecb9b18e2bc1e12a0bc4f8d8e47a840f86a1a9 -EBUILD mariadb-10.4.10.ebuild 33342 BLAKE2B 8aa25f71b60b596994749905a9af6d0171a259bafba7ab76ff68e855d97de0363a687d4c603fe2ffb1d14196ff51ab5e8706c05d2c2a0dfdcb8f801001b1e0bf SHA512 ac6dcded63450f4a83e1bc41fd5a881bfe7f712cc4e31270d2d1b3015dd48e4a79876acc359e6bd6fd6f1c560a281fad96f4369965d9734b88165a27a5a1a70b -EBUILD mariadb-10.4.12.ebuild 35329 BLAKE2B 88641f83a0e7e7617834b5bf27249e9ea863eb933be1b04389e4da0af004540f6c1472eb04dc98e4b51a89d81fbb651a88839db514adbf137169a315075fbfcd SHA512 647a0e6651ee8ca4f61bde0a88e9e2de4c3f06f10a7bcc0ce8bf940de830051025c89fa3428f154b14e58c050bf1dccf525804cccb73cdbabe265bf62dd9b595 -EBUILD mariadb-10.4.13.ebuild 33969 BLAKE2B aa7c9f6440a98314f4db6ef6cd3d94b2920c9c7802e7495c1447a3dfc580971de53801ad03e453342ff41a170d383dcf112b4d1d647a603dcfbd2a417f240204 SHA512 9f44d71a2346de4b09b45ec8abeda84679acce9b818e89c1a558067f26a8a57a81ce0f0c2e0012aaa1e6e8bc8272d3769663e819310f31eaf2dff28665dc1041 -EBUILD mariadb-5.5.66.ebuild 27209 BLAKE2B 837dad98c4e35a0e1ab4be51a0452531a33479098dd6706fb2991c617ae0bdb8cbd117f6c598c2eee0a0a63f5ae0b26f7e334d223548782cb5c4a47d31f5ff2d SHA512 be93e099475ca316318db96ba5437a491993440b42c638a52a215b3cc7d66ae14595d024a65efb032e26cf85130247f242d23e659509aa2a175fb6228b30bd3b -EBUILD mariadb-5.5.67.ebuild 27209 BLAKE2B 80a419eded23bef53857b7554dc528e3196413ee9216c7341904af5d1590758a3017e006a4a67192a0fc37e6af70485f422ada200c99aa82714c08aaa9da8c01 SHA512 cdc301f9ae2cafd19919d10149a09d98f4bd9e106c521e398754e8cc1a770c3951432acec2e5ea19aed958c0233b4ec623bd28a573e085849b4dda860f35b26f -EBUILD mariadb-5.5.68.ebuild 27216 BLAKE2B 67f60b5c4547a8e656931b76a4a74b87f03c92d0fc845f9258a165b3d001465e501c5cef5b1f4d2faac3e28d5a78e0cc3ec7b4d1fc8d92cdf9d56fdeadb4a06d SHA512 2e02a02cf904cadc4648380ff3c34ce2afbc238172299b76456cb88b5a956564e9256ee5c01421716c7380dbe373f04c12cdc41b3524fc80a8e701691a7d3032 -MISC metadata.xml 2611 BLAKE2B d1b6b11359e92a3d9cb2c58ed35a15e3cf42ab616ed907fa36a5f777168a805ffd03d01bd13fcd30352ef6c5e8b1d80f4e882ffaf8f6445ed3fce2bcc2a92923 SHA512 80395b35839acebbb18ac8d01e8c806bd89f18d32f85fcba41f41ecfc4f1f869dc8c51c90bb21ebd3c9ac30d51d47869a4dcf3b8ce73967e337e6e396b267c97 +EBUILD mariadb-10.1.38-r2.ebuild 29416 BLAKE2B 283ac8c98ff7f1a0b7bdd8a45e9dc120045ea48d98f25d632d0af3d422bf16c9fb81f853041697e322f98348900c08fe6e6b371605701257b2774f4edad51480 SHA512 08f5e89ea4c4a8a7746bdf8e8bd64e68b441e69e1a2b1e6e7caa726cc79f94f0aa884985234fe38c73cc26b2a91c0694b4da9b589d6e700c697edb78739c9999 +EBUILD mariadb-10.1.45-r1.ebuild 30809 BLAKE2B cbb67ee065fd71cb303cf72142710b20c18618165c8357e6198dfeb011ecc632f9e102fa6fbc53f538653462dfde92f46e087ea5c50d7d4591dffbc96b1c0473 SHA512 99934894513e1ef368b3ea6ce3346c0932cc8c6b6ce4b6db082156e5a5cfdbe3638482b737ff7f0c4599bdfa7ef1ad4c195210fef882712084f6834dd15139be +EBUILD mariadb-10.1.46.ebuild 30670 BLAKE2B 2488607c934669f9eb3734690822dbb3d6aa31d9b10a6d157454bd1af8c1e3030369a298c00de699e5dcb976f2cb1c31fdc4cb60adc29011124928c49022f0f5 SHA512 83d3a061fa69a1869d7c18833107278e7ae0ca5ea4621f4e1fad1dc2ea13602904c4596563a45538ca183f252d5f21af78521052f436630fe6c317e78c885c55 +EBUILD mariadb-10.2.22-r2.ebuild 32479 BLAKE2B cdb02077582e1f1e0f6c1739b43cfc28e8d03eb96c2c63d992fda2dd1a7da26baaaa8847cec4c6acd57ab0c54359d979015fec16a5faed2b3e4dc7c311eead68 SHA512 94d355a6789b3b44ef71137369d5e7dc0efa02efbfb656c989da0397332a69260031b53d17a93ccee97b3ce07201dcc7d009e500e04ff916619647e2ea14e964 +EBUILD mariadb-10.2.32-r2.ebuild 33739 BLAKE2B c370964efedaf92d05aeaccdf7ef20e2b3274bb1bd5f526c52ebc2c4ae7f6e91cc040958b20fee961e30feef9b770f7a5edf47d205d2643f3ed448e9a23f77c2 SHA512 9ddd9c8ad3247e8cd28eae81ea43a5693a6a5d8f9fc8ff1aec1e3f80af29e60917be2821863d3a5bd81182af7ac3eb9639ac8736a2787bc058b0d8b852ae362d +EBUILD mariadb-10.2.33.ebuild 33923 BLAKE2B 7162a33040b26b4c69b3e600120035ed6903ac65f32b5c5825c1a3498e49ac327704451794714c9601ae12dcc9ea8c7045827e7d953a08a3ebfa9991d9f31a6e SHA512 5a2f1f7f6d0ef62bf107d9e632ab87f3092070d3f19c1c1f4a2e103470edb25c2532765bf4efdca8cd3ae0bf80914087a85f6f8cbf91dd13f8be51526dc8af47 +EBUILD mariadb-10.3.23-r2.ebuild 33491 BLAKE2B ec161173bfbf306865c912e343e386770fea56502bb66327368bebe263317aa24cabedd3070c8aa52804bfaee475883dafd48b19463cc04931622e062958f063 SHA512 01e7f2d24567d162d18e44550b217f573f92a8da0cb2b4a9fd24e45dc1a385e530bcd2fa5ebe8441d2ebb1262c1854484e593012f44c73a8fceceaf11875a580 +EBUILD mariadb-10.3.24.ebuild 33436 BLAKE2B cd1b2d506f840723eb23d5fc94c8437936bfc8eee80483e02e18e6541ceaa78b11bf6fb5852bd8ac111f135207591b7d34e073e82dd58530b2be31c6b521b352 SHA512 f610b4dee441d4319b2a92e177125fa1c9afbb4bb86f375e229bf573623688f123007b90ed67429ae186ebef7aa096d4c372617cb733a089938e514d56b87364 +EBUILD mariadb-10.4.13-r2.ebuild 34056 BLAKE2B 2fa69c956f8ce97004cc2990d93f1224379eb877a10e37a1a7bdcf1ae4157fa04e8ce918e02c1558297f940d97e060d61b9b5c2e849e30e4dd71ebaa59e1bf4a SHA512 4f7dcf860e5655ace5317f6c1c740b94237efd30dded5bf0d464ec89a277b3402611850185396df6fec78d7278eed2d5c30f3a3720cc90842bba0c57828db803 +EBUILD mariadb-10.4.14.ebuild 34141 BLAKE2B bd40fef84dc3c6c32950be114da95f68aca90d4d4150e117070f9102b441c80cfd105fa06c441e3fcacc965a2f6bd402bb736e957476b41ae77f2e40967bc978 SHA512 95538ccddffd4f47502753bdcb7960c4c11e92c74741bfa3c377fb986d31531c441fa485ffaae09a3b3128da62a70860e74383c37a070db58fc0d93e2b233e61 +EBUILD mariadb-10.5.5.ebuild 34438 BLAKE2B 01da0095da05e50306c5876863b00111e4865f09bc12a3ad4366a280a8512fee85453c0eeb9c09bbe9407663420f25bb3e05c79ee4432171cf90dd744b38c07a SHA512 85075c6c69d9c329671244e601e852d08eddd66f319cb1b76ec57c79bab3f8cafce6a39605e8e48d67881054bd50609f544de83a26d8a3084e10b5bafd0954f8 +EBUILD mariadb-5.5.68-r1.ebuild 27347 BLAKE2B 40224a35a8fc630d75ff56a308884bb32b8e390b5cdb94a1dddc07621815923e537e78186feb4720df770c8843d256a3304fb6bf37819e9ad0c1f5b013656028 SHA512 391dd04f34cd1c9f1f7c2ddfd75a020d386a091accf97c203bafcbfe64e4e2a3875d3cb5c91fe581af93e202f91ff2f929beb292eca1c619187d6de1bf4d657a +MISC metadata.xml 2735 BLAKE2B 961d1d49f7a6f5b90c731ce710c27e11bd2a1d996de9ae0adbabecd5823053e815397b5930797b66d94e1e767fbcba83fbb25fd002a1b2d346235cb24b6a2c3a SHA512 85a7ca20443ed2630f7ff8da19d74d9f415cd9d8dde25300eb1d6ed44b4d0c73bc34a149bf0471748933aa0200e14ced48c009b99d71a737e38283ed754b75c9 diff --git a/dev-db/mariadb/mariadb-10.1.38-r1.ebuild b/dev-db/mariadb/mariadb-10.1.38-r2.ebuild index 41ed096c22fb..b205f74ad1b3 100644 --- a/dev-db/mariadb/mariadb-10.1.38-r1.ebuild +++ b/dev-db/mariadb/mariadb-10.1.38-r2.ebuild @@ -26,7 +26,7 @@ fi HOMEPAGE="https://mariadb.org/" DESCRIPTION="An enhanced, drop-in replacement for MySQL" LICENSE="GPL-2" -SLOT="0/${SUBSLOT:-0}" +SLOT="10.1/${SUBSLOT:-0}" IUSE="+backup bindist client-libs cracklib debug extraengine galera jdbc jemalloc kerberos innodb-lz4 innodb-lzo innodb-snappy latin1 libressl mroonga numa odbc oqgraph pam +perl profiling selinux +server sphinx sst-rsync sst-mariabackup sst-xtrabackup @@ -40,7 +40,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static ) ?? ( tcmalloc jemalloc ) static? ( yassl !pam )" -KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" +KEYWORDS="ppc ppc64" # Shorten the path because the socket path length must be shorter than 107 chars # and we will run a mysql server during test phase @@ -119,6 +119,12 @@ DEPEND="virtual/yacc RDEPEND="selinux? ( sec-policy/selinux-mysql ) client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c ) !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + !dev-db/mariadb:0 + !dev-db/mariadb:5.5 + !dev-db/mariadb:10.2 + !dev-db/mariadb:10.3 + !dev-db/mariadb:10.4 + !dev-db/mariadb:10.5 server? ( !prefix? ( dev-db/mysql-init-scripts ) ) ${COMMON_DEPEND} server? ( galera? ( diff --git a/dev-db/mariadb/mariadb-10.1.43.ebuild b/dev-db/mariadb/mariadb-10.1.43.ebuild deleted file mode 100644 index 4ccb4cfa7329..000000000000 --- a/dev-db/mariadb/mariadb-10.1.43.ebuild +++ /dev/null @@ -1,896 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" -MY_EXTRAS_VER="20190305-2052Z" -SUBSLOT="18" - -JAVA_PKG_OPT_USE="jdbc" - -# Keeping eutils in EAPI=6 for emktemp in pkg_config - -inherit eutils systemd flag-o-matic prefix toolchain-funcs java-pkg-opt-2 user cmake-utils multilib-build - -SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz " - -# Gentoo patches to MySQL -if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then - SRC_URI="${SRC_URI} - mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" -fi - -HOMEPAGE="https://mariadb.org/" -DESCRIPTION="An enhanced, drop-in replacement for MySQL" -LICENSE="GPL-2" -SLOT="0/${SUBSLOT:-0}" -IUSE="+backup bindist client-libs cracklib debug extraengine galera jdbc jemalloc kerberos - innodb-lz4 innodb-lzo innodb-snappy latin1 libressl mroonga numa odbc oqgraph pam - +perl profiling selinux +server sphinx sst-rsync sst-mariabackup sst-xtrabackup - systemd systemtap static static-libs tcmalloc test tokudb xml yassl" - -# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests -RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )" - -REQUIRED_USE="jdbc? ( extraengine server !static ) - server? ( tokudb? ( jemalloc !tcmalloc ) ) - ?? ( tcmalloc jemalloc ) - static? ( yassl !pam )" - -KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" - -# Shorten the path because the socket path length must be shorter than 107 chars -# and we will run a mysql server during test phase -S="${WORKDIR}/mysql" - -if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then - MY_PATCH_DIR="${WORKDIR%/}/mysql-extras" - inherit git-r3 - EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git" - EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras" - EGIT_CLONE_TYPE=shallow -else - MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}" -fi - -PATCHES=( - "${MY_PATCH_DIR}"/20006_all_cmake_elib-mariadb-10.1.27.patch - "${MY_PATCH_DIR}"/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch - "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch - "${MY_PATCH_DIR}"/20018_all_mariadb-10.1.16-without-clientlibs-tools.patch - "${MY_PATCH_DIR}"/20025_all_mariadb-10.1.26-gssapi-detect.patch - "${MY_PATCH_DIR}"/20029_all_mariadb-10.1.37-enable-numa.patch - "${MY_PATCH_DIR}"/20035_all_mariadb-10.1-atomic-detection.patch -) - -# Be warned, *DEPEND are version-dependant -# These are used for both runtime and compiletime -COMMON_DEPEND=" - kernel_linux? ( - sys-process/procps:0= - dev-libs/libaio:0= - ) - >=sys-apps/sed-4 - >=sys-apps/texinfo-4.7-r1 - jemalloc? ( dev-libs/jemalloc:0= ) - tcmalloc? ( dev-util/google-perftools:0= ) - systemtap? ( >=dev-util/systemtap-1.3:0= ) - !yassl? ( - !libressl? ( dev-libs/openssl:0= !>=dev-libs/openssl-1.1 ) - libressl? ( dev-libs/libressl:0= ) - ) - >=sys-libs/zlib-1.2.3:0= - sys-libs/ncurses:0= - !bindist? ( - sys-libs/binutils-libs:0= - >=sys-libs/readline-4.1:0= - ) - server? ( - backup? ( app-arch/libarchive:0= ) - cracklib? ( sys-libs/cracklib:0= ) - extraengine? ( - odbc? ( dev-db/unixODBC:0= ) - xml? ( dev-libs/libxml2:2= ) - sys-libs/zlib[minizip] - ) - innodb-lz4? ( app-arch/lz4 ) - innodb-lzo? ( dev-libs/lzo ) - innodb-snappy? ( app-arch/snappy ) - kerberos? ( virtual/krb5 ) - mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) - numa? ( sys-process/numactl ) - oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) - pam? ( sys-libs/pam:0= ) - systemd? ( sys-apps/systemd:= ) - tokudb? ( app-arch/snappy ) - ) - !yassl? ( !libressl? ( !>=dev-libs/openssl-1.1.0 ) ) - >=dev-libs/libpcre-8.41-r1:3= - !client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] ) -" -DEPEND="virtual/yacc - static? ( sys-libs/ncurses[static-libs] ) - || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) - server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) ) - ${COMMON_DEPEND}" -RDEPEND="selinux? ( sec-policy/selinux-mysql ) - client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c ) - !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster - server? ( !prefix? ( dev-db/mysql-init-scripts ) ) - ${COMMON_DEPEND} - server? ( galera? ( - sys-apps/iproute2 - =sys-cluster/galera-25* - sst-rsync? ( sys-process/lsof ) - sst-mariabackup? ( net-misc/socat[ssl] ) - sst-xtrabackup? ( net-misc/socat[ssl] ) - ) ) - perl? ( !dev-db/mytop - virtual/perl-Getopt-Long - dev-perl/TermReadKey - virtual/perl-Term-ANSIColor - virtual/perl-Time-HiRes ) - server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) ) -" -# For other stuff to bring us in -# dev-perl/DBD-mysql is needed by some scripts installed by MySQL -# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed -PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 ) - server? ( galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )" - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - local GCC_MAJOR_SET=$(gcc-major-version) - local GCC_MINOR_SET=$(gcc-minor-version) - if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \ - ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then - eerror "${PN} with tokudb needs to be built with gcc-4.7 or later." - eerror "Please use gcc-config to switch to gcc-4.7 or later version." - die - fi - # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on - # non x86{,_64} arches - if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ - ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then - eerror "${PN} needs to be built with gcc-4.7 or later." - eerror "Please use gcc-config to switch to gcc-4.7 or later version." - die - fi - fi - java-pkg-opt-2_pkg_setup - if has test ${FEATURES} && \ - use server && ! has userpriv ${FEATURES} ; then - eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." - fi - - # This should come after all of the die statements - enewgroup mysql 60 || die "problem adding 'mysql' group" - enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user" -} - -pkg_preinst() { - java-pkg-opt-2_pkg_preinst -} - -pkg_postinst() { - # Make sure the vars are correctly initialized - mysql_init_vars - - # Create log directory securely if it does not exist - [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" - - if use server ; then - if use pam; then - einfo - elog "This install includes the PAM authentication plugin." - elog "To activate and configure the PAM plugin, please read:" - elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/" - einfo - fi - - if [[ -z "${REPLACING_VERSIONS}" ]] ; then - einfo - elog "You might want to run:" - elog "\"emerge --config =${CATEGORY}/${PF}\"" - elog "if this is a new install." - elog - elog "If you are switching server implentations, you should run the" - elog "mysql_upgrade tool." - einfo - else - einfo - elog "If you are upgrading major versions, you should run the" - elog "mysql_upgrade tool." - einfo - fi - - einfo - elog "Be sure to edit the my.cnf file to activate your cluster settings." - elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\"" - elog "The first time the cluster is activated, you should add" - elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node." - elog "This option should then be removed for subsequent starts." - einfo - fi -} - -src_unpack() { - unpack ${A} - # Grab the patches - [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack - - mv -f "${WORKDIR%/}/${PN%%-galera}-${PV}" "${S}" || die -} - -src_prepare() { - _disable_engine() { - echo > "${S%/}/storage/${1}/CMakeLists.txt" || die - } - - _disable_plugin() { - echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die - } - - if use tcmalloc; then - echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S%/}/sql/CMakeLists.txt" || die - fi - - # Don't build bundled xz-utils for tokudb - echo > "${S%/}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die - sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S%/}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die - sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S%/}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die - - local plugin - local server_plugins=( handler_socket auth_socket feedback metadata_lock_info - locale_info qc_info server_audit semisync sql_errlog ) - local test_plugins=( audit_null auth_examples daemon_example fulltext ) - if ! use server; then # These plugins are for the server - for plugin in "${server_plugins[@]}" ; do - _disable_plugin "${plugin}" - done - fi - - if ! use test; then # These plugins are only used during testing - for plugin in "${test_plugins[@]}" ; do - _disable_plugin "${plugin}" - done - fi - - # Collides with mariadb-connector-c bug 655980 - _disable_plugin auth_dialog - - # Avoid useless library checks - use mroonga || _disable_engine mroonga - use oqgraph || _disable_engine oqgraph - _disable_engine example - - # Don't clash with dev-db/mysql-connector-c - sed -i -e 's/ my_print_defaults.1//' \ - -e 's/ perror.1//' \ - "${S}"/man/CMakeLists.txt || die - - cmake-utils_src_prepare - java-pkg-opt-2_src_prepare -} - -src_configure() { - # bug 508724 mariadb cannot use ld.gold - tc-ld-disable-gold - # Bug #114895, bug #110149 - filter-flags "-O" "-O[01]" - - append-cxxflags -felide-constructors - - # bug #283926, with GCC4.4, this is required to get correct behavior. - append-flags -fno-strict-aliasing - - CMAKE_BUILD_TYPE="RelWithDebInfo" - - # debug hack wrt #497532 - mycmakeargs=( - -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" - -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" - -DDEFAULT_SYSCONFDIR="${EPREFIX}/etc/mysql" - -DINSTALL_BINDIR=bin - -DINSTALL_DOCDIR=share/doc/${PF} - -DINSTALL_DOCREADMEDIR=share/doc/${PF} - -DINSTALL_INCLUDEDIR=include/mysql - -DINSTALL_INFODIR=share/info - -DINSTALL_LIBDIR=$(get_libdir) - -DINSTALL_MANDIR=share/man - -DINSTALL_MYSQLSHAREDIR=share/mariadb - -DINSTALL_MYSQLTESTDIR=$(usex test 'share/mariadb/mysql-test' '') - -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin - -DINSTALL_SCRIPTDIR=share/mariadb/scripts - -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" - -DINSTALL_SBINDIR=sbin - -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb" - -DCOMPILATION_COMMENT="Gentoo Linux ${PF}" - -DWITH_UNIT_TESTS=$(usex test ON OFF) - -DWITH_ZLIB=system - -DENABLED_LOCAL_INFILE=1 - -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" - -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock" - -DWITH_DEFAULT_COMPILER_OPTIONS=0 - -DWITH_DEFAULT_FEATURE_SET=0 - -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)" - # The build forces this to be defined when cross-compiling. We pass it - # all the time for simplicity and to make sure it is actually correct. - -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) - -DWITHOUT_CLIENTLIBS=YES - -DWITH_READLINE=$(usex bindist 1 0) - -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1) - -DENABLE_DTRACE=$(usex systemtap) - -DWITH_SSL=$(usex yassl bundled system) - -DPLUGIN_CLIENT_ED25519=NO - -DPLUGIN_AUTH_GSSAPI_CLIENT=NO - ) - - if use server ; then - - # Federated{,X} must be treated special otherwise they will not be built as plugins - if ! use extraengine ; then - mycmakeargs+=( - -DPLUGIN_FEDERATED=NO - -DPLUGIN_FEDERATEDX=NO ) - fi - - mycmakeargs+=( - -DWITH_JEMALLOC=$(usex jemalloc system) - -DWITH_PCRE=system - -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO) - -DPLUGIN_SPHINX=$(usex sphinx YES NO) - -DPLUGIN_TOKUDB=$(usex tokudb YES NO) - -DPLUGIN_AUTH_PAM=$(usex pam YES NO) - -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO) - -DPLUGIN_CASSANDRA=NO - -DPLUGIN_SEQUENCE=$(usex extraengine YES NO) - -DPLUGIN_SPIDER=$(usex extraengine YES NO) - -DPLUGIN_CONNECT=$(usex extraengine YES NO) - -DCONNECT_WITH_MYSQL=1 - -DCONNECT_WITH_LIBXML2=$(usex xml) - -DCONNECT_WITH_ODBC=$(usex odbc) - -DCONNECT_WITH_JDBC=$(usex jdbc) - # Build failure and autodep wrt bug 639144 - -DCONNECT_WITH_MONGO=OFF - -DWITH_WSREP=$(usex galera) - -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF) - -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF) - -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF) - -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO) - -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) - -DPLUGIN_AUTH_GSSAPI_CLIENT=NO - -DWITH_MARIABACKUP=$(usex backup ON OFF) - -DWITH_LIBARCHIVE=$(usex backup ON OFF) - -DWITH_SYSTEMD=$(usex systemd yes no) - -DWITH_NUMA=$(usex numa ON OFF) - -DINSTALL_SQLBENCHDIR='' - ) - - if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then - ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" - ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." - ewarn "You MUST file bugs without these variables set." - - mycmakeargs+=( - -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} - -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} - ) - - elif ! use latin1 ; then - mycmakeargs+=( - -DDEFAULT_CHARSET=utf8 - -DDEFAULT_COLLATION=utf8_general_ci - ) - else - mycmakeargs+=( - -DDEFAULT_CHARSET=latin1 - -DDEFAULT_COLLATION=latin1_swedish_ci - ) - fi - mycmakeargs+=( - -DEXTRA_CHARSETS=all - -DMYSQL_USER=mysql - -DDISABLE_SHARED=$(usex static YES NO) - -DWITH_DEBUG=$(usex debug) - -DWITH_EMBEDDED_SERVER=OFF - -DENABLED_PROFILING=$(usex profiling) - ) - - if use static; then - mycmakeargs+=( -DWITH_PIC=1 ) - fi - - if use jemalloc || use tcmalloc ; then - mycmakeargs+=( -DWITH_SAFEMALLOC=OFF ) - fi - - # Storage engines - mycmakeargs+=( - -DWITH_ARCHIVE_STORAGE_ENGINE=1 - -DWITH_BLACKHOLE_STORAGE_ENGINE=1 - -DWITH_CSV_STORAGE_ENGINE=1 - -DWITH_HEAP_STORAGE_ENGINE=1 - -DWITH_INNOBASE_STORAGE_ENGINE=1 - -DWITH_MYISAMMRG_STORAGE_ENGINE=1 - -DWITH_MYISAM_STORAGE_ENGINE=1 - -DWITH_PARTITION_STORAGE_ENGINE=1 - ) - - else - mycmakeargs+=( - -DWITHOUT_SERVER=1 - -DWITH_EMBEDDED_SERVER=OFF - -DEXTRA_CHARSETS=none - -DINSTALL_SQLBENCHDIR= - -DWITH_SYSTEMD=no - ) - fi - - cmake-utils_src_configure -} - -src_compile() { - cmake-utils_src_compile -} - -src_install() { - cmake-utils_src_install - - # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used - if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then - rm "${ED}/usr/include/mysql/server/private/config.h" || die - fi - - # Make sure the vars are correctly initialized - mysql_init_vars - - # Convenience links - einfo "Making Convenience links for mysqlcheck multi-call binary" - dosym "mysqlcheck" "/usr/bin/mysqlanalyze" - dosym "mysqlcheck" "/usr/bin/mysqlrepair" - dosym "mysqlcheck" "/usr/bin/mysqloptimize" - - # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir - if [[ -d "${ED}/usr/data" ]] ; then - rm -Rf "${ED}/usr/data" || die - fi - - # Unless they explicitly specific USE=test, then do not install the - # testsuite. It DOES have a use to be installed, esp. when you want to do a - # validation of your database configuration after tuning it. - if ! use test ; then - rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" - fi - - # Configuration stuff - einfo "Building default configuration ..." - insinto "${MY_SYSCONFDIR#${EPREFIX}}" - [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf - local mycnf_src="my.cnf-5.6-r1" - sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ - "${FILESDIR}/${mycnf_src}" \ - > "${TMPDIR}/my.cnf.ok" || die - use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR}/my.cnf.ok" - if use latin1 ; then - sed -i \ - -e "/character-set/s|utf8|latin1|g" \ - "${TMPDIR}/my.cnf.ok" || die - fi - eprefixify "${TMPDIR}/my.cnf.ok" - newins "${TMPDIR}/my.cnf.ok" my.cnf - - if use server ; then - einfo "Including support files and sample configurations" - docinto "support-files" - local script - for script in \ - "${S}"/support-files/magic - do - [[ -f "$script" ]] && dodoc "${script}" - done - - docinto "scripts" - for script in "${S}"/scripts/mysql* ; do - [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}" - done - # Manually install supporting files that conflict with other packages - # but are needed for galera and initial installation - exeinto /usr/libexec/mariadb - doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror" - fi - - #Remove mytop if perl is not selected - [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" -} - -# Official test instructions: -# USE='extraengine perl server' \ -# FEATURES='test userpriv -usersandbox' \ -# ebuild mariadb-X.X.XX.ebuild \ -# digest clean package -src_test() { - - _disable_test() { - local rawtestname reason - rawtestname="${1}" ; shift - reason="${@}" - ewarn "test '${rawtestname}' disabled: '${reason}'" - echo ${rawtestname} : ${reason} >> "${T}/disabled.def" - } - - local TESTDIR="${BUILD_DIR}/mysql-test" - local retstatus_unit - local retstatus_tests - - if ! use server ; then - einfo "Skipping server tests due to minimal build." - return 0 - fi - - # Bug #213475 - MySQL _will_ object strenously if your machine is named - # localhost. Also causes weird failures. - [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - - if [[ $UID -eq 0 ]]; then - die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." - fi - has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox" - - einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" - - # Run CTest (test-units) -# cmake-utils_src_test -# retstatus_unit=$? - - # Ensure that parallel runs don't die - export MTR_BUILD_THREAD="$((${RANDOM} % 100))" - # Enable parallel testing, auto will try to detect number of cores - # You may set this by hand. - # The default maximum is 8 unless MTR_MAX_PARALLEL is increased - export MTR_PARALLEL="${MTR_PARALLEL:-auto}" - - # create directories because mysqladmin might run out of order - mkdir -p "${T}"/var-tests{,/log} || die - - # Run mysql tests - pushd "${TESTDIR}" > /dev/null || die - - touch "${T}/disabled.def" - # These are failing in MariaDB 10.0 for now and are believed to be - # false positives: - # - # main.mysql_client_test, main.mysql_client_test_nonblock - # main.mysql_client_test_comp: - # segfaults at random under Portage only, suspect resource limits. - - local t - for t in plugins.cracklib_password_check plugins.two_password_validations ; do - _disable_test "$t" "False positive due to varying policies" - done - - for t in main.mysql_client_test main.mysql_client_test_nonblock \ - rpl.rpl_semi_sync_uninstall_plugin main.mysql \ - main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do - _disable_test "$t" "False positives in Gentoo" - done - - if ! use client-libs ; then - _disable_test main.plugin_auth "Needs client libraries built" - _disable_test plugins.auth_ed25519 "Needs client libraries built" - fi - - _disable_test main.gis_notembedded "Fails when latin1 USE is not set" - - _disable_test sys_vars.sysvars_server_notembedded "Broken test" # bug #661700 required profiling always on - - # run mysql-test tests - perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" - retstatus_tests=$? - - popd > /dev/null || die - - # Cleanup is important for these testcases. - pkill -9 -f "${S}/ndb" 2>/dev/null - pkill -9 -f "${S}/sql" 2>/dev/null - - local failures="" - [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" - [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" - - [[ -z "$failures" ]] || die "Test failures: $failures" - einfo "Tests successfully completed" -} - -mysql_init_vars() { - MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} - MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} - MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} - MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"} - - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR="" - if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then - MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ - | sed -ne '/datadir/s|^--datadir=||p' \ - | tail -n1` - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ - | sed -e 's/.*=\s*//' \ - | tail -n1` - fi - fi - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR="${MY_LOCALSTATEDIR}" - einfo "Using default MY_DATADIR" - fi - elog "MySQL MY_DATADIR is ${MY_DATADIR}" - - if [[ -z "${PREVIOUS_DATADIR}" ]] ; then - if [[ -e "${MY_DATADIR}" ]] ; then - # If you get this and you're wondering about it, see bug #207636 - elog "MySQL datadir found in ${MY_DATADIR}" - elog "A new one will not be created." - PREVIOUS_DATADIR="yes" - else - PREVIOUS_DATADIR="no" - fi - export PREVIOUS_DATADIR - fi - else - if [[ ${EBUILD_PHASE} == "config" ]]; then - local new_MY_DATADIR - new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ - | sed -ne '/datadir/s|^--datadir=||p' \ - | tail -n1` - - if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then - ewarn "MySQL MY_DATADIR has changed" - ewarn "from ${MY_DATADIR}" - ewarn "to ${new_MY_DATADIR}" - MY_DATADIR="${new_MY_DATADIR}" - fi - fi - fi - - export MY_SHAREDSTATEDIR MY_SYSCONFDIR - export MY_LOCALSTATEDIR MY_LOGDIR - export MY_DATADIR -} - -pkg_config() { - _getoptval() { - local mypd="${EROOT}"usr/libexec/mariadb/my_print_defaults - local section="$1" - local flag="--${2}=" - local extra_options="${3}" - "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp" - } - local old_MY_DATADIR="${MY_DATADIR}" - local old_HOME="${HOME}" - # my_print_defaults needs to read stuff in $HOME/.my.cnf - export HOME=${EPREFIX}/root - - # Make sure the vars are correctly initialized - mysql_init_vars - - [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" - if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then - die "Minimal builds do NOT include the MySQL server" - fi - - if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then - local MY_DATADIR_s="${ROOT}/${MY_DATADIR}" - MY_DATADIR_s="${MY_DATADIR_s%%/}" - local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}" - old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}" - - if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then - if [[ -d "${MY_DATADIR_s}" ]]; then - ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist" - ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}" - else - elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}" - mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \ - || die "Moving MY_DATADIR failed" - fi - else - ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist" - if [[ -d "${MY_DATADIR_s}" ]]; then - ewarn "Attempting to use ${MY_DATADIR_s}" - else - eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist" - die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}" - fi - fi - fi - - local pwd1="a" - local pwd2="b" - local maxtry=15 - - if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then - local tmp_mysqld_password_source= - - for tmp_mysqld_password_source in mysql client; do - einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." - MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" - if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then - if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then - ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" - MYSQL_ROOT_PASSWORD= - continue - fi - - einfo "Found password in '${tmp_mysqld_password_source}' section!" - break - fi - done - - # Sometimes --show is required to display passwords in some implementations of my_print_defaults - if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then - MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" - fi - - unset tmp_mysqld_password_source - fi - MYSQL_TMPDIR="$(_getoptval mysqld tmpdir | tail -n1)" - # These are dir+prefix - MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)" - MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} - MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)" - MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} - - if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then - einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR" - fi - if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then - einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN" - fi - if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then - einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG" - fi - - if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then - ewarn "You have already a MySQL database in place." - ewarn "(${ROOT}/${MY_DATADIR}/*)" - ewarn "Please rename or delete it if you wish to replace it." - die "MySQL database already exists!" - fi - - # Bug #213475 - MySQL _will_ object strenously if your machine is named - # localhost. Also causes weird failures. - [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - - if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then - - einfo "Please provide a password for the mysql 'root' user now" - einfo "or through the ${HOME}/.my.cnf file." - ewarn "Avoid [\"'\\_%] characters in the password" - read -rsp " >" pwd1 ; echo - - einfo "Retype the password" - read -rsp " >" pwd2 ; echo - - if [[ "x$pwd1" != "x$pwd2" ]] ; then - die "Passwords are not the same" - fi - MYSQL_ROOT_PASSWORD="${pwd1}" - unset pwd1 pwd2 - fi - - local options - local sqltmp="$(emktemp)" - - # Fix bug 446200. Don't reference host my.cnf, needs to come first, - # see https://bugs.mysql.com/bug.php?id=31312 - use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" - - # Figure out which options we need to disable to do the setup - local helpfile="${TMPDIR}/mysqld-help" - "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null - for opt in grant-tables host-cache name-resolve networking slave-start \ - federated ssl log-bin relay-log slow-query-log external-locking \ - log-slave-updates \ - ; do - optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" - egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" - done - - einfo "Creating the mysql database and setting proper permissions on it ..." - - # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it - PID_DIR="${EROOT}/var/run/mysqld" - if [[ ! -d "${PID_DIR}" ]]; then - install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" - fi - - if [[ ! -d "${MY_DATADIR}" ]]; then - install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory" - fi - - pushd "${TMPDIR}" &>/dev/null || die - - # Filling timezones, see - # https://dev.mysql.com/doc/mysql/en/time-zone-support.html - "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null - - local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" ) - [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" ) - cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" ) - einfo "Command: ${cmd[*]}" - su -s /bin/sh -c "${cmd[*]}" mysql \ - >"${TMPDIR}"/mysql_install_db.log 2>&1 - if [ $? -ne 0 ]; then - grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2 - die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log" - fi - popd &>/dev/null || die - [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \ - || die "MySQL databases not installed" - - use prefix || options="${options} --user=mysql" - - local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock" - local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid" - local mysqld="${EROOT}/usr/sbin/mysqld \ - ${options} \ - --log-warnings=0 \ - --basedir=${EROOT}/usr \ - --datadir=${ROOT}/${MY_DATADIR} \ - --max_allowed_packet=8M \ - --net_buffer_length=16K \ - --socket=${socket} \ - --pid-file=${pidfile} \ - --tmpdir=${ROOT}/${MYSQL_TMPDIR}" - #einfo "About to start mysqld: ${mysqld}" - ebegin "Starting mysqld" - einfo "Command ${mysqld}" - ${mysqld} & - rc=$? - while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do - maxtry=$((${maxtry}-1)) - echo -n "." - sleep 1 - done - eend $rc - - if ! [[ -S "${socket}" ]]; then - die "Completely failed to start up mysqld with: ${mysqld}" - fi - - ebegin "Setting root password" - # Do this from memory, as we don't want clear text passwords in temp files - local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES" - "${EROOT}/usr/bin/mysql" \ - "--socket=${socket}" \ - -hlocalhost \ - -e "${sql}" - eend $? - - if [[ -n "${sqltmp}" ]] ; then - ebegin "Loading \"zoneinfo\", this step may require a few seconds" - "${EROOT}/usr/bin/mysql" \ - "--socket=${socket}" \ - -hlocalhost \ - -uroot \ - --password="${MYSQL_ROOT_PASSWORD}" \ - mysql < "${sqltmp}" - rc=$? - eend $? - [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!" - fi - - # Stop the server and cleanup - einfo "Stopping the server ..." - kill $(< "${pidfile}" ) - rm -f "${sqltmp}" - wait %1 - einfo "Done" -} diff --git a/dev-db/mariadb/mariadb-10.1.45.ebuild b/dev-db/mariadb/mariadb-10.1.45-r1.ebuild index ada13d31e8b9..616c340d5a83 100644 --- a/dev-db/mariadb/mariadb-10.1.45.ebuild +++ b/dev-db/mariadb/mariadb-10.1.45-r1.ebuild @@ -12,7 +12,7 @@ inherit eutils systemd flag-o-matic prefix toolchain-funcs \ multiprocessing java-pkg-opt-2 cmake-utils multilib-build # Patch version -PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.1.45-patches-03.tar.xz" +PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.1.45-patches-04.tar.xz" SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz ${PATCH_SET}" @@ -20,7 +20,7 @@ SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz HOMEPAGE="https://mariadb.org/" DESCRIPTION="An enhanced, drop-in replacement for MySQL" LICENSE="GPL-2" -SLOT="0/${SUBSLOT:-0}" +SLOT="10.1/${SUBSLOT:-0}" IUSE="+backup bindist client-libs cracklib debug extraengine galera jdbc jemalloc kerberos innodb-lz4 innodb-lzo innodb-snappy latin1 libressl mroonga numa odbc oqgraph pam +perl profiling selinux +server sphinx sst-rsync sst-mariabackup sst-xtrabackup @@ -34,7 +34,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static ) ?? ( tcmalloc jemalloc ) static? ( yassl !pam )" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" # Shorten the path because the socket path length must be shorter than 107 chars # and we will run a mysql server during test phase @@ -96,6 +96,12 @@ DEPEND="virtual/yacc RDEPEND="selinux? ( sec-policy/selinux-mysql ) client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c ) !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + !dev-db/mariadb:0 + !dev-db/mariadb:5.5 + !dev-db/mariadb:10.2 + !dev-db/mariadb:10.3 + !dev-db/mariadb:10.4 + !dev-db/mariadb:10.5 ${COMMON_DEPEND} server? ( galera? ( diff --git a/dev-db/mariadb/mariadb-10.1.44-r1.ebuild b/dev-db/mariadb/mariadb-10.1.46.ebuild index 70eec0ce5f04..fd560e8d61a3 100644 --- a/dev-db/mariadb/mariadb-10.1.44-r1.ebuild +++ b/dev-db/mariadb/mariadb-10.1.46.ebuild @@ -1,33 +1,24 @@ # Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="6" -MY_EXTRAS_VER="20200203-1749Z" +EAPI="7" SUBSLOT="18" JAVA_PKG_OPT_USE="jdbc" -# Keeping eutils in EAPI=6 for emktemp in pkg_config - inherit eutils systemd flag-o-matic prefix toolchain-funcs \ - multiprocessing java-pkg-opt-2 cmake-utils multilib-build + multiprocessing java-pkg-opt-2 cmake multilib-build -SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz " +# Patch version +PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.1.46-patches-01.tar.xz" -# Gentoo patches to MySQL -if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then - SRC_URI="${SRC_URI} - mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" -fi +SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz + ${PATCH_SET}" HOMEPAGE="https://mariadb.org/" DESCRIPTION="An enhanced, drop-in replacement for MySQL" LICENSE="GPL-2" -SLOT="0/${SUBSLOT:-0}" +SLOT="10.1/${SUBSLOT:-0}" IUSE="+backup bindist client-libs cracklib debug extraengine galera jdbc jemalloc kerberos innodb-lz4 innodb-lzo innodb-snappy latin1 libressl mroonga numa odbc oqgraph pam +perl profiling selinux +server sphinx sst-rsync sst-mariabackup sst-xtrabackup @@ -41,33 +32,12 @@ REQUIRED_USE="jdbc? ( extraengine server !static ) ?? ( tcmalloc jemalloc ) static? ( yassl !pam )" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" # Shorten the path because the socket path length must be shorter than 107 chars # and we will run a mysql server during test phase S="${WORKDIR}/mysql" -if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then - MY_PATCH_DIR="${WORKDIR%/}/mysql-extras" - inherit git-r3 - EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git" - EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras" - EGIT_CLONE_TYPE=shallow -else - MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}" -fi - -PATCHES=( - "${MY_PATCH_DIR}"/20006_all_cmake_elib-mariadb-10.1.27.patch - "${MY_PATCH_DIR}"/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch - "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch - "${MY_PATCH_DIR}"/20018_all_mariadb-10.1.16-without-clientlibs-tools.patch - "${MY_PATCH_DIR}"/20025_all_mariadb-10.1.26-gssapi-detect.patch - "${MY_PATCH_DIR}"/20029_all_mariadb-10.1.37-enable-numa.patch - "${MY_PATCH_DIR}"/20035_all_mariadb-10.1-atomic-detection.patch - "${MY_PATCH_DIR}"/20039_all_mariadb-binutil-libs-2.34.patch -) - # Be warned, *DEPEND are version-dependant # These are used for both runtime and compiletime COMMON_DEPEND=" @@ -80,11 +50,12 @@ COMMON_DEPEND=" jemalloc? ( dev-libs/jemalloc:0= ) tcmalloc? ( dev-util/google-perftools:0= ) systemtap? ( >=dev-util/systemtap-1.3:0= ) + >=sys-libs/zlib-1.2.3:0= + kerberos? ( virtual/krb5 ) !yassl? ( !libressl? ( dev-libs/openssl:0= !>=dev-libs/openssl-1.1 ) libressl? ( dev-libs/libressl:0= ) ) - >=sys-libs/zlib-1.2.3:0= sys-libs/ncurses:0= !bindist? ( sys-libs/binutils-libs:0= @@ -101,7 +72,6 @@ COMMON_DEPEND=" innodb-lz4? ( app-arch/lz4 ) innodb-lzo? ( dev-libs/lzo ) innodb-snappy? ( app-arch/snappy ) - kerberos? ( virtual/krb5 ) mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) numa? ( sys-process/numactl ) oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) @@ -109,21 +79,27 @@ COMMON_DEPEND=" systemd? ( sys-apps/systemd:= ) tokudb? ( app-arch/snappy ) ) - !yassl? ( !libressl? ( !>=dev-libs/openssl-1.1.0 ) ) >=dev-libs/libpcre-8.41-r1:3= !client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] ) " -DEPEND="virtual/yacc - static? ( sys-libs/ncurses[static-libs] ) +BDEPEND="virtual/yacc || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) +" +DEPEND="static? ( sys-libs/ncurses[static-libs] ) server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) test? ( acct-group/mysql acct-user/mysql ) ) ${COMMON_DEPEND}" RDEPEND="selinux? ( sec-policy/selinux-mysql ) - client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c ) + client-libs? ( !dev-db/mysql-connector-c ) !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + !dev-db/mariadb:0 + !dev-db/mariadb:5.5 + !dev-db/mariadb:10.2 + !dev-db/mariadb:10.3 + !dev-db/mariadb:10.4 + !dev-db/mariadb:10.5 ${COMMON_DEPEND} server? ( galera? ( @@ -243,19 +219,20 @@ pkg_setup() { src_unpack() { unpack ${A} - # Grab the patches - [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack mv -f "${WORKDIR%/}/${PN%%-galera}-${PV}" "${S}" || die } src_prepare() { - _disable_engine() { - echo > "${S%/}/storage/${1}/CMakeLists.txt" || die - } + eapply "${WORKDIR}"/mariadb-patches + + eapply_user _disable_plugin() { - echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die + echo > "${S}/plugin/${1}/CMakeLists.txt" || die + } + _disable_engine() { + echo > "${S}/storage/${1}/CMakeLists.txt" || die } if use tcmalloc; then @@ -263,9 +240,9 @@ src_prepare() { fi # Don't build bundled xz-utils for tokudb - echo > "${S%/}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die - sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S%/}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die - sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S%/}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die + echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die + sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die + sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die # Fix -fno-common error sed -i -e '/^datasink_t datasink_buffer;$/d' extra/mariabackup/xbstream.c || die @@ -294,12 +271,7 @@ src_prepare() { use oqgraph || _disable_engine oqgraph _disable_engine example - # Don't clash with dev-db/mysql-connector-c - sed -i -e 's/ my_print_defaults.1//' \ - -e 's/ perror.1//' \ - "${S}"/man/CMakeLists.txt || die - - cmake-utils_src_prepare + cmake_src_prepare java-pkg-opt-2_src_prepare } @@ -457,11 +429,11 @@ src_configure() { ) fi - cmake-utils_src_configure + cmake_src_configure } src_compile() { - cmake-utils_src_compile + cmake_src_compile } # Official test instructions: @@ -491,7 +463,7 @@ src_test() { einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" # Run CTest (test-units) - cmake-utils_src_test + cmake_src_test retstatus_unit=$? # Ensure that parallel runs don't die @@ -600,7 +572,7 @@ src_test() { } src_install() { - cmake-utils_src_install + cmake_src_install # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then @@ -665,8 +637,10 @@ src_install() { doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror" fi - #Remove mytop if perl is not selected - [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" + # Remove mytop if perl is not selected + if [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl ; then + rm -f "${ED}/usr/bin/mytop" || die + fi } pkg_preinst() { @@ -678,7 +652,7 @@ pkg_postinst() { mysql_init_vars # Create log directory securely if it does not exist - [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" + [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}" if use server ; then if use pam; then @@ -717,7 +691,7 @@ pkg_postinst() { pkg_config() { _getoptval() { - local mypd="${EROOT}"usr/libexec/mariadb/my_print_defaults + local mypd="${EROOT}"/usr/libexec/mariadb/my_print_defaults local section="$1" local flag="--${2}=" local extra_options="${3}" @@ -822,9 +796,9 @@ pkg_config() { # localhost. Also causes weird failures. [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]]; then - einfo "Please provide a password for the mysql 'root' user now" + einfo "Please provide a password for the mysql 'root'@'localhost' user now" einfo "or through the ${HOME}/.my.cnf file." ewarn "Avoid [\"'\\_%] characters in the password" read -rsp " >" pwd1 ; echo @@ -835,6 +809,7 @@ pkg_config() { if [[ "x$pwd1" != "x$pwd2" ]] ; then die "Passwords are not the same" fi + MYSQL_ROOT_PASSWORD="${pwd1}" unset pwd1 pwd2 fi @@ -875,19 +850,19 @@ pkg_config() { # https://dev.mysql.com/doc/mysql/en/time-zone-support.html "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null - local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" ) - [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" ) + local cmd=( "${EROOT}/usr/share/mariadb/scripts/mysql_install_db" ) + [[ -f "${cmd}" ]] || cmd=( "${EROOT}/usr/bin/mysql_install_db" ) cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" ) einfo "Command: ${cmd[*]}" su -s /bin/sh -c "${cmd[*]}" mysql \ >"${TMPDIR}"/mysql_install_db.log 2>&1 - if [ $? -ne 0 ]; then + if [[ $? -ne 0 ]]; then grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2 die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log" fi popd &>/dev/null || die [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \ - || die "MySQL databases not installed" + || die "MySQL databases not installed" use prefix || options="${options} --user=mysql" diff --git a/dev-db/mariadb/mariadb-10.2.22-r1.ebuild b/dev-db/mariadb/mariadb-10.2.22-r2.ebuild index 4245acdc5024..aca4c6dfa4c3 100644 --- a/dev-db/mariadb/mariadb-10.2.22-r1.ebuild +++ b/dev-db/mariadb/mariadb-10.2.22-r2.ebuild @@ -27,7 +27,7 @@ fi HOMEPAGE="https://mariadb.org/" DESCRIPTION="An enhanced, drop-in replacement for MySQL" LICENSE="GPL-2 LGPL-2.1+" -SLOT="0/${SUBSLOT:-0}" +SLOT="10.2/${SUBSLOT:-0}" IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4 innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx @@ -42,7 +42,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static ) ?? ( tcmalloc jemalloc ) static? ( yassl !pam )" -KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" +KEYWORDS="ppc ppc64" # Shorten the path because the socket path length must be shorter than 107 chars # and we will run a mysql server during test phase @@ -116,6 +116,12 @@ DEPEND="virtual/yacc ${COMMON_DEPEND}" RDEPEND="selinux? ( sec-policy/selinux-mysql ) !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + !dev-db/mariadb:0 + !dev-db/mariadb:5.5 + !dev-db/mariadb:10.1 + !dev-db/mariadb:10.3 + !dev-db/mariadb:10.4 + !dev-db/mariadb:10.5 server? ( !prefix? ( dev-db/mysql-init-scripts ) ) !<virtual/mysql-5.6-r11 ${COMMON_DEPEND} diff --git a/dev-db/mariadb/mariadb-10.2.29.ebuild b/dev-db/mariadb/mariadb-10.2.29.ebuild deleted file mode 100644 index bed0ab679d27..000000000000 --- a/dev-db/mariadb/mariadb-10.2.29.ebuild +++ /dev/null @@ -1,985 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" -MY_EXTRAS_VER="20190305-2052Z" -SUBSLOT="18" - -JAVA_PKG_OPT_USE="jdbc" - -# Keeping eutils in EAPI=6 for emktemp in pkg_config - -inherit eutils systemd flag-o-matic prefix toolchain-funcs \ - java-pkg-opt-2 user cmake-utils - -SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz " - -# Gentoo patches to MySQL -if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then - SRC_URI="${SRC_URI} - mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" -fi - -HOMEPAGE="https://mariadb.org/" -DESCRIPTION="An enhanced, drop-in replacement for MySQL" -LICENSE="GPL-2 LGPL-2.1+" -SLOT="0/${SUBSLOT:-0}" -IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4 - innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga - numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx - sst-rsync sst-mariabackup sst-xtrabackup static systemd systemtap tcmalloc - test tokudb xml yassl" - -# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests -RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )" - -REQUIRED_USE="jdbc? ( extraengine server !static ) - server? ( tokudb? ( jemalloc !tcmalloc ) ) - ?? ( tcmalloc jemalloc ) - static? ( yassl !pam )" - -KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" - -# Shorten the path because the socket path length must be shorter than 107 chars -# and we will run a mysql server during test phase -S="${WORKDIR}/mysql" - -if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git" - EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras" - EGIT_CLONE_TYPE=shallow - MY_PATCH_DIR="${WORKDIR%/}/mysql-extras" -else - MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}" -fi - -PATCHES=( - "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch - "${MY_PATCH_DIR}"/20018_all_mariadb-10.2.16-without-clientlibs-tools.patch - "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch - "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch - "${MY_PATCH_DIR}"/20035_all_mariadb-10.2-atomic-detection.patch -) - -# Be warned, *DEPEND are version-dependant -# These are used for both runtime and compiletime -COMMON_DEPEND=" - kernel_linux? ( - sys-process/procps:0= - dev-libs/libaio:0= - ) - >=sys-apps/sed-4 - >=sys-apps/texinfo-4.7-r1 - jemalloc? ( dev-libs/jemalloc:0= ) - tcmalloc? ( dev-util/google-perftools:0= ) - systemtap? ( >=dev-util/systemtap-1.3:0= ) - >=sys-libs/zlib-1.2.3:0= - kerberos? ( virtual/krb5 ) - yassl? ( net-libs/gnutls:0= ) - !yassl? ( - !libressl? ( >=dev-libs/openssl-1.0.0:0= ) - libressl? ( dev-libs/libressl:0= ) - ) - sys-libs/ncurses:0= - !bindist? ( - sys-libs/binutils-libs:0= - >=sys-libs/readline-4.1:0= - ) - server? ( - backup? ( app-arch/libarchive:0= ) - cracklib? ( sys-libs/cracklib:0= ) - extraengine? ( - odbc? ( dev-db/unixODBC:0= ) - xml? ( dev-libs/libxml2:2= ) - ) - innodb-lz4? ( app-arch/lz4 ) - innodb-lzo? ( dev-libs/lzo ) - innodb-snappy? ( app-arch/snappy ) - mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) - numa? ( sys-process/numactl ) - oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) - pam? ( sys-libs/pam:0= ) - systemd? ( sys-apps/systemd:= ) - tokudb? ( app-arch/snappy ) - ) - >=dev-libs/libpcre-8.41-r1:3= -" -DEPEND="virtual/yacc - static? ( sys-libs/ncurses[static-libs] ) - || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) - server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) ) - ${COMMON_DEPEND}" -RDEPEND="selinux? ( sec-policy/selinux-mysql ) - !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster - server? ( !prefix? ( dev-db/mysql-init-scripts ) ) - !<virtual/mysql-5.6-r11 - ${COMMON_DEPEND} - server? ( galera? ( - sys-apps/iproute2 - =sys-cluster/galera-25* - sst-rsync? ( sys-process/lsof ) - sst-mariabackup? ( net-misc/socat[ssl] ) - sst-xtrabackup? ( net-misc/socat[ssl] ) - ) ) - perl? ( !dev-db/mytop - virtual/perl-Getopt-Long - dev-perl/TermReadKey - virtual/perl-Term-ANSIColor - virtual/perl-Time-HiRes ) - server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) ) -" -# For other stuff to bring us in -# dev-perl/DBD-mysql is needed by some scripts installed by MySQL -# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed -PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 ) - server? ( ~virtual/mysql-5.6[static=] - galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )" - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - local GCC_MAJOR_SET=$(gcc-major-version) - local GCC_MINOR_SET=$(gcc-minor-version) - if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \ - ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then - eerror "${PN} with tokudb needs to be built with gcc-4.7 or later." - eerror "Please use gcc-config to switch to gcc-4.7 or later version." - die - fi - # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on - # non x86{,_64} arches - if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ - ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then - eerror "${PN} needs to be built with gcc-4.7 or later." - eerror "Please use gcc-config to switch to gcc-4.7 or later version." - die - fi - fi - java-pkg-opt-2_pkg_setup - if has test ${FEATURES} && \ - use server && ! has userpriv ${FEATURES} ; then - eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." - fi - - # This should come after all of the die statements - enewgroup mysql 60 || die "problem adding 'mysql' group" - enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user" -} - -pkg_preinst() { - java-pkg-opt-2_pkg_preinst - - # Here we need to see if the implementation switched client libraries - # We check if this is a new instance of the package and a client library already exists - local SHOW_ABI_MESSAGE libpath - if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then - libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so") - elog "Due to ABI changes when switching between different client libraries," - elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient." - elog "Please run: revdep-rebuild --library ${libpath}" - ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" - fi -} - -pkg_postinst() { - # Make sure the vars are correctly initialized - mysql_init_vars - - # Create log directory securely if it does not exist - [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" - - if use server ; then - if use pam; then - einfo - elog "This install includes the PAM authentication plugin." - elog "To activate and configure the PAM plugin, please read:" - elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/" - einfo - fi - - if [[ -z "${REPLACING_VERSIONS}" ]] ; then - einfo - elog "You might want to run:" - elog "\"emerge --config =${CATEGORY}/${PF}\"" - elog "if this is a new install." - elog - elog "If you are switching server implentations, you should run the" - elog "mysql_upgrade tool." - einfo - else - einfo - elog "If you are upgrading major versions, you should run the" - elog "mysql_upgrade tool." - einfo - fi - - if use galera ; then - einfo - elog "Be sure to edit the my.cnf file to activate your cluster settings." - elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\"" - elog "The first time the cluster is activated, you should add" - elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node." - elog "This option should then be removed for subsequent starts." - einfo - if use sst-xtrabackup ; then - ewarn "As per https://mariadb.com/kb/en/meta/xtrabackup_warning/, XtraBackup" - ewarn "as an SST is broken by default beginning with 10.2.19 with the setting" - ewarn "innodb_safe_truncate=ON. Please migrate to sst-mariabackup instead." - ewarn "sst-xtrabackup is being removed in 10.3 and higher." - fi - fi - fi - - # Note about configuration change - einfo - elog "This version of mariadb reorganizes the configuration from a single my.cnf" - elog "to several files in /etc/mysql/${PN}.d." - elog "Please backup any changes you made to /etc/mysql/my.cnf" - elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension." - elog "You may have as many files as needed and they are read alphabetically." - elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." - einfo -} - -src_unpack() { - unpack ${A} - # Grab the patches - [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack - - mv -f "${WORKDIR%/}/${P}" "${S}" || die -} - -src_prepare() { - _disable_plugin() { - echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die - } - _disable_engine() { - echo > "${S%/}/storage/${1}/CMakeLists.txt" || die - } - - local malloc - for malloc in jemalloc tcmalloc ; do - if use ${malloc}; then - echo "TARGET_LINK_LIBRARIES(mysqld ${malloc})" >> "${S}/sql/CMakeLists.txt" - fi - done - - # Don't build bundled xz-utils for tokudb - echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die - sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die - sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die - - local plugin - local server_plugins=( handler_socket auth_socket feedback metadata_lock_info - locale_info qc_info server_audit sql_errlog auth_ed25519 ) - local test_plugins=( audit_null auth_examples daemon_example fulltext - debug_key_management example_key_management ) - if ! use server; then # These plugins are for the server - for plugin in "${server_plugins[@]}" ; do - _disable_plugin "${plugin}" - done - fi - - if ! use test; then # These plugins are only used during testing - for plugin in "${test_plugins[@]}" ; do - _disable_plugin "${plugin}" - done - _disable_engine test_sql_discovery - fi - - _disable_engine example - - if ! use oqgraph ; then # avoids extra library checks - _disable_engine oqgraph - fi - - if use mroonga ; then - # Remove the bundled groonga - # There is no CMake flag, it simply checks for existance - rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga" - else - _disable_engine mroonga - fi - - # Don't clash with dev-db/mysql-connector-c - sed -i -e 's/ my_print_defaults.1//' \ - -e 's/ perror.1//' \ - "${S}"/man/CMakeLists.txt || die - - # Fix galera_recovery.sh script - sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \ - scripts/galera_recovery.sh || die - - cmake-utils_src_prepare - java-pkg-opt-2_src_prepare -} - -src_configure() { - # bug 508724 mariadb cannot use ld.gold - tc-ld-disable-gold - # Bug #114895, bug #110149 - filter-flags "-O" "-O[01]" - - append-cxxflags -felide-constructors - - # bug #283926, with GCC4.4, this is required to get correct behavior. - append-flags -fno-strict-aliasing - - CMAKE_BUILD_TYPE="RelWithDebInfo" - - # debug hack wrt #497532 - mycmakeargs=( - -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" - -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" - -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" - -DSYSCONFDIR="${EPREFIX}/etc/mysql" - -DINSTALL_BINDIR=bin - -DINSTALL_DOCDIR=share/doc/${PF} - -DINSTALL_DOCREADMEDIR=share/doc/${PF} - -DINSTALL_INCLUDEDIR=include/mysql - -DINSTALL_INFODIR=share/info - -DINSTALL_LIBDIR=$(get_libdir) - -DINSTALL_MANDIR=share/man - -DINSTALL_MYSQLSHAREDIR=share/mariadb - -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin - -DINSTALL_SCRIPTDIR=share/mariadb/scripts - -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" - -DINSTALL_SBINDIR=sbin - -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb" - -DWITH_COMMENT="Gentoo Linux ${PF}" - -DWITH_UNIT_TESTS=$(usex test ON OFF) - -DWITH_LIBEDIT=0 - -DWITH_ZLIB=system - -DWITHOUT_LIBWRAP=1 - -DENABLED_LOCAL_INFILE=1 - -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" - -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock" - -DWITH_DEFAULT_COMPILER_OPTIONS=0 - -DWITH_DEFAULT_FEATURE_SET=0 - -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)" - # The build forces this to be defined when cross-compiling. We pass it - # all the time for simplicity and to make sure it is actually correct. - -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) - -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)" - -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) - -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF) - -DCONC_WITH_EXTERNAL_ZLIB=YES - -DWITH_EXTERNAL_ZLIB=YES - -DSUFFIX_INSTALL_DIR="" - -DWITH_UNITTEST=OFF - -DWITHOUT_CLIENTLIBS=YES - -DCLIENT_PLUGIN_DIALOG=OFF - -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF - -DCLIENT_PLUGIN_CLIENT_ED25519=OFF - -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC - -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF - ) - if use test ; then - mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test ) - else - mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) - fi - - if ! use yassl ; then - mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC ) - else - mycmakeargs+=( -DWITH_SSL=bundled ) - fi - - # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION - mycmakeargs+=( - -DWITH_READLINE=$(usex bindist 1 0) - -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1) - -DENABLE_DTRACE=$(usex systemtap) - ) - - if use server ; then - - # Federated{,X} must be treated special otherwise they will not be built as plugins - if ! use extraengine ; then - mycmakeargs+=( - -DPLUGIN_FEDERATED=NO - -DPLUGIN_FEDERATEDX=NO ) - fi - - mycmakeargs+=( - -DWITH_JEMALLOC=$(usex jemalloc system) - -DWITH_PCRE=system - -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO) - -DPLUGIN_SPHINX=$(usex sphinx YES NO) - -DPLUGIN_TOKUDB=$(usex tokudb YES NO) - -DPLUGIN_AUTH_PAM=$(usex pam YES NO) - -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO) - -DPLUGIN_CASSANDRA=NO - -DPLUGIN_SEQUENCE=$(usex extraengine YES NO) - -DPLUGIN_SPIDER=$(usex extraengine YES NO) - -DPLUGIN_CONNECT=$(usex extraengine YES NO) - -DCONNECT_WITH_MYSQL=1 - -DCONNECT_WITH_LIBXML2=$(usex xml) - -DCONNECT_WITH_ODBC=$(usex odbc) - -DCONNECT_WITH_JDBC=$(usex jdbc) - # Build failure and autodep wrt bug 639144 - -DCONNECT_WITH_MONGO=OFF - -DWITH_WSREP=$(usex galera) - -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF) - -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF) - -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF) - -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO) - -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) - -DWITH_MARIABACKUP=$(usex backup ON OFF) - -DWITH_LIBARCHIVE=$(usex backup ON OFF) - -DINSTALL_SQLBENCHDIR=share/mariadb - -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO) - # systemd is only linked to for server notification - -DWITH_SYSTEMD=$(usex systemd yes no) - -DWITH_NUMA=$(usex numa ON OFF) - ) - - # Workaround for MDEV-14524 - use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 ) - - if use test ; then - # This is needed for the new client lib which tests a real, open server - mycmakeargs+=( -DSKIP_TESTS=ON ) - fi - - if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then - ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" - ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." - ewarn "You MUST file bugs without these variables set." - - mycmakeargs+=( - -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} - -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} - ) - - elif ! use latin1 ; then - mycmakeargs+=( - -DDEFAULT_CHARSET=utf8 - -DDEFAULT_COLLATION=utf8_general_ci - ) - else - mycmakeargs+=( - -DDEFAULT_CHARSET=latin1 - -DDEFAULT_COLLATION=latin1_swedish_ci - ) - fi - mycmakeargs+=( - -DEXTRA_CHARSETS=all - -DMYSQL_USER=mysql - -DDISABLE_SHARED=$(usex static YES NO) - -DWITH_DEBUG=$(usex debug) - -DWITH_EMBEDDED_SERVER=OFF - -DWITH_PROFILING=$(usex profiling) - ) - - if use static; then - mycmakeargs+=( -DWITH_PIC=1 ) - fi - - if use jemalloc || use tcmalloc ; then - mycmakeargs+=( -DWITH_SAFEMALLOC=OFF ) - fi - - # Storage engines - mycmakeargs+=( - -DWITH_ARCHIVE_STORAGE_ENGINE=1 - -DWITH_BLACKHOLE_STORAGE_ENGINE=1 - -DWITH_CSV_STORAGE_ENGINE=1 - -DWITH_HEAP_STORAGE_ENGINE=1 - -DWITH_INNOBASE_STORAGE_ENGINE=1 - -DWITH_MYISAMMRG_STORAGE_ENGINE=1 - -DWITH_MYISAM_STORAGE_ENGINE=1 - -DWITH_PARTITION_STORAGE_ENGINE=1 - ) - - else - mycmakeargs+=( - -DWITHOUT_SERVER=1 - -DWITH_EMBEDDED_SERVER=OFF - -DEXTRA_CHARSETS=none - -DINSTALL_SQLBENCHDIR= - -DWITH_SYSTEMD=no - ) - fi - - cmake-utils_src_configure -} - -src_compile() { - cmake-utils_src_compile -} - -src_install() { - cmake-utils_src_install - - # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used - if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then - rm "${ED}/usr/include/mysql/server/private/config.h" || die - fi - - # Make sure the vars are correctly initialized - mysql_init_vars - - # Convenience links - einfo "Making Convenience links for mysqlcheck multi-call binary" - dosym "mysqlcheck" "/usr/bin/mysqlanalyze" - dosym "mysqlcheck" "/usr/bin/mysqlrepair" - dosym "mysqlcheck" "/usr/bin/mysqloptimize" - - # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir - if [[ -d "${ED}/usr/data" ]] ; then - rm -Rf "${ED}/usr/data" || die - fi - - # Unless they explicitly specific USE=test, then do not install the - # testsuite. It DOES have a use to be installed, esp. when you want to do a - # validation of your database configuration after tuning it. - if ! use test ; then - rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" - fi - - # Configuration stuff - einfo "Building default configuration ..." - insinto "${MY_SYSCONFDIR#${EPREFIX}}" - [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf - cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die - eprefixify "${TMPDIR}/my.cnf" - doins "${TMPDIR}/my.cnf" - insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d" - cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die - eprefixify "${TMPDIR}/50-distro-client.cnf" - doins "${TMPDIR}/50-distro-client.cnf" - - if use server ; then - mycnf_src="my.cnf.distro-server" - sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ - "${FILESDIR}/${mycnf_src}" \ - > "${TMPDIR}/my.cnf.ok" || die - if use prefix ; then - sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ - "${TMPDIR}/my.cnf.ok" || die - fi - if use latin1 ; then - sed -i \ - -e "/character-set/s|utf8|latin1|g" \ - "${TMPDIR}/my.cnf.ok" || die - fi - eprefixify "${TMPDIR}/my.cnf.ok" - newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf - - einfo "Including support files and sample configurations" - docinto "support-files" - local script - for script in \ - "${S}"/support-files/magic - do - [[ -f "$script" ]] && dodoc "${script}" - done - - docinto "scripts" - for script in "${S}"/scripts/mysql* ; do - [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}" - done - # Manually install supporting files that conflict with other packages - # but are needed for galera and initial installation - exeinto /usr/libexec/mariadb - doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror" - fi - - #Remove mytop if perl is not selected - [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" -} - -# Official test instructions: -# USE='extraengine perl server' \ -# FEATURES='test userpriv -usersandbox' \ -# ebuild mariadb-X.X.XX.ebuild \ -# digest clean package -src_test() { - - _disable_test() { - local rawtestname reason - rawtestname="${1}" ; shift - reason="${@}" - ewarn "test '${rawtestname}' disabled: '${reason}'" - echo ${rawtestname} : ${reason} >> "${T}/disabled.def" - } - - local TESTDIR="${BUILD_DIR}/mysql-test" - local retstatus_unit - local retstatus_tests - - if ! use server ; then - einfo "Skipping server tests due to minimal build." - return 0 - fi - - # Bug #213475 - MySQL _will_ object strenously if your machine is named - # localhost. Also causes weird failures. - [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - - if [[ $UID -eq 0 ]]; then - die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." - fi - has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox" - - einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" - - # Run CTest (test-units) - cmake-utils_src_test - retstatus_unit=$? - - # Ensure that parallel runs don't die - export MTR_BUILD_THREAD="$((${RANDOM} % 100))" - # Enable parallel testing, auto will try to detect number of cores - # You may set this by hand. - # The default maximum is 8 unless MTR_MAX_PARALLEL is increased - export MTR_PARALLEL="${MTR_PARALLEL:-auto}" - - # create directories because mysqladmin might run out of order - mkdir -p "${T}"/var-tests{,/log} || die - - # Run mysql tests - pushd "${TESTDIR}" > /dev/null || die - - touch "${T}/disabled.def" - # These are failing in MariaDB 10.0 for now and are believed to be - # false positives: - # - # main.mysql_client_test, main.mysql_client_test_nonblock - # main.mysql_client_test_comp: - # segfaults at random under Portage only, suspect resource limits. - - local t - for t in plugins.cracklib_password_check plugins.two_password_validations ; do - _disable_test "$t" "False positive due to varying policies" - done - - for t in main.mysql_client_test main.mysql_client_test_nonblock main.mysql \ - main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do - _disable_test "$t" "False positives in Gentoo" - done - - _disable_test main.gis_notembedded "Needs latin1 USE set" - _disable_test main.plugin_auth "Needs client libraries built" - _disable_test plugins.auth_ed25519 "Needs client libraries built" - _disable_test main.mysqldump "Test fails past 2018-12-31 due to event expiration" - - # Likely environment issues as only number of clients connected fails - _disable_test rpl.rpl_semi_sync_uninstall_plugin \ - "Fails intermittently on parallel testing" - - _disable_test main.ssl_crl "Not compatible with OpenSSL 1.1.1" - - # run mysql-test tests - perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" - retstatus_tests=$? - - popd > /dev/null || die - - # Cleanup is important for these testcases. - pkill -9 -f "${S}/ndb" 2>/dev/null - pkill -9 -f "${S}/sql" 2>/dev/null - - local failures="" - [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" - [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" - - [[ -z "$failures" ]] || die "Test failures: $failures" - einfo "Tests successfully completed" -} - -mysql_init_vars() { - MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} - MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} - MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} - MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"} - - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR="" - if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then - MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ - | sed -ne '/datadir/s|^--datadir=||p' \ - | tail -n1` - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ - | sed -e 's/.*=\s*//' \ - | tail -n1` - fi - fi - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR="${MY_LOCALSTATEDIR}" - einfo "Using default MY_DATADIR" - fi - elog "MySQL MY_DATADIR is ${MY_DATADIR}" - - if [[ -z "${PREVIOUS_DATADIR}" ]] ; then - if [[ -e "${MY_DATADIR}" ]] ; then - # If you get this and you're wondering about it, see bug #207636 - elog "MySQL datadir found in ${MY_DATADIR}" - elog "A new one will not be created." - PREVIOUS_DATADIR="yes" - else - PREVIOUS_DATADIR="no" - fi - export PREVIOUS_DATADIR - fi - else - if [[ ${EBUILD_PHASE} == "config" ]]; then - local new_MY_DATADIR - new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ - | sed -ne '/datadir/s|^--datadir=||p' \ - | tail -n1` - - if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then - ewarn "MySQL MY_DATADIR has changed" - ewarn "from ${MY_DATADIR}" - ewarn "to ${new_MY_DATADIR}" - MY_DATADIR="${new_MY_DATADIR}" - fi - fi - fi - - export MY_SHAREDSTATEDIR MY_SYSCONFDIR - export MY_LOCALSTATEDIR MY_LOGDIR - export MY_DATADIR -} - -pkg_config() { - _getoptval() { - local mypd="${EROOT}"usr/libexec/mariadb/my_print_defaults - local section="$1" - local flag="--${2}=" - local extra_options="${3}" - "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp" - } - local old_MY_DATADIR="${MY_DATADIR}" - local old_HOME="${HOME}" - # my_print_defaults needs to read stuff in $HOME/.my.cnf - export HOME=${EPREFIX}/root - - # Make sure the vars are correctly initialized - mysql_init_vars - - [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" - if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then - die "Minimal builds do NOT include the MySQL server" - fi - - if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then - local MY_DATADIR_s="${ROOT}/${MY_DATADIR}" - MY_DATADIR_s="${MY_DATADIR_s%%/}" - local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}" - old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}" - - if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then - if [[ -d "${MY_DATADIR_s}" ]]; then - ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist" - ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}" - else - elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}" - mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \ - || die "Moving MY_DATADIR failed" - fi - else - ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist" - if [[ -d "${MY_DATADIR_s}" ]]; then - ewarn "Attempting to use ${MY_DATADIR_s}" - else - eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist" - die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}" - fi - fi - fi - - local pwd1="a" - local pwd2="b" - local maxtry=15 - - if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then - local tmp_mysqld_password_source= - - for tmp_mysqld_password_source in mysql client; do - einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." - MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" - if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then - if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then - ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" - MYSQL_ROOT_PASSWORD= - continue - fi - - einfo "Found password in '${tmp_mysqld_password_source}' section!" - break - fi - done - - # Sometimes --show is required to display passwords in some implementations of my_print_defaults - if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then - MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" - fi - - unset tmp_mysqld_password_source - fi - MYSQL_TMPDIR="$(_getoptval mysqld tmpdir | tail -n1)" - # These are dir+prefix - MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)" - MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} - MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)" - MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} - - if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then - einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR" - fi - if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then - einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN" - fi - if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then - einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG" - fi - - if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then - ewarn "You have already a MySQL database in place." - ewarn "(${ROOT}/${MY_DATADIR}/*)" - ewarn "Please rename or delete it if you wish to replace it." - die "MySQL database already exists!" - fi - - # Bug #213475 - MySQL _will_ object strenously if your machine is named - # localhost. Also causes weird failures. - [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - - if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then - - einfo "Please provide a password for the mysql 'root' user now" - einfo "or through the ${HOME}/.my.cnf file." - ewarn "Avoid [\"'\\_%] characters in the password" - read -rsp " >" pwd1 ; echo - - einfo "Retype the password" - read -rsp " >" pwd2 ; echo - - if [[ "x$pwd1" != "x$pwd2" ]] ; then - die "Passwords are not the same" - fi - MYSQL_ROOT_PASSWORD="${pwd1}" - unset pwd1 pwd2 - fi - - local options - local sqltmp="$(emktemp)" - - # Fix bug 446200. Don't reference host my.cnf, needs to come first, - # see https://bugs.mysql.com/bug.php?id=31312 - use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" - - # Figure out which options we need to disable to do the setup - local helpfile="${TMPDIR}/mysqld-help" - "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null - for opt in grant-tables host-cache name-resolve networking slave-start \ - federated ssl log-bin relay-log slow-query-log external-locking \ - log-slave-updates \ - ; do - optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" - egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" - done - - einfo "Creating the mysql database and setting proper permissions on it ..." - - # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it - PID_DIR="${EROOT}/var/run/mysqld" - if [[ ! -d "${PID_DIR}" ]]; then - install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" - fi - - if [[ ! -d "${MY_DATADIR}" ]]; then - install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory" - fi - - pushd "${TMPDIR}" &>/dev/null || die - - # Filling timezones, see - # https://dev.mysql.com/doc/mysql/en/time-zone-support.html - "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null - - local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" ) - [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" ) - cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" ) - einfo "Command: ${cmd[*]}" - su -s /bin/sh -c "${cmd[*]}" mysql \ - >"${TMPDIR}"/mysql_install_db.log 2>&1 - if [ $? -ne 0 ]; then - grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2 - die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log" - fi - popd &>/dev/null || die - [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \ - || die "MySQL databases not installed" - - use prefix || options="${options} --user=mysql" - - local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock" - local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid" - local mysqld="${EROOT}/usr/sbin/mysqld \ - ${options} \ - --log-warnings=0 \ - --basedir=${EROOT}/usr \ - --datadir=${ROOT}/${MY_DATADIR} \ - --max_allowed_packet=8M \ - --net_buffer_length=16K \ - --socket=${socket} \ - --pid-file=${pidfile} \ - --tmpdir=${ROOT}/${MYSQL_TMPDIR}" - #einfo "About to start mysqld: ${mysqld}" - ebegin "Starting mysqld" - einfo "Command ${mysqld}" - ${mysqld} & - rc=$? - while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do - maxtry=$((${maxtry}-1)) - echo -n "." - sleep 1 - done - eend $rc - - if ! [[ -S "${socket}" ]]; then - die "Completely failed to start up mysqld with: ${mysqld}" - fi - - ebegin "Setting root password" - # Do this from memory, as we don't want clear text passwords in temp files - local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES" - "${EROOT}/usr/bin/mysql" \ - "--socket=${socket}" \ - -hlocalhost \ - -e "${sql}" - eend $? - - if [[ -n "${sqltmp}" ]] ; then - ebegin "Loading \"zoneinfo\", this step may require a few seconds" - "${EROOT}/usr/bin/mysql" \ - "--socket=${socket}" \ - -hlocalhost \ - -uroot \ - --password="${MYSQL_ROOT_PASSWORD}" \ - mysql < "${sqltmp}" - rc=$? - eend $? - [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!" - fi - - # Stop the server and cleanup - einfo "Stopping the server ..." - kill $(< "${pidfile}" ) - rm -f "${sqltmp}" - wait %1 - einfo "Done" -} diff --git a/dev-db/mariadb/mariadb-10.2.31-r1.ebuild b/dev-db/mariadb/mariadb-10.2.31-r1.ebuild deleted file mode 100644 index 994101f4575f..000000000000 --- a/dev-db/mariadb/mariadb-10.2.31-r1.ebuild +++ /dev/null @@ -1,1029 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" -MY_EXTRAS_VER="20200203-1749Z" -SUBSLOT="18" - -JAVA_PKG_OPT_USE="jdbc" - -# Keeping eutils in EAPI=6 for emktemp in pkg_config - -inherit eutils systemd flag-o-matic prefix toolchain-funcs \ - multiprocessing java-pkg-opt-2 cmake-utils - -SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz " - -# Gentoo patches to MySQL -if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then - SRC_URI="${SRC_URI} - mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" -fi - -HOMEPAGE="https://mariadb.org/" -DESCRIPTION="An enhanced, drop-in replacement for MySQL" -LICENSE="GPL-2 LGPL-2.1+" -SLOT="0/${SUBSLOT:-0}" -IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4 - innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga - numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx - sst-rsync sst-mariabackup sst-xtrabackup static systemd systemtap tcmalloc - test tokudb xml yassl" - -# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests -RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )" - -REQUIRED_USE="jdbc? ( extraengine server !static ) - server? ( tokudb? ( jemalloc !tcmalloc ) ) - ?? ( tcmalloc jemalloc ) - static? ( yassl !pam )" - -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" - -# Shorten the path because the socket path length must be shorter than 107 chars -# and we will run a mysql server during test phase -S="${WORKDIR}/mysql" - -if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git" - EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras" - EGIT_CLONE_TYPE=shallow - MY_PATCH_DIR="${WORKDIR%/}/mysql-extras" -else - MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}" -fi - -PATCHES=( - "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch - "${MY_PATCH_DIR}"/20018_all_mariadb-10.2.16-without-clientlibs-tools.patch - "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch - "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch - "${MY_PATCH_DIR}"/20035_all_mariadb-10.2-atomic-detection.patch - "${MY_PATCH_DIR}"/20039_all_mariadb-binutil-libs-2.34.patch -) - -# Be warned, *DEPEND are version-dependant -# These are used for both runtime and compiletime -COMMON_DEPEND=" - kernel_linux? ( - sys-process/procps:0= - dev-libs/libaio:0= - ) - >=sys-apps/sed-4 - >=sys-apps/texinfo-4.7-r1 - jemalloc? ( dev-libs/jemalloc:0= ) - tcmalloc? ( dev-util/google-perftools:0= ) - systemtap? ( >=dev-util/systemtap-1.3:0= ) - >=sys-libs/zlib-1.2.3:0= - kerberos? ( virtual/krb5 ) - yassl? ( net-libs/gnutls:0= ) - !yassl? ( - !libressl? ( >=dev-libs/openssl-1.0.0:0= ) - libressl? ( dev-libs/libressl:0= ) - ) - sys-libs/ncurses:0= - !bindist? ( - sys-libs/binutils-libs:0= - >=sys-libs/readline-4.1:0= - ) - server? ( - backup? ( app-arch/libarchive:0= ) - cracklib? ( sys-libs/cracklib:0= ) - extraengine? ( - odbc? ( dev-db/unixODBC:0= ) - xml? ( dev-libs/libxml2:2= ) - ) - innodb-lz4? ( app-arch/lz4 ) - innodb-lzo? ( dev-libs/lzo ) - innodb-snappy? ( app-arch/snappy ) - mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) - numa? ( sys-process/numactl ) - oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) - pam? ( sys-libs/pam:0= ) - systemd? ( sys-apps/systemd:= ) - tokudb? ( app-arch/snappy ) - ) - >=dev-libs/libpcre-8.41-r1:3= -" -DEPEND="virtual/yacc - static? ( sys-libs/ncurses[static-libs] ) - || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) - server? ( - extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) - test? ( acct-group/mysql acct-user/mysql ) - ) - ${COMMON_DEPEND}" -RDEPEND="selinux? ( sec-policy/selinux-mysql ) - !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster - !<virtual/mysql-5.6-r11 - ${COMMON_DEPEND} - server? ( - galera? ( - sys-apps/iproute2 - =sys-cluster/galera-25* - sst-rsync? ( sys-process/lsof ) - sst-mariabackup? ( net-misc/socat[ssl] ) - sst-xtrabackup? ( net-misc/socat[ssl] ) - ) - !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql ) - extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) - ) - perl? ( - !dev-db/mytop - virtual/perl-Getopt-Long - dev-perl/TermReadKey - virtual/perl-Term-ANSIColor - virtual/perl-Time-HiRes - ) -" -# For other stuff to bring us in -# dev-perl/DBD-mysql is needed by some scripts installed by MySQL -# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed -PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 ) - server? ( ~virtual/mysql-5.6[static=] - galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )" - -mysql_init_vars() { - MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} - MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} - MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} - MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"} - - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR="" - if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then - MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \ - | sed -ne '/datadir/s|^--datadir=||p' \ - | tail -n1) - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ - | sed -e 's/.*=\s*//' \ - | tail -n1) - fi - fi - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR="${MY_LOCALSTATEDIR}" - einfo "Using default MY_DATADIR" - fi - elog "MySQL MY_DATADIR is ${MY_DATADIR}" - - if [[ -z "${PREVIOUS_DATADIR}" ]] ; then - if [[ -e "${MY_DATADIR}" ]] ; then - # If you get this and you're wondering about it, see bug #207636 - elog "MySQL datadir found in ${MY_DATADIR}" - elog "A new one will not be created." - PREVIOUS_DATADIR="yes" - else - PREVIOUS_DATADIR="no" - fi - export PREVIOUS_DATADIR - fi - else - if [[ ${EBUILD_PHASE} == "config" ]]; then - local new_MY_DATADIR - new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \ - | sed -ne '/datadir/s|^--datadir=||p' \ - | tail -n1) - - if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then - ewarn "MySQL MY_DATADIR has changed" - ewarn "from ${MY_DATADIR}" - ewarn "to ${new_MY_DATADIR}" - MY_DATADIR="${new_MY_DATADIR}" - fi - fi - fi - - export MY_SHAREDSTATEDIR MY_SYSCONFDIR - export MY_LOCALSTATEDIR MY_LOGDIR - export MY_DATADIR -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - local GCC_MAJOR_SET=$(gcc-major-version) - local GCC_MINOR_SET=$(gcc-minor-version) - - if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \ - ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then - eerror "${PN} with tokudb needs to be built with gcc-4.7 or later." - eerror "Please use gcc-config to switch to gcc-4.7 or later version." - die - fi - - # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on - # non x86{,_64} arches - if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ - ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then - eerror "${PN} needs to be built with gcc-4.7 or later." - eerror "Please use gcc-config to switch to gcc-4.7 or later version." - die - fi - - if has test ${FEATURES} ; then - # Bug #213475 - MySQL _will_ object strenuously if your machine is named - # localhost. Also causes weird failures. - [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - - if ! has userpriv ${FEATURES} ; then - die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." - fi - fi - fi - - java-pkg-opt-2_pkg_setup -} - -src_unpack() { - unpack ${A} - # Grab the patches - [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack - - mv -f "${WORKDIR%/}/${P}" "${S}" || die -} - -src_prepare() { - _disable_plugin() { - echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die - } - _disable_engine() { - echo > "${S%/}/storage/${1}/CMakeLists.txt" || die - } - - local malloc - for malloc in jemalloc tcmalloc ; do - if use ${malloc}; then - echo "TARGET_LINK_LIBRARIES(mysqld ${malloc})" >> "${S}/sql/CMakeLists.txt" - fi - done - - # Don't build bundled xz-utils for tokudb - echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die - sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die - sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die - - local plugin - local server_plugins=( handler_socket auth_socket feedback metadata_lock_info - locale_info qc_info server_audit sql_errlog auth_ed25519 ) - local test_plugins=( audit_null auth_examples daemon_example fulltext - debug_key_management example_key_management ) - if ! use server; then # These plugins are for the server - for plugin in "${server_plugins[@]}" ; do - _disable_plugin "${plugin}" - done - fi - - if ! use test; then # These plugins are only used during testing - for plugin in "${test_plugins[@]}" ; do - _disable_plugin "${plugin}" - done - _disable_engine test_sql_discovery - fi - - _disable_engine example - - if ! use oqgraph ; then # avoids extra library checks - _disable_engine oqgraph - fi - - if use mroonga ; then - # Remove the bundled groonga - # There is no CMake flag, it simply checks for existance - rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga" - else - _disable_engine mroonga - fi - - # Don't clash with dev-db/mysql-connector-c - sed -i -e 's/ my_print_defaults.1//' \ - -e 's/ perror.1//' \ - "${S}"/man/CMakeLists.txt || die - - # Fix galera_recovery.sh script - sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \ - scripts/galera_recovery.sh || die - - cmake-utils_src_prepare - java-pkg-opt-2_src_prepare -} - -src_configure() { - # bug 508724 mariadb cannot use ld.gold - tc-ld-disable-gold - # Bug #114895, bug #110149 - filter-flags "-O" "-O[01]" - - append-cxxflags -felide-constructors - - # bug #283926, with GCC4.4, this is required to get correct behavior. - append-flags -fno-strict-aliasing - - CMAKE_BUILD_TYPE="RelWithDebInfo" - - # debug hack wrt #497532 - mycmakeargs=( - -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" - -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" - -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" - -DSYSCONFDIR="${EPREFIX}/etc/mysql" - -DINSTALL_BINDIR=bin - -DINSTALL_DOCDIR=share/doc/${PF} - -DINSTALL_DOCREADMEDIR=share/doc/${PF} - -DINSTALL_INCLUDEDIR=include/mysql - -DINSTALL_INFODIR=share/info - -DINSTALL_LIBDIR=$(get_libdir) - -DINSTALL_MANDIR=share/man - -DINSTALL_MYSQLSHAREDIR=share/mariadb - -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin - -DINSTALL_SCRIPTDIR=share/mariadb/scripts - -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" - -DINSTALL_SBINDIR=sbin - -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb" - -DWITH_COMMENT="Gentoo Linux ${PF}" - -DWITH_UNIT_TESTS=$(usex test ON OFF) - -DWITH_LIBEDIT=0 - -DWITH_ZLIB=system - -DWITHOUT_LIBWRAP=1 - -DENABLED_LOCAL_INFILE=1 - -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" - -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock" - -DWITH_DEFAULT_COMPILER_OPTIONS=0 - -DWITH_DEFAULT_FEATURE_SET=0 - -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)" - # The build forces this to be defined when cross-compiling. We pass it - # all the time for simplicity and to make sure it is actually correct. - -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) - -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)" - -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) - -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF) - -DCONC_WITH_EXTERNAL_ZLIB=YES - -DWITH_EXTERNAL_ZLIB=YES - -DSUFFIX_INSTALL_DIR="" - -DWITH_UNITTEST=OFF - -DWITHOUT_CLIENTLIBS=YES - -DCLIENT_PLUGIN_DIALOG=OFF - -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF - -DCLIENT_PLUGIN_CLIENT_ED25519=OFF - -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC - -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF - ) - if use test ; then - mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test ) - else - mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) - fi - - if ! use yassl ; then - mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC ) - else - mycmakeargs+=( -DWITH_SSL=bundled ) - fi - - # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION - mycmakeargs+=( - -DWITH_READLINE=$(usex bindist 1 0) - -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1) - -DENABLE_DTRACE=$(usex systemtap) - ) - - if use server ; then - - # Federated{,X} must be treated special otherwise they will not be built as plugins - if ! use extraengine ; then - mycmakeargs+=( - -DPLUGIN_FEDERATED=NO - -DPLUGIN_FEDERATEDX=NO ) - fi - - mycmakeargs+=( - -DWITH_JEMALLOC=$(usex jemalloc system) - -DWITH_PCRE=system - -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO) - -DPLUGIN_SPHINX=$(usex sphinx YES NO) - -DPLUGIN_TOKUDB=$(usex tokudb YES NO) - -DPLUGIN_AUTH_PAM=$(usex pam YES NO) - -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO) - -DPLUGIN_CASSANDRA=NO - -DPLUGIN_SEQUENCE=$(usex extraengine YES NO) - -DPLUGIN_SPIDER=$(usex extraengine YES NO) - -DPLUGIN_CONNECT=$(usex extraengine YES NO) - -DCONNECT_WITH_MYSQL=1 - -DCONNECT_WITH_LIBXML2=$(usex xml) - -DCONNECT_WITH_ODBC=$(usex odbc) - -DCONNECT_WITH_JDBC=$(usex jdbc) - # Build failure and autodep wrt bug 639144 - -DCONNECT_WITH_MONGO=OFF - -DWITH_WSREP=$(usex galera) - -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF) - -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF) - -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF) - -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO) - -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) - -DWITH_MARIABACKUP=$(usex backup ON OFF) - -DWITH_LIBARCHIVE=$(usex backup ON OFF) - -DINSTALL_SQLBENCHDIR=share/mariadb - -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO) - # systemd is only linked to for server notification - -DWITH_SYSTEMD=$(usex systemd yes no) - -DWITH_NUMA=$(usex numa ON OFF) - ) - - # Workaround for MDEV-14524 - use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 ) - - if use test ; then - # This is needed for the new client lib which tests a real, open server - mycmakeargs+=( -DSKIP_TESTS=ON ) - fi - - if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then - ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" - ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." - ewarn "You MUST file bugs without these variables set." - - mycmakeargs+=( - -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} - -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} - ) - - elif ! use latin1 ; then - mycmakeargs+=( - -DDEFAULT_CHARSET=utf8 - -DDEFAULT_COLLATION=utf8_general_ci - ) - else - mycmakeargs+=( - -DDEFAULT_CHARSET=latin1 - -DDEFAULT_COLLATION=latin1_swedish_ci - ) - fi - mycmakeargs+=( - -DEXTRA_CHARSETS=all - -DMYSQL_USER=mysql - -DDISABLE_SHARED=$(usex static YES NO) - -DWITH_DEBUG=$(usex debug) - -DWITH_EMBEDDED_SERVER=OFF - -DWITH_PROFILING=$(usex profiling) - ) - - if use static; then - mycmakeargs+=( -DWITH_PIC=1 ) - fi - - if use jemalloc || use tcmalloc ; then - mycmakeargs+=( -DWITH_SAFEMALLOC=OFF ) - fi - - # Storage engines - mycmakeargs+=( - -DWITH_ARCHIVE_STORAGE_ENGINE=1 - -DWITH_BLACKHOLE_STORAGE_ENGINE=1 - -DWITH_CSV_STORAGE_ENGINE=1 - -DWITH_HEAP_STORAGE_ENGINE=1 - -DWITH_INNOBASE_STORAGE_ENGINE=1 - -DWITH_MYISAMMRG_STORAGE_ENGINE=1 - -DWITH_MYISAM_STORAGE_ENGINE=1 - -DWITH_PARTITION_STORAGE_ENGINE=1 - ) - - else - mycmakeargs+=( - -DWITHOUT_SERVER=1 - -DWITH_EMBEDDED_SERVER=OFF - -DEXTRA_CHARSETS=none - -DINSTALL_SQLBENCHDIR= - -DWITH_SYSTEMD=no - ) - fi - - cmake-utils_src_configure -} - -src_compile() { - cmake-utils_src_compile -} - -# Official test instructions: -# USE='extraengine perl server' \ -# FEATURES='test userpriv' \ -# ebuild mariadb-X.X.XX.ebuild \ -# digest clean package -src_test() { - _disable_test() { - local rawtestname bug reason - rawtestname="${1}" ; shift - bug="${1}" ; shift - reason="${@}" - ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})" - echo "${rawtestname} : BUG#${bug} ${reason}" >> "${T}/disabled.def" - } - - local TESTDIR="${BUILD_DIR}/mysql-test" - local retstatus_unit - local retstatus_tests - - if ! use server ; then - einfo "Skipping server tests due to minimal build." - return 0 - fi - - einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" - - # Run CTest (test-units) - cmake-utils_src_test - retstatus_unit=$? - - # Ensure that parallel runs don't die - export MTR_BUILD_THREAD="$((${RANDOM} % 100))" - - if [[ -z "${MTR_PARALLEL}" ]] ; then - local -x MTR_PARALLEL=$(makeopts_jobs) - - if [[ ${MTR_PARALLEL} -gt 4 ]] ; then - # Running multiple tests in parallel usually require higher ulimit - # and fs.aio-max-nr setting. In addition, tests like main.multi_update - # are known to hit timeout when system is busy. - # To avoid test failure we will limit MTR_PARALLEL to 4 instead of - # using "auto". - local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})" - info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!" - einfo "${info_msg}" - unset info_msg - MTR_PARALLEL=4 - fi - else - einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'" - fi - - # Try to increase file limits to increase test coverage - if ! ulimit -n 16500 1>/dev/null 2>&1 ; then - # Upper limit comes from parts.partition_* tests - ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager." - - if ! ulimit -n 4162 1>/dev/null 2>&1 ; then - # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)' - ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager." - - if ! ulimit -n 3000 1>/dev/null 2>&1 ; then - ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager." - else - einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)." - fi - else - einfo "Will run test suite with open file limit set to 4162 (medium test coverage)." - fi - else - einfo "Will run test suite with open file limit set to 16500 (best test coverage)." - fi - - # create directories because mysqladmin might run out of order - mkdir -p "${T}"/var-tests{,/log} || die - - cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die - - local -a disabled_tests - disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" ) - disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" ) - disabled_tests+=( "main.func_time;0;Dependent on time test was written" ) - disabled_tests+=( "main.grant;0;Sporadically failing test" ) - disabled_tests+=( "main.join_cache;0;Sporadically failing test" ) - disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" ) - disabled_tests+=( "main.stat_tables;0;Sporadically failing test" ) - disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" ) - disabled_tests+=( "mariabackup.*;0;Broken test suite" ) - disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" ) - disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" ) - disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" ) - disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" ) - - if ! use latin1 ; then - disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" ) - disabled_tests+=( "main.information_schema;0;Requires USE=latin1" ) - disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" ) - fi - - local test_infos_str test_infos_arr - for test_infos_str in "${disabled_tests[@]}" ; do - IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}" - - if [[ ${#test_infos_arr[@]} != 3 ]] ; then - die "Invalid test data set, not matching format: ${test_infos_str}" - fi - - _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}" - done - unset test_infos_str test_infos_arr - - # run mysql-test tests - pushd "${TESTDIR}" &>/dev/null || die - perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" - retstatus_tests=$? - - popd &>/dev/null || die - - # Cleanup is important for these testcases. - pkill -9 -f "${S}/ndb" 2>/dev/null - pkill -9 -f "${S}/sql" 2>/dev/null - - local failures="" - [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" - [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" - - [[ -z "$failures" ]] || die "Test failures: $failures" - einfo "Tests successfully completed" -} - -src_install() { - cmake-utils_src_install - - # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used - if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then - rm "${ED}/usr/include/mysql/server/private/config.h" || die - fi - - # Make sure the vars are correctly initialized - mysql_init_vars - - # Convenience links - einfo "Making Convenience links for mysqlcheck multi-call binary" - dosym "mysqlcheck" "/usr/bin/mysqlanalyze" - dosym "mysqlcheck" "/usr/bin/mysqlrepair" - dosym "mysqlcheck" "/usr/bin/mysqloptimize" - - # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir - if [[ -d "${ED}/usr/data" ]] ; then - rm -Rf "${ED}/usr/data" || die - fi - - # Unless they explicitly specific USE=test, then do not install the - # testsuite. It DOES have a use to be installed, esp. when you want to do a - # validation of your database configuration after tuning it. - if ! use test ; then - rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" - fi - - # Configuration stuff - einfo "Building default configuration ..." - insinto "${MY_SYSCONFDIR#${EPREFIX}}" - [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf - cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die - eprefixify "${TMPDIR}/my.cnf" - doins "${TMPDIR}/my.cnf" - insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d" - cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die - eprefixify "${TMPDIR}/50-distro-client.cnf" - doins "${TMPDIR}/50-distro-client.cnf" - - if use server ; then - mycnf_src="my.cnf.distro-server" - sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ - "${FILESDIR}/${mycnf_src}" \ - > "${TMPDIR}/my.cnf.ok" || die - if use prefix ; then - sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ - "${TMPDIR}/my.cnf.ok" || die - fi - if use latin1 ; then - sed -i \ - -e "/character-set/s|utf8|latin1|g" \ - "${TMPDIR}/my.cnf.ok" || die - fi - eprefixify "${TMPDIR}/my.cnf.ok" - newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf - - einfo "Including support files and sample configurations" - docinto "support-files" - local script - for script in \ - "${S}"/support-files/magic - do - [[ -f "$script" ]] && dodoc "${script}" - done - - docinto "scripts" - for script in "${S}"/scripts/mysql* ; do - [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}" - done - # Manually install supporting files that conflict with other packages - # but are needed for galera and initial installation - exeinto /usr/libexec/mariadb - doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror" - fi - - #Remove mytop if perl is not selected - [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" -} - -pkg_preinst() { - java-pkg-opt-2_pkg_preinst - - # Here we need to see if the implementation switched client libraries - # We check if this is a new instance of the package and a client library already exists - local SHOW_ABI_MESSAGE libpath - if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then - libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so") - elog "Due to ABI changes when switching between different client libraries," - elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient." - elog "Please run: revdep-rebuild --library ${libpath}" - ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" - fi -} - -pkg_postinst() { - # Make sure the vars are correctly initialized - mysql_init_vars - - # Create log directory securely if it does not exist - [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" - - if use server ; then - if use pam; then - einfo - elog "This install includes the PAM authentication plugin." - elog "To activate and configure the PAM plugin, please read:" - elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/" - einfo - fi - - if [[ -z "${REPLACING_VERSIONS}" ]] ; then - einfo - elog "You might want to run:" - elog "\"emerge --config =${CATEGORY}/${PF}\"" - elog "if this is a new install." - elog - elog "If you are switching server implentations, you should run the" - elog "mysql_upgrade tool." - einfo - else - einfo - elog "If you are upgrading major versions, you should run the" - elog "mysql_upgrade tool." - einfo - fi - - if use galera ; then - einfo - elog "Be sure to edit the my.cnf file to activate your cluster settings." - elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\"" - elog "The first time the cluster is activated, you should add" - elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node." - elog "This option should then be removed for subsequent starts." - einfo - if use sst-xtrabackup ; then - ewarn "As per https://mariadb.com/kb/en/meta/xtrabackup_warning/, XtraBackup" - ewarn "as an SST is broken by default beginning with 10.2.19 with the setting" - ewarn "innodb_safe_truncate=ON. Please migrate to sst-mariabackup instead." - ewarn "sst-xtrabackup is being removed in 10.3 and higher." - fi - fi - fi - - # Note about configuration change - einfo - elog "This version of mariadb reorganizes the configuration from a single my.cnf" - elog "to several files in /etc/mysql/${PN}.d." - elog "Please backup any changes you made to /etc/mysql/my.cnf" - elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension." - elog "You may have as many files as needed and they are read alphabetically." - elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." - einfo -} - -pkg_config() { - _getoptval() { - local mypd="${EROOT}"usr/libexec/mariadb/my_print_defaults - local section="$1" - local flag="--${2}=" - local extra_options="${3}" - "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp" - } - local old_MY_DATADIR="${MY_DATADIR}" - local old_HOME="${HOME}" - # my_print_defaults needs to read stuff in $HOME/.my.cnf - export HOME=${EPREFIX}/root - - # Make sure the vars are correctly initialized - mysql_init_vars - - [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" - if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then - die "Minimal builds do NOT include the MySQL server" - fi - - if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then - local MY_DATADIR_s="${ROOT}/${MY_DATADIR}" - MY_DATADIR_s="${MY_DATADIR_s%%/}" - local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}" - old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}" - - if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then - if [[ -d "${MY_DATADIR_s}" ]]; then - ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist" - ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}" - else - elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}" - mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \ - || die "Moving MY_DATADIR failed" - fi - else - ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist" - if [[ -d "${MY_DATADIR_s}" ]]; then - ewarn "Attempting to use ${MY_DATADIR_s}" - else - eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist" - die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}" - fi - fi - fi - - local pwd1="a" - local pwd2="b" - local maxtry=15 - - if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then - local tmp_mysqld_password_source= - - for tmp_mysqld_password_source in mysql client; do - einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." - MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" - if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then - if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then - ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" - MYSQL_ROOT_PASSWORD= - continue - fi - - einfo "Found password in '${tmp_mysqld_password_source}' section!" - break - fi - done - - # Sometimes --show is required to display passwords in some implementations of my_print_defaults - if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then - MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" - fi - - unset tmp_mysqld_password_source - fi - MYSQL_TMPDIR="$(_getoptval mysqld tmpdir | tail -n1)" - # These are dir+prefix - MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)" - MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} - MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)" - MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} - - if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then - einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR" - fi - if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then - einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN" - fi - if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then - einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG" - fi - - if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then - ewarn "You have already a MySQL database in place." - ewarn "(${ROOT}/${MY_DATADIR}/*)" - ewarn "Please rename or delete it if you wish to replace it." - die "MySQL database already exists!" - fi - - # Bug #213475 - MySQL _will_ object strenously if your machine is named - # localhost. Also causes weird failures. - [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - - if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then - - einfo "Please provide a password for the mysql 'root' user now" - einfo "or through the ${HOME}/.my.cnf file." - ewarn "Avoid [\"'\\_%] characters in the password" - read -rsp " >" pwd1 ; echo - - einfo "Retype the password" - read -rsp " >" pwd2 ; echo - - if [[ "x$pwd1" != "x$pwd2" ]] ; then - die "Passwords are not the same" - fi - MYSQL_ROOT_PASSWORD="${pwd1}" - unset pwd1 pwd2 - fi - - local options - local sqltmp="$(emktemp)" - - # Fix bug 446200. Don't reference host my.cnf, needs to come first, - # see https://bugs.mysql.com/bug.php?id=31312 - use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" - - # Figure out which options we need to disable to do the setup - local helpfile="${TMPDIR}/mysqld-help" - "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null - for opt in grant-tables host-cache name-resolve networking slave-start \ - federated ssl log-bin relay-log slow-query-log external-locking \ - log-slave-updates \ - ; do - optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" - egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" - done - - einfo "Creating the mysql database and setting proper permissions on it ..." - - # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it - PID_DIR="${EROOT}/var/run/mysqld" - if [[ ! -d "${PID_DIR}" ]]; then - install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" - fi - - if [[ ! -d "${MY_DATADIR}" ]]; then - install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory" - fi - - pushd "${TMPDIR}" &>/dev/null || die - - # Filling timezones, see - # https://dev.mysql.com/doc/mysql/en/time-zone-support.html - "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null - - local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" ) - [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" ) - cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" ) - einfo "Command: ${cmd[*]}" - su -s /bin/sh -c "${cmd[*]}" mysql \ - >"${TMPDIR}"/mysql_install_db.log 2>&1 - if [ $? -ne 0 ]; then - grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2 - die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log" - fi - popd &>/dev/null || die - [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \ - || die "MySQL databases not installed" - - use prefix || options="${options} --user=mysql" - - local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock" - local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid" - local mysqld="${EROOT}/usr/sbin/mysqld \ - ${options} \ - --log-warnings=0 \ - --basedir=${EROOT}/usr \ - --datadir=${ROOT}/${MY_DATADIR} \ - --max_allowed_packet=8M \ - --net_buffer_length=16K \ - --socket=${socket} \ - --pid-file=${pidfile} \ - --tmpdir=${ROOT}/${MYSQL_TMPDIR}" - #einfo "About to start mysqld: ${mysqld}" - ebegin "Starting mysqld" - einfo "Command ${mysqld}" - ${mysqld} & - rc=$? - while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do - maxtry=$((${maxtry}-1)) - echo -n "." - sleep 1 - done - eend $rc - - if ! [[ -S "${socket}" ]]; then - die "Completely failed to start up mysqld with: ${mysqld}" - fi - - ebegin "Setting root password" - # Do this from memory, as we don't want clear text passwords in temp files - local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES" - "${EROOT}/usr/bin/mysql" \ - "--socket=${socket}" \ - -hlocalhost \ - -e "${sql}" - eend $? - - if [[ -n "${sqltmp}" ]] ; then - ebegin "Loading \"zoneinfo\", this step may require a few seconds" - "${EROOT}/usr/bin/mysql" \ - "--socket=${socket}" \ - -hlocalhost \ - -uroot \ - --password="${MYSQL_ROOT_PASSWORD}" \ - mysql < "${sqltmp}" - rc=$? - eend $? - [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!" - fi - - # Stop the server and cleanup - einfo "Stopping the server ..." - kill $(< "${pidfile}" ) - rm -f "${sqltmp}" - wait %1 - einfo "Done" -} diff --git a/dev-db/mariadb/mariadb-10.2.32.ebuild b/dev-db/mariadb/mariadb-10.2.32-r2.ebuild index 1b2e46a6c321..7476d450f208 100644 --- a/dev-db/mariadb/mariadb-10.2.32.ebuild +++ b/dev-db/mariadb/mariadb-10.2.32-r2.ebuild @@ -20,7 +20,7 @@ SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz HOMEPAGE="https://mariadb.org/" DESCRIPTION="An enhanced, drop-in replacement for MySQL" LICENSE="GPL-2 LGPL-2.1+" -SLOT="0/${SUBSLOT:-0}" +SLOT="10.2/${SUBSLOT:-0}" IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4 innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx @@ -35,7 +35,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static ) ?? ( tcmalloc jemalloc ) static? ( yassl !pam )" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" # Shorten the path because the socket path length must be shorter than 107 chars # and we will run a mysql server during test phase @@ -94,6 +94,12 @@ DEPEND="virtual/yacc ${COMMON_DEPEND}" RDEPEND="selinux? ( sec-policy/selinux-mysql ) !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + !dev-db/mariadb:0 + !dev-db/mariadb:5.5 + !dev-db/mariadb:10.1 + !dev-db/mariadb:10.3 + !dev-db/mariadb:10.4 + !dev-db/mariadb:10.5 !<virtual/mysql-5.6-r11 ${COMMON_DEPEND} server? ( @@ -119,8 +125,13 @@ RDEPEND="selinux? ( sec-policy/selinux-mysql ) # dev-perl/DBD-mysql is needed by some scripts installed by MySQL # percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 ) - server? ( ~virtual/mysql-5.6[static=] - galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )" + server? ( + galera? ( + sst-xtrabackup? ( + || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) + ) + ) + )" mysql_init_vars() { MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} diff --git a/dev-db/mariadb/mariadb-10.2.33.ebuild b/dev-db/mariadb/mariadb-10.2.33.ebuild new file mode 100644 index 000000000000..636a95ff8695 --- /dev/null +++ b/dev-db/mariadb/mariadb-10.2.33.ebuild @@ -0,0 +1,1017 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +SUBSLOT="18" + +JAVA_PKG_OPT_USE="jdbc" + +inherit eutils systemd flag-o-matic prefix toolchain-funcs \ + multiprocessing java-pkg-opt-2 cmake + +# Patch version +PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.2.33-patches-01.tar.xz" + +SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz + ${PATCH_SET}" + +HOMEPAGE="https://mariadb.org/" +DESCRIPTION="An enhanced, drop-in replacement for MySQL" +LICENSE="GPL-2 LGPL-2.1+" +SLOT="10.2/${SUBSLOT:-0}" +IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4 + innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga + numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx + sst-rsync sst-mariabackup sst-xtrabackup static systemd systemtap tcmalloc + test tokudb xml yassl" + +# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests +RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )" + +REQUIRED_USE="jdbc? ( extraengine server !static ) + server? ( tokudb? ( jemalloc !tcmalloc ) ) + ?? ( tcmalloc jemalloc ) + static? ( yassl !pam )" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" + +# Shorten the path because the socket path length must be shorter than 107 chars +# and we will run a mysql server during test phase +S="${WORKDIR}/mysql" + +# Be warned, *DEPEND are version-dependant +# These are used for both runtime and compiletime +COMMON_DEPEND=" + kernel_linux? ( + sys-process/procps:0= + dev-libs/libaio:0= + ) + >=sys-apps/sed-4 + >=sys-apps/texinfo-4.7-r1 + jemalloc? ( dev-libs/jemalloc:0= ) + tcmalloc? ( dev-util/google-perftools:0= ) + systemtap? ( >=dev-util/systemtap-1.3:0= ) + >=sys-libs/zlib-1.2.3:0= + kerberos? ( virtual/krb5 ) + yassl? ( net-libs/gnutls:0= ) + !yassl? ( + !libressl? ( >=dev-libs/openssl-1.0.0:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + sys-libs/ncurses:0= + !bindist? ( + sys-libs/binutils-libs:0= + >=sys-libs/readline-4.1:0= + ) + server? ( + backup? ( app-arch/libarchive:0= ) + cracklib? ( sys-libs/cracklib:0= ) + extraengine? ( + odbc? ( dev-db/unixODBC:0= ) + xml? ( dev-libs/libxml2:2= ) + ) + innodb-lz4? ( app-arch/lz4 ) + innodb-lzo? ( dev-libs/lzo ) + innodb-snappy? ( app-arch/snappy ) + mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) + numa? ( sys-process/numactl ) + oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) + pam? ( sys-libs/pam:0= ) + systemd? ( sys-apps/systemd:= ) + tokudb? ( app-arch/snappy ) + ) + >=dev-libs/libpcre-8.41-r1:3= +" +BDEPEND="virtual/yacc + || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) +" +DEPEND="static? ( sys-libs/ncurses[static-libs] ) + server? ( + extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) + test? ( acct-group/mysql acct-user/mysql ) + ) + ${COMMON_DEPEND}" +RDEPEND="selinux? ( sec-policy/selinux-mysql ) + !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + !dev-db/mariadb:0 + !dev-db/mariadb:5.5 + !dev-db/mariadb:10.1 + !dev-db/mariadb:10.3 + !dev-db/mariadb:10.4 + !dev-db/mariadb:10.5 + !<virtual/mysql-5.6-r11 + ${COMMON_DEPEND} + server? ( + galera? ( + sys-apps/iproute2 + =sys-cluster/galera-25* + sst-rsync? ( sys-process/lsof ) + sst-mariabackup? ( net-misc/socat[ssl] ) + sst-xtrabackup? ( net-misc/socat[ssl] ) + ) + !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql ) + extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) + ) + perl? ( + !dev-db/mytop + virtual/perl-Getopt-Long + dev-perl/TermReadKey + virtual/perl-Term-ANSIColor + virtual/perl-Time-HiRes + ) +" +# For other stuff to bring us in +# dev-perl/DBD-mysql is needed by some scripts installed by MySQL +# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 ) + server? ( + galera? ( + sst-xtrabackup? ( + || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) + ) + ) + )" + +mysql_init_vars() { + MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} + MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} + MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} + MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"} + + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="" + if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then + MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1) + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ + | sed -e 's/.*=\s*//' \ + | tail -n1) + fi + fi + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="${MY_LOCALSTATEDIR}" + einfo "Using default MY_DATADIR" + fi + elog "MySQL MY_DATADIR is ${MY_DATADIR}" + + if [[ -z "${PREVIOUS_DATADIR}" ]] ; then + if [[ -e "${MY_DATADIR}" ]] ; then + # If you get this and you're wondering about it, see bug #207636 + elog "MySQL datadir found in ${MY_DATADIR}" + elog "A new one will not be created." + PREVIOUS_DATADIR="yes" + else + PREVIOUS_DATADIR="no" + fi + export PREVIOUS_DATADIR + fi + else + if [[ ${EBUILD_PHASE} == "config" ]]; then + local new_MY_DATADIR + new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1) + + if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then + ewarn "MySQL MY_DATADIR has changed" + ewarn "from ${MY_DATADIR}" + ewarn "to ${new_MY_DATADIR}" + MY_DATADIR="${new_MY_DATADIR}" + fi + fi + fi + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + local GCC_MAJOR_SET=$(gcc-major-version) + local GCC_MINOR_SET=$(gcc-minor-version) + + if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} with tokudb needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die + fi + + # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on + # non x86{,_64} arches + if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die + fi + + if has test ${FEATURES} ; then + # Bug #213475 - MySQL _will_ object strenuously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if ! has userpriv ${FEATURES} ; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + fi + fi + + java-pkg-opt-2_pkg_setup +} + +src_unpack() { + unpack ${A} + + mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die +} + +src_prepare() { + eapply "${WORKDIR}"/mariadb-patches + + eapply_user + + _disable_plugin() { + echo > "${S}/plugin/${1}/CMakeLists.txt" || die + } + _disable_engine() { + echo > "${S}/storage/${1}/CMakeLists.txt" || die + } + + if use jemalloc; then + echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" + elif use tcmalloc; then + echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" + fi + + # Don't build bundled xz-utils for tokudb + echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die + sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die + sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die + + local plugin + local server_plugins=( handler_socket auth_socket feedback metadata_lock_info + locale_info qc_info server_audit sql_errlog auth_ed25519 ) + local test_plugins=( audit_null auth_examples daemon_example fulltext + debug_key_management example_key_management ) + if ! use server; then # These plugins are for the server + for plugin in "${server_plugins[@]}" ; do + _disable_plugin "${plugin}" + done + fi + + if ! use test; then # These plugins are only used during testing + for plugin in "${test_plugins[@]}" ; do + _disable_plugin "${plugin}" + done + _disable_engine test_sql_discovery + fi + + _disable_engine example + + if ! use oqgraph ; then # avoids extra library checks + _disable_engine oqgraph + fi + + if use mroonga ; then + # Remove the bundled groonga + # There is no CMake flag, it simply checks for existance + rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga" + else + _disable_engine mroonga + fi + + # Fix galera_recovery.sh script + sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \ + scripts/galera_recovery.sh || die + + cmake_src_prepare + java-pkg-opt-2_src_prepare +} + +src_configure() { + # bug 508724 mariadb cannot use ld.gold + tc-ld-disable-gold + # Bug #114895, bug #110149 + filter-flags "-O" "-O[01]" + + append-cxxflags -felide-constructors + + # bug #283926, with GCC4.4, this is required to get correct behavior. + append-flags -fno-strict-aliasing + + CMAKE_BUILD_TYPE="RelWithDebInfo" + + # debug hack wrt #497532 + mycmakeargs=( + -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" + -DSYSCONFDIR="${EPREFIX}/etc/mysql" + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLSHAREDIR=share/mariadb + -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin + -DINSTALL_SCRIPTDIR=share/mariadb/scripts + -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb" + -DWITH_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + -DWITH_LIBEDIT=0 + -DWITH_ZLIB=system + -DWITHOUT_LIBWRAP=1 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DWITH_DEFAULT_FEATURE_SET=0 + -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)" + # The build forces this to be defined when cross-compiling. We pass it + # all the time for simplicity and to make sure it is actually correct. + -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) + -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)" + -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) + -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF) + -DCONC_WITH_EXTERNAL_ZLIB=YES + -DWITH_EXTERNAL_ZLIB=YES + -DSUFFIX_INSTALL_DIR="" + -DWITH_UNITTEST=OFF + -DWITHOUT_CLIENTLIBS=YES + -DCLIENT_PLUGIN_DIALOG=OFF + -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF + -DCLIENT_PLUGIN_CLIENT_ED25519=OFF + -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC + -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF + ) + if use test ; then + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test ) + else + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) + fi + + if ! use yassl ; then + mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC ) + else + mycmakeargs+=( -DWITH_SSL=bundled ) + fi + + # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION + mycmakeargs+=( + -DWITH_READLINE=$(usex bindist 1 0) + -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1) + -DENABLE_DTRACE=$(usex systemtap) + ) + + if use server ; then + + # Federated{,X} must be treated special otherwise they will not be built as plugins + if ! use extraengine ; then + mycmakeargs+=( + -DPLUGIN_FEDERATED=NO + -DPLUGIN_FEDERATEDX=NO ) + fi + + mycmakeargs+=( + -DWITH_JEMALLOC=$(usex jemalloc system) + -DWITH_PCRE=system + -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO) + -DPLUGIN_SPHINX=$(usex sphinx YES NO) + -DPLUGIN_TOKUDB=$(usex tokudb YES NO) + -DPLUGIN_AUTH_PAM=$(usex pam YES NO) + -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO) + -DPLUGIN_CASSANDRA=NO + -DPLUGIN_SEQUENCE=$(usex extraengine YES NO) + -DPLUGIN_SPIDER=$(usex extraengine YES NO) + -DPLUGIN_CONNECT=$(usex extraengine YES NO) + -DCONNECT_WITH_MYSQL=1 + -DCONNECT_WITH_LIBXML2=$(usex xml) + -DCONNECT_WITH_ODBC=$(usex odbc) + -DCONNECT_WITH_JDBC=$(usex jdbc) + # Build failure and autodep wrt bug 639144 + -DCONNECT_WITH_MONGO=OFF + -DWITH_WSREP=$(usex galera) + -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF) + -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF) + -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF) + -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO) + -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) + -DWITH_MARIABACKUP=$(usex backup ON OFF) + -DWITH_LIBARCHIVE=$(usex backup ON OFF) + -DINSTALL_SQLBENCHDIR=share/mariadb + -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO) + # systemd is only linked to for server notification + -DWITH_SYSTEMD=$(usex systemd yes no) + -DWITH_NUMA=$(usex numa ON OFF) + ) + + # Workaround for MDEV-14524 + use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 ) + + if use test ; then + # This is needed for the new client lib which tests a real, open server + mycmakeargs+=( -DSKIP_TESTS=ON ) + fi + + if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then + ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" + ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." + ewarn "You MUST file bugs without these variables set." + + mycmakeargs+=( + -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} + -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} + ) + + elif ! use latin1 ; then + mycmakeargs+=( + -DDEFAULT_CHARSET=utf8 + -DDEFAULT_COLLATION=utf8_general_ci + ) + else + mycmakeargs+=( + -DDEFAULT_CHARSET=latin1 + -DDEFAULT_COLLATION=latin1_swedish_ci + ) + fi + mycmakeargs+=( + -DEXTRA_CHARSETS=all + -DMYSQL_USER=mysql + -DDISABLE_SHARED=$(usex static YES NO) + -DWITH_DEBUG=$(usex debug) + -DWITH_EMBEDDED_SERVER=OFF + -DWITH_PROFILING=$(usex profiling) + ) + + if use static; then + mycmakeargs+=( -DWITH_PIC=1 ) + fi + + if use jemalloc || use tcmalloc ; then + mycmakeargs+=( -DWITH_SAFEMALLOC=OFF ) + fi + + # Storage engines + mycmakeargs+=( + -DWITH_ARCHIVE_STORAGE_ENGINE=1 + -DWITH_BLACKHOLE_STORAGE_ENGINE=1 + -DWITH_CSV_STORAGE_ENGINE=1 + -DWITH_HEAP_STORAGE_ENGINE=1 + -DWITH_INNOBASE_STORAGE_ENGINE=1 + -DWITH_MYISAMMRG_STORAGE_ENGINE=1 + -DWITH_MYISAM_STORAGE_ENGINE=1 + -DWITH_PARTITION_STORAGE_ENGINE=1 + ) + + else + mycmakeargs+=( + -DWITHOUT_SERVER=1 + -DWITH_EMBEDDED_SERVER=OFF + -DEXTRA_CHARSETS=none + -DINSTALL_SQLBENCHDIR= + -DWITH_SYSTEMD=no + ) + fi + + cmake_src_configure +} + +src_compile() { + cmake_src_compile +} + +# Official test instructions: +# USE='extraengine perl server' \ +# FEATURES='test userpriv' \ +# ebuild mariadb-X.X.XX.ebuild \ +# digest clean package +src_test() { + _disable_test() { + local rawtestname bug reason + rawtestname="${1}" ; shift + bug="${1}" ; shift + reason="${@}" + ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})" + echo "${rawtestname} : BUG#${bug} ${reason}" >> "${T}/disabled.def" + } + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + if ! use server ; then + einfo "Skipping server tests due to minimal build." + return 0 + fi + + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" + + # Run CTest (test-units) + cmake_src_test + retstatus_unit=$? + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + + if [[ -z "${MTR_PARALLEL}" ]] ; then + local -x MTR_PARALLEL=$(makeopts_jobs) + + if [[ ${MTR_PARALLEL} -gt 4 ]] ; then + # Running multiple tests in parallel usually require higher ulimit + # and fs.aio-max-nr setting. In addition, tests like main.multi_update + # are known to hit timeout when system is busy. + # To avoid test failure we will limit MTR_PARALLEL to 4 instead of + # using "auto". + local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})" + info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!" + einfo "${info_msg}" + unset info_msg + MTR_PARALLEL=4 + fi + else + einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'" + fi + + # Try to increase file limits to increase test coverage + if ! ulimit -n 16500 1>/dev/null 2>&1 ; then + # Upper limit comes from parts.partition_* tests + ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager." + + if ! ulimit -n 4162 1>/dev/null 2>&1 ; then + # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)' + ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager." + + if ! ulimit -n 3000 1>/dev/null 2>&1 ; then + ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager." + else + einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 4162 (medium test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 16500 (best test coverage)." + fi + + # create directories because mysqladmin might run out of order + mkdir -p "${T}"/var-tests{,/log} || die + + cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die + + local -a disabled_tests + disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" ) + disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" ) + disabled_tests+=( "main.func_time;0;Dependent on time test was written" ) + disabled_tests+=( "main.grant;0;Sporadically failing test" ) + disabled_tests+=( "main.join_cache;0;Sporadically failing test" ) + disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" ) + disabled_tests+=( "main.stat_tables;0;Sporadically failing test" ) + disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" ) + disabled_tests+=( "mariabackup.*;0;Broken test suite" ) + disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" ) + disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" ) + disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" ) + disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" ) + + if ! use latin1 ; then + disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" ) + disabled_tests+=( "main.information_schema;0;Requires USE=latin1" ) + disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" ) + fi + + local test_infos_str test_infos_arr + for test_infos_str in "${disabled_tests[@]}" ; do + IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}" + + if [[ ${#test_infos_arr[@]} != 3 ]] ; then + die "Invalid test data set, not matching format: ${test_infos_str}" + fi + + _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}" + done + unset test_infos_str test_infos_arr + + # run mysql-test tests + pushd "${TESTDIR}" &>/dev/null || die + perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" + retstatus_tests=$? + + popd &>/dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + local failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" +} + +src_install() { + cmake_src_install + + # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used + if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then + rm "${ED}/usr/include/mysql/server/private/config.h" || die + fi + + # Make sure the vars are correctly initialized + mysql_init_vars + + # Convenience links + einfo "Making Convenience links for mysqlcheck multi-call binary" + dosym "mysqlcheck" "/usr/bin/mysqlanalyze" + dosym "mysqlcheck" "/usr/bin/mysqlrepair" + dosym "mysqlcheck" "/usr/bin/mysqloptimize" + + # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir + if [[ -d "${ED}/usr/data" ]] ; then + rm -Rf "${ED}/usr/data" || die + fi + + # Unless they explicitly specific USE=test, then do not install the + # testsuite. It DOES have a use to be installed, esp. when you want to do a + # validation of your database configuration after tuning it. + if ! use test ; then + rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" + fi + + # Configuration stuff + einfo "Building default configuration ..." + insinto "${MY_SYSCONFDIR#${EPREFIX}}" + [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf + cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die + eprefixify "${TMPDIR}/my.cnf" + doins "${TMPDIR}/my.cnf" + insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d" + cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die + eprefixify "${TMPDIR}/50-distro-client.cnf" + doins "${TMPDIR}/50-distro-client.cnf" + + if use server ; then + mycnf_src="my.cnf.distro-server" + sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ + "${FILESDIR}/${mycnf_src}" \ + > "${TMPDIR}/my.cnf.ok" || die + if use prefix ; then + sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ + "${TMPDIR}/my.cnf.ok" || die + fi + if use latin1 ; then + sed -i \ + -e "/character-set/s|utf8|latin1|g" \ + "${TMPDIR}/my.cnf.ok" || die + fi + eprefixify "${TMPDIR}/my.cnf.ok" + newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf + + einfo "Including support files and sample configurations" + docinto "support-files" + local script + for script in \ + "${S}"/support-files/magic + do + [[ -f "$script" ]] && dodoc "${script}" + done + + docinto "scripts" + for script in "${S}"/scripts/mysql* ; do + [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}" + done + # Manually install supporting files that conflict with other packages + # but are needed for galera and initial installation + exeinto /usr/libexec/mariadb + doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror" + fi + + # Remove mytop if perl is not selected + if [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl ; then + rm -f "${ED}/usr/bin/mytop" || die + fi + + # Fix a dangling symlink when galera is not built + if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then + rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die + fi +} + +pkg_preinst() { + java-pkg-opt-2_pkg_preinst + + # Here we need to see if the implementation switched client libraries + # We check if this is a new instance of the package and a client library already exists + local SHOW_ABI_MESSAGE libpath + if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then + libpath=$(readlink "${EROOT}/usr/$(get_libdir)/libmysqlclient.so") + elog "Due to ABI changes when switching between different client libraries," + elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient." + elog "Please run: revdep-rebuild --library ${libpath}" + ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" + fi +} + +pkg_postinst() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Create log directory securely if it does not exist + [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}" + + if use server ; then + if use pam; then + einfo + elog "This install includes the PAM authentication plugin." + elog "To activate and configure the PAM plugin, please read:" + elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/" + einfo + fi + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + einfo + elog "You might want to run:" + elog "\"emerge --config =${CATEGORY}/${PF}\"" + elog "if this is a new install." + elog + elog "If you are switching server implentations, you should run the" + elog "mysql_upgrade tool." + einfo + else + einfo + elog "If you are upgrading major versions, you should run the" + elog "mysql_upgrade tool." + einfo + fi + + if use galera ; then + einfo + elog "Be sure to edit the my.cnf file to activate your cluster settings." + elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\"" + elog "The first time the cluster is activated, you should add" + elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node." + elog "This option should then be removed for subsequent starts." + einfo + if use sst-xtrabackup ; then + ewarn "As per https://mariadb.com/kb/en/meta/xtrabackup_warning/, XtraBackup" + ewarn "as an SST is broken by default beginning with 10.2.19 with the setting" + ewarn "innodb_safe_truncate=ON. Please migrate to sst-mariabackup instead." + ewarn "sst-xtrabackup is being removed in 10.3 and higher." + fi + fi + fi + + # Note about configuration change + einfo + elog "This version of mariadb reorganizes the configuration from a single my.cnf" + elog "to several files in /etc/mysql/${PN}.d." + elog "Please backup any changes you made to /etc/mysql/my.cnf" + elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension." + elog "You may have as many files as needed and they are read alphabetically." + elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." + einfo +} + +pkg_config() { + _getoptval() { + local mypd="${EROOT}"/usr/libexec/mariadb/my_print_defaults + local section="$1" + local flag="--${2}=" + local extra_options="${3}" + "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp" + } + local old_MY_DATADIR="${MY_DATADIR}" + local old_HOME="${HOME}" + # my_print_defaults needs to read stuff in $HOME/.my.cnf + export HOME=${EPREFIX}/root + + # Make sure the vars are correctly initialized + mysql_init_vars + + [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" + if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then + die "Minimal builds do NOT include the MySQL server" + fi + + if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then + local MY_DATADIR_s="${ROOT}/${MY_DATADIR}" + MY_DATADIR_s="${MY_DATADIR_s%%/}" + local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}" + old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}" + + if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then + if [[ -d "${MY_DATADIR_s}" ]]; then + ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist" + ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}" + else + elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}" + mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \ + || die "Moving MY_DATADIR failed" + fi + else + ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist" + if [[ -d "${MY_DATADIR_s}" ]]; then + ewarn "Attempting to use ${MY_DATADIR_s}" + else + eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist" + die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}" + fi + fi + fi + + local pwd1="a" + local pwd2="b" + local maxtry=15 + + if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then + local tmp_mysqld_password_source= + + for tmp_mysqld_password_source in mysql client; do + einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" + if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then + if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then + ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" + MYSQL_ROOT_PASSWORD= + continue + fi + + einfo "Found password in '${tmp_mysqld_password_source}' section!" + break + fi + done + + # Sometimes --show is required to display passwords in some implementations of my_print_defaults + if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" + fi + + unset tmp_mysqld_password_source + fi + MYSQL_TMPDIR="$(_getoptval mysqld tmpdir | tail -n1)" + # These are dir+prefix + MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)" + MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} + + if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then + einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" + install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR" + fi + if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then + einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" + install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN" + fi + if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then + einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" + install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG" + fi + + if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then + ewarn "You have already a MySQL database in place." + ewarn "(${ROOT}/${MY_DATADIR}/*)" + ewarn "Please rename or delete it if you wish to replace it." + die "MySQL database already exists!" + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]]; then + + einfo "Please provide a password for the mysql 'root'@'localhost' user now" + einfo "or through the ${HOME}/.my.cnf file." + ewarn "Avoid [\"'\\_%] characters in the password" + read -rsp " >" pwd1 ; echo + + einfo "Retype the password" + read -rsp " >" pwd2 ; echo + + if [[ "x$pwd1" != "x$pwd2" ]] ; then + die "Passwords are not the same" + fi + + MYSQL_ROOT_PASSWORD="${pwd1}" + unset pwd1 pwd2 + fi + + local options + local sqltmp="$(emktemp)" + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see https://bugs.mysql.com/bug.php?id=31312 + use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" + + # Figure out which options we need to disable to do the setup + local helpfile="${TMPDIR}/mysqld-help" + "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null + for opt in grant-tables host-cache name-resolve networking slave-start \ + federated ssl log-bin relay-log slow-query-log external-locking \ + log-slave-updates \ + ; do + optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" + egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" + done + + einfo "Creating the mysql database and setting proper permissions on it ..." + + # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it + PID_DIR="${EROOT}/var/run/mysqld" + if [[ ! -d "${PID_DIR}" ]]; then + install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" + fi + + if [[ ! -d "${MY_DATADIR}" ]]; then + install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory" + fi + + pushd "${TMPDIR}" &>/dev/null || die + + # Filling timezones, see + # https://dev.mysql.com/doc/mysql/en/time-zone-support.html + "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null + + local cmd=( "${EROOT}/usr/share/mariadb/scripts/mysql_install_db" ) + [[ -f "${cmd}" ]] || cmd=( "${EROOT}/usr/bin/mysql_install_db" ) + cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" ) + einfo "Command: ${cmd[*]}" + su -s /bin/sh -c "${cmd[*]}" mysql \ + >"${TMPDIR}"/mysql_install_db.log 2>&1 + if [[ $? -ne 0 ]]; then + grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2 + die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log" + fi + popd &>/dev/null || die + [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \ + || die "MySQL databases not installed" + + use prefix || options="${options} --user=mysql" + + local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock" + local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid" + local mysqld="${EROOT}/usr/sbin/mysqld \ + ${options} \ + --log-warnings=0 \ + --basedir=${EROOT}/usr \ + --datadir=${ROOT}/${MY_DATADIR} \ + --max_allowed_packet=8M \ + --net_buffer_length=16K \ + --socket=${socket} \ + --pid-file=${pidfile} \ + --tmpdir=${ROOT}/${MYSQL_TMPDIR}" + #einfo "About to start mysqld: ${mysqld}" + ebegin "Starting mysqld" + einfo "Command ${mysqld}" + ${mysqld} & + rc=$? + while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + eend $rc + + if ! [[ -S "${socket}" ]]; then + die "Completely failed to start up mysqld with: ${mysqld}" + fi + + ebegin "Setting root password" + # Do this from memory, as we don't want clear text passwords in temp files + local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES" + "${EROOT}/usr/bin/mysql" \ + "--socket=${socket}" \ + -hlocalhost \ + -e "${sql}" + eend $? + + if [[ -n "${sqltmp}" ]] ; then + ebegin "Loading \"zoneinfo\", this step may require a few seconds" + "${EROOT}/usr/bin/mysql" \ + "--socket=${socket}" \ + -hlocalhost \ + -uroot \ + --password="${MYSQL_ROOT_PASSWORD}" \ + mysql < "${sqltmp}" + rc=$? + eend $? + [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!" + fi + + # Stop the server and cleanup + einfo "Stopping the server ..." + kill $(< "${pidfile}" ) + rm -f "${sqltmp}" + wait %1 + einfo "Done" +} diff --git a/dev-db/mariadb/mariadb-10.3.20.ebuild b/dev-db/mariadb/mariadb-10.3.20.ebuild deleted file mode 100644 index 20aedd4ba8af..000000000000 --- a/dev-db/mariadb/mariadb-10.3.20.ebuild +++ /dev/null @@ -1,985 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" -MY_EXTRAS_VER="20190305-2052Z" -SUBSLOT="18" - -JAVA_PKG_OPT_USE="jdbc" - -# Keeping eutils in EAPI=6 for emktemp in pkg_config - -inherit eutils systemd flag-o-matic prefix toolchain-funcs \ - java-pkg-opt-2 user cmake-utils - -SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz " - -# Gentoo patches to MySQL -if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then - SRC_URI="${SRC_URI} - mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" -fi - -HOMEPAGE="https://mariadb.org/" -DESCRIPTION="An enhanced, drop-in replacement for MySQL" -LICENSE="GPL-2 LGPL-2.1+" -SLOT="0/${SUBSLOT:-0}" -IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4 - innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga - numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx - sst-rsync sst-mariabackup static systemd systemtap tcmalloc - test tokudb xml yassl" - -# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests -RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )" - -REQUIRED_USE="jdbc? ( extraengine server !static ) - server? ( tokudb? ( jemalloc !tcmalloc ) ) - ?? ( tcmalloc jemalloc ) - static? ( yassl !pam )" - -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" - -# Shorten the path because the socket path length must be shorter than 107 chars -# and we will run a mysql server during test phase -S="${WORKDIR}/mysql" - -if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git" - EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras" - EGIT_CLONE_TYPE=shallow - MY_PATCH_DIR="${WORKDIR%/}/mysql-extras" -else - MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}" -fi - -PATCHES=( - "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch - "${MY_PATCH_DIR}"/20018_all_mariadb-10.3.12-without-clientlibs-tools.patch - "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch - "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch - "${MY_PATCH_DIR}"/20035_all_mariadb-10.3-atomic-detection.patch -) - -# Be warned, *DEPEND are version-dependant -# These are used for both runtime and compiletime -COMMON_DEPEND=" - kernel_linux? ( - sys-process/procps:0= - dev-libs/libaio:0= - ) - >=sys-apps/sed-4 - >=sys-apps/texinfo-4.7-r1 - jemalloc? ( dev-libs/jemalloc:0= ) - tcmalloc? ( dev-util/google-perftools:0= ) - systemtap? ( >=dev-util/systemtap-1.3:0= ) - >=sys-libs/zlib-1.2.3:0= - kerberos? ( virtual/krb5 ) - yassl? ( net-libs/gnutls:0= ) - !yassl? ( - !libressl? ( >=dev-libs/openssl-1.0.0:0= ) - libressl? ( dev-libs/libressl:0= ) - ) - sys-libs/ncurses:0= - !bindist? ( - sys-libs/binutils-libs:0= - >=sys-libs/readline-4.1:0= - ) - server? ( - backup? ( app-arch/libarchive:0= ) - cracklib? ( sys-libs/cracklib:0= ) - extraengine? ( - odbc? ( dev-db/unixODBC:0= ) - xml? ( dev-libs/libxml2:2= ) - ) - innodb-lz4? ( app-arch/lz4 ) - innodb-lzo? ( dev-libs/lzo ) - innodb-snappy? ( app-arch/snappy ) - mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) - numa? ( sys-process/numactl ) - oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) - pam? ( sys-libs/pam:0= ) - systemd? ( sys-apps/systemd:= ) - tokudb? ( app-arch/snappy ) - ) - >=dev-libs/libpcre-8.41-r1:3= -" -DEPEND="virtual/yacc - static? ( sys-libs/ncurses[static-libs] ) - || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) - server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) ) - ${COMMON_DEPEND}" -RDEPEND="selinux? ( sec-policy/selinux-mysql ) - !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster - server? ( !prefix? ( dev-db/mysql-init-scripts ) ) - !<virtual/mysql-5.6-r11 - ${COMMON_DEPEND} - server? ( galera? ( - sys-apps/iproute2 - =sys-cluster/galera-25* - sst-rsync? ( sys-process/lsof ) - sst-mariabackup? ( net-misc/socat[ssl] ) - ) ) - perl? ( !dev-db/mytop - virtual/perl-Getopt-Long - dev-perl/TermReadKey - virtual/perl-Term-ANSIColor - virtual/perl-Time-HiRes ) - server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) ) -" -# For other stuff to bring us in -# dev-perl/DBD-mysql is needed by some scripts installed by MySQL -PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 ) - server? ( ~virtual/mysql-5.6[static=] )" - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - local GCC_MAJOR_SET=$(gcc-major-version) - local GCC_MINOR_SET=$(gcc-minor-version) - if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \ - ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then - eerror "${PN} with tokudb needs to be built with gcc-4.7 or later." - eerror "Please use gcc-config to switch to gcc-4.7 or later version." - die - fi - # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on - # non x86{,_64} arches - if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ - ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then - eerror "${PN} needs to be built with gcc-4.7 or later." - eerror "Please use gcc-config to switch to gcc-4.7 or later version." - die - fi - fi - java-pkg-opt-2_pkg_setup - if has test ${FEATURES} && \ - use server && ! has userpriv ${FEATURES} ; then - eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." - fi - - # This should come after all of the die statements - enewgroup mysql 60 || die "problem adding 'mysql' group" - enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user" -} - -pkg_preinst() { - java-pkg-opt-2_pkg_preinst - - # Here we need to see if the implementation switched client libraries - # We check if this is a new instance of the package and a client library already exists - local SHOW_ABI_MESSAGE libpath - if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then - libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so") - elog "Due to ABI changes when switching between different client libraries," - elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient." - elog "Please run: revdep-rebuild --library ${libpath}" - ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" - fi -} - -pkg_postinst() { - # Make sure the vars are correctly initialized - mysql_init_vars - - # Create log directory securely if it does not exist - [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" - - if use server ; then - if use pam; then - einfo - elog "This install includes the PAM authentication plugin." - elog "To activate and configure the PAM plugin, please read:" - elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/" - einfo - fi - - if [[ -z "${REPLACING_VERSIONS}" ]] ; then - einfo - elog "You might want to run:" - elog "\"emerge --config =${CATEGORY}/${PF}\"" - elog "if this is a new install." - elog - elog "If you are switching server implentations, you should run the" - elog "mysql_upgrade tool." - einfo - else - einfo - elog "If you are upgrading major versions, you should run the" - elog "mysql_upgrade tool." - einfo - fi - - if use galera ; then - einfo - elog "Be sure to edit the my.cnf file to activate your cluster settings." - elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\"" - elog "The first time the cluster is activated, you should add" - elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node." - elog "This option should then be removed for subsequent starts." - einfo - fi - fi - - # Note about configuration change - einfo - elog "This version of mariadb reorganizes the configuration from a single my.cnf" - elog "to several files in /etc/mysql/${PN}.d." - elog "Please backup any changes you made to /etc/mysql/my.cnf" - elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension." - elog "You may have as many files as needed and they are read alphabetically." - elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." - einfo -} - -src_unpack() { - unpack ${A} - # Grab the patches - [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack - - mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die -} - -src_prepare() { - _disable_plugin() { - echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die - } - _disable_engine() { - echo > "${S%/}/storage/${1}/CMakeLists.txt" || die - } - - if use jemalloc; then - echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" - elif use tcmalloc; then - echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" - fi - - # Don't build bundled xz-utils for tokudb - echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die - sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die - sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die - - local plugin - local server_plugins=( handler_socket auth_socket feedback metadata_lock_info - locale_info qc_info server_audit sql_errlog auth_ed25519 ) - local test_plugins=( audit_null auth_examples daemon_example fulltext - debug_key_management example_key_management versioning ) - if ! use server; then # These plugins are for the server - for plugin in "${server_plugins[@]}" ; do - _disable_plugin "${plugin}" - done - fi - - if ! use test; then # These plugins are only used during testing - for plugin in "${test_plugins[@]}" ; do - _disable_plugin "${plugin}" - done - _disable_engine test_sql_discovery - fi - - _disable_engine example - - if ! use oqgraph ; then # avoids extra library checks - _disable_engine oqgraph - fi - - if use mroonga ; then - # Remove the bundled groonga - # There is no CMake flag, it simply checks for existance - rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga" - else - _disable_engine mroonga - fi - - # Don't clash with dev-db/mysql-connector-c - sed -i -e 's/ my_print_defaults.1//' \ - -e 's/ perror.1//' \ - "${S}"/man/CMakeLists.txt || die - - # Fix galera_recovery.sh script - sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \ - scripts/galera_recovery.sh || die - - cmake-utils_src_prepare - java-pkg-opt-2_src_prepare -} - -src_configure() { - # bug 508724 mariadb cannot use ld.gold - tc-ld-disable-gold - # Bug #114895, bug #110149 - filter-flags "-O" "-O[01]" - - append-cxxflags -felide-constructors - - # bug #283926, with GCC4.4, this is required to get correct behavior. - append-flags -fno-strict-aliasing - - CMAKE_BUILD_TYPE="RelWithDebInfo" - - # debug hack wrt #497532 - mycmakeargs=( - -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" - -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" - -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" - -DSYSCONFDIR="${EPREFIX}/etc/mysql" - -DINSTALL_BINDIR=bin - -DINSTALL_DOCDIR=share/doc/${PF} - -DINSTALL_DOCREADMEDIR=share/doc/${PF} - -DINSTALL_INCLUDEDIR=include/mysql - -DINSTALL_INFODIR=share/info - -DINSTALL_LIBDIR=$(get_libdir) - -DINSTALL_MANDIR=share/man - -DINSTALL_MYSQLSHAREDIR=share/mariadb - -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin - -DINSTALL_SCRIPTDIR=share/mariadb/scripts - -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" - -DINSTALL_SBINDIR=sbin - -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb" - -DWITH_COMMENT="Gentoo Linux ${PF}" - -DWITH_UNIT_TESTS=$(usex test ON OFF) - -DWITH_LIBEDIT=0 - -DWITH_ZLIB=system - -DWITHOUT_LIBWRAP=1 - -DENABLED_LOCAL_INFILE=1 - -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" - -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock" - -DWITH_DEFAULT_COMPILER_OPTIONS=0 - -DWITH_DEFAULT_FEATURE_SET=0 - -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)" - # The build forces this to be defined when cross-compiling. We pass it - # all the time for simplicity and to make sure it is actually correct. - -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) - -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)" - -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) - -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF) - -DCONC_WITH_EXTERNAL_ZLIB=YES - -DWITH_EXTERNAL_ZLIB=YES - -DSUFFIX_INSTALL_DIR="" - -DWITH_UNITTEST=OFF - -DWITHOUT_CLIENTLIBS=YES - -DCLIENT_PLUGIN_DIALOG=OFF - -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF - -DCLIENT_PLUGIN_CLIENT_ED25519=OFF - -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC - -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF - ) - if use test ; then - mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test ) - else - mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) - fi - - if ! use yassl ; then - mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC ) - else - mycmakeargs+=( -DWITH_SSL=bundled ) - fi - - # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION - mycmakeargs+=( - -DWITH_READLINE=$(usex bindist 1 0) - -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1) - -DENABLE_DTRACE=$(usex systemtap) - ) - - if use server ; then - - # Federated{,X} must be treated special otherwise they will not be built as plugins - if ! use extraengine ; then - mycmakeargs+=( - -DPLUGIN_FEDERATED=NO - -DPLUGIN_FEDERATEDX=NO ) - fi - - mycmakeargs+=( - -DWITH_PCRE=system - -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO) - -DPLUGIN_SPHINX=$(usex sphinx YES NO) - -DPLUGIN_TOKUDB=$(usex tokudb YES NO) - -DPLUGIN_AUTH_PAM=$(usex pam YES NO) - -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO) - -DPLUGIN_CASSANDRA=NO - -DPLUGIN_SEQUENCE=$(usex extraengine YES NO) - -DPLUGIN_SPIDER=$(usex extraengine YES NO) - -DPLUGIN_CONNECT=$(usex extraengine YES NO) - -DCONNECT_WITH_MYSQL=1 - -DCONNECT_WITH_LIBXML2=$(usex xml) - -DCONNECT_WITH_ODBC=$(usex odbc) - -DCONNECT_WITH_JDBC=$(usex jdbc) - # Build failure and autodep wrt bug 639144 - -DCONNECT_WITH_MONGO=OFF - -DWITH_WSREP=$(usex galera) - -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF) - -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF) - -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF) - -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO) - -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) - -DWITH_MARIABACKUP=$(usex backup ON OFF) - -DWITH_LIBARCHIVE=$(usex backup ON OFF) - -DINSTALL_SQLBENCHDIR="" - -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO) - # systemd is only linked to for server notification - -DWITH_SYSTEMD=$(usex systemd yes no) - -DWITH_NUMA=$(usex numa ON OFF) - ) - - # Workaround for MDEV-14524 - use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 ) - - if use test ; then - # This is needed for the new client lib which tests a real, open server - mycmakeargs+=( -DSKIP_TESTS=ON ) - fi - - if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then - ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" - ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." - ewarn "You MUST file bugs without these variables set." - - mycmakeargs+=( - -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} - -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} - ) - - elif ! use latin1 ; then - mycmakeargs+=( - -DDEFAULT_CHARSET=utf8 - -DDEFAULT_COLLATION=utf8_general_ci - ) - else - mycmakeargs+=( - -DDEFAULT_CHARSET=latin1 - -DDEFAULT_COLLATION=latin1_swedish_ci - ) - fi - mycmakeargs+=( - -DEXTRA_CHARSETS=all - -DMYSQL_USER=mysql - -DDISABLE_SHARED=$(usex static YES NO) - -DWITH_DEBUG=$(usex debug) - -DWITH_EMBEDDED_SERVER=OFF - -DWITH_PROFILING=$(usex profiling) - ) - - if use static; then - mycmakeargs+=( -DWITH_PIC=1 ) - fi - - if use jemalloc || use tcmalloc ; then - mycmakeargs+=( -DWITH_SAFEMALLOC=OFF ) - fi - - # Storage engines - mycmakeargs+=( - -DWITH_ARCHIVE_STORAGE_ENGINE=1 - -DWITH_BLACKHOLE_STORAGE_ENGINE=1 - -DWITH_CSV_STORAGE_ENGINE=1 - -DWITH_HEAP_STORAGE_ENGINE=1 - -DWITH_INNOBASE_STORAGE_ENGINE=1 - -DWITH_MYISAMMRG_STORAGE_ENGINE=1 - -DWITH_MYISAM_STORAGE_ENGINE=1 - -DWITH_PARTITION_STORAGE_ENGINE=1 - ) - - else - mycmakeargs+=( - -DWITHOUT_SERVER=1 - -DWITH_EMBEDDED_SERVER=OFF - -DEXTRA_CHARSETS=none - -DINSTALL_SQLBENCHDIR= - -DWITH_SYSTEMD=no - ) - fi - - cmake-utils_src_configure -} - -src_compile() { - cmake-utils_src_compile -} - -src_install() { - cmake-utils_src_install - - # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used - if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then - rm "${ED}/usr/include/mysql/server/private/config.h" || die - fi - - # Make sure the vars are correctly initialized - mysql_init_vars - - # Convenience links - einfo "Making Convenience links for mysqlcheck multi-call binary" - dosym "mysqlcheck" "/usr/bin/mysqlanalyze" - dosym "mysqlcheck" "/usr/bin/mysqlrepair" - dosym "mysqlcheck" "/usr/bin/mysqloptimize" - - # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir - if [[ -d "${ED}/usr/data" ]] ; then - rm -Rf "${ED}/usr/data" || die - fi - - # Unless they explicitly specific USE=test, then do not install the - # testsuite. It DOES have a use to be installed, esp. when you want to do a - # validation of your database configuration after tuning it. - if ! use test ; then - rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" - fi - - # Configuration stuff - einfo "Building default configuration ..." - insinto "${MY_SYSCONFDIR#${EPREFIX}}" - [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf - cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die - eprefixify "${TMPDIR}/my.cnf" - doins "${TMPDIR}/my.cnf" - insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d" - cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die - eprefixify "${TMPDIR}/50-distro-client.cnf" - doins "${TMPDIR}/50-distro-client.cnf" - - if use server ; then - mycnf_src="my.cnf.distro-server" - sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ - "${FILESDIR}/${mycnf_src}" \ - > "${TMPDIR}/my.cnf.ok" || die - if use prefix ; then - sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ - "${TMPDIR}/my.cnf.ok" || die - fi - if use latin1 ; then - sed -i \ - -e "/character-set/s|utf8|latin1|g" \ - "${TMPDIR}/my.cnf.ok" || die - fi - eprefixify "${TMPDIR}/my.cnf.ok" - newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf - - einfo "Including support files and sample configurations" - docinto "support-files" - local script - for script in \ - "${S}"/support-files/magic - do - [[ -f "$script" ]] && dodoc "${script}" - done - - docinto "scripts" - for script in "${S}"/scripts/mysql* ; do - [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}" - done - # Manually install supporting files that conflict with other packages - # but are needed for galera and initial installation - exeinto /usr/libexec/mariadb - doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror" - fi - - # Remove mytop if perl is not selected - if [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl ; then - rm -f "${ED}/usr/bin/mytop" || die - fi - - # Fix a dangling symlink when galera is not built - if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then - rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die - fi - - # Remove broken SST scripts that are incompatible - local scriptremove - for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do - if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then - rm "${ED}/usr/bin/${scriptremove}" || die - fi - done -} - -# Official test instructions: -# USE='extraengine perl server' \ -# FEATURES='test userpriv -usersandbox' \ -# ebuild mariadb-X.X.XX.ebuild \ -# digest clean package -src_test() { - - _disable_test() { - local rawtestname reason - rawtestname="${1}" ; shift - reason="${@}" - ewarn "test '${rawtestname}' disabled: '${reason}'" - echo ${rawtestname} : ${reason} >> "${T}/disabled.def" - } - - local TESTDIR="${BUILD_DIR}/mysql-test" - local retstatus_unit - local retstatus_tests - - if ! use server ; then - einfo "Skipping server tests due to minimal build." - return 0 - fi - - # Bug #213475 - MySQL _will_ object strenously if your machine is named - # localhost. Also causes weird failures. - [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - - if [[ $UID -eq 0 ]]; then - die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." - fi - has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox" - - einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" - - # Run CTest (test-units) - cmake-utils_src_test - retstatus_unit=$? - - # Ensure that parallel runs don't die - export MTR_BUILD_THREAD="$((${RANDOM} % 100))" - # Enable parallel testing, auto will try to detect number of cores - # You may set this by hand. - # The default maximum is 8 unless MTR_MAX_PARALLEL is increased - export MTR_PARALLEL="${MTR_PARALLEL:-auto}" - - # create directories because mysqladmin might run out of order - mkdir -p "${T}"/var-tests{,/log} || die - - # Run mysql tests - pushd "${TESTDIR}" > /dev/null || die - - touch "${T}/disabled.def" - # These are failing in MariaDB 10.0 for now and are believed to be - # false positives: - # - # main.mysql_client_test, main.mysql_client_test_nonblock - # main.mysql_client_test_comp: - # segfaults at random under Portage only, suspect resource limits. - - local t - for t in plugins.cracklib_password_check plugins.two_password_validations ; do - _disable_test "$t" "False positive due to varying policies" - done - - for t in main.mysql_client_test main.mysql_client_test_nonblock \ - main.mysql main.gis_notembedded \ - main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do - _disable_test "$t" "False positives in Gentoo" - done - - _disable_test main.plugin_auth "Needs client libraries built" - _disable_test plugins.auth_ed25519 "Needs client libraries built" - - _disable_test main.func_time "Dependent on time test was written" - _disable_test main.ssl_crl "Not compatible with OpenSSL 1.1.1" - - # run mysql-test tests - perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" - retstatus_tests=$? - - popd > /dev/null || die - - # Cleanup is important for these testcases. - pkill -9 -f "${S}/ndb" 2>/dev/null - pkill -9 -f "${S}/sql" 2>/dev/null - - local failures="" - [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" - [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" - - [[ -z "$failures" ]] || die "Test failures: $failures" - einfo "Tests successfully completed" -} - -mysql_init_vars() { - MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} - MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} - MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} - MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"} - - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR="" - if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then - MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ - | sed -ne '/datadir/s|^--datadir=||p' \ - | tail -n1` - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ - | sed -e 's/.*=\s*//' \ - | tail -n1` - fi - fi - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR="${MY_LOCALSTATEDIR}" - einfo "Using default MY_DATADIR" - fi - elog "MySQL MY_DATADIR is ${MY_DATADIR}" - - if [[ -z "${PREVIOUS_DATADIR}" ]] ; then - if [[ -e "${MY_DATADIR}" ]] ; then - # If you get this and you're wondering about it, see bug #207636 - elog "MySQL datadir found in ${MY_DATADIR}" - elog "A new one will not be created." - PREVIOUS_DATADIR="yes" - else - PREVIOUS_DATADIR="no" - fi - export PREVIOUS_DATADIR - fi - else - if [[ ${EBUILD_PHASE} == "config" ]]; then - local new_MY_DATADIR - new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ - | sed -ne '/datadir/s|^--datadir=||p' \ - | tail -n1` - - if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then - ewarn "MySQL MY_DATADIR has changed" - ewarn "from ${MY_DATADIR}" - ewarn "to ${new_MY_DATADIR}" - MY_DATADIR="${new_MY_DATADIR}" - fi - fi - fi - - export MY_SHAREDSTATEDIR MY_SYSCONFDIR - export MY_LOCALSTATEDIR MY_LOGDIR - export MY_DATADIR -} - -pkg_config() { - _getoptval() { - local mypd="${EROOT}"usr/libexec/mariadb/my_print_defaults - local section="$1" - local flag="--${2}=" - local extra_options="${3}" - "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp" - } - local old_MY_DATADIR="${MY_DATADIR}" - local old_HOME="${HOME}" - # my_print_defaults needs to read stuff in $HOME/.my.cnf - export HOME=${EPREFIX}/root - - # Make sure the vars are correctly initialized - mysql_init_vars - - [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" - if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then - die "Minimal builds do NOT include the MySQL server" - fi - - if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then - local MY_DATADIR_s="${ROOT}/${MY_DATADIR}" - MY_DATADIR_s="${MY_DATADIR_s%%/}" - local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}" - old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}" - - if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then - if [[ -d "${MY_DATADIR_s}" ]]; then - ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist" - ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}" - else - elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}" - mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \ - || die "Moving MY_DATADIR failed" - fi - else - ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist" - if [[ -d "${MY_DATADIR_s}" ]]; then - ewarn "Attempting to use ${MY_DATADIR_s}" - else - eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist" - die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}" - fi - fi - fi - - local pwd1="a" - local pwd2="b" - local maxtry=15 - - if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then - local tmp_mysqld_password_source= - - for tmp_mysqld_password_source in mysql client; do - einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." - MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" - if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then - if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then - ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" - MYSQL_ROOT_PASSWORD= - continue - fi - - einfo "Found password in '${tmp_mysqld_password_source}' section!" - break - fi - done - - # Sometimes --show is required to display passwords in some implementations of my_print_defaults - if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then - MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" - fi - - unset tmp_mysqld_password_source - fi - MYSQL_TMPDIR="$(_getoptval mysqld tmpdir | tail -n1)" - # These are dir+prefix - MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)" - MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} - MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)" - MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} - - if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then - einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR" - fi - if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then - einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN" - fi - if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then - einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG" - fi - - if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then - ewarn "You have already a MySQL database in place." - ewarn "(${ROOT}/${MY_DATADIR}/*)" - ewarn "Please rename or delete it if you wish to replace it." - die "MySQL database already exists!" - fi - - # Bug #213475 - MySQL _will_ object strenously if your machine is named - # localhost. Also causes weird failures. - [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - - if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then - - einfo "Please provide a password for the mysql 'root' user now" - einfo "or through the ${HOME}/.my.cnf file." - ewarn "Avoid [\"'\\_%] characters in the password" - read -rsp " >" pwd1 ; echo - - einfo "Retype the password" - read -rsp " >" pwd2 ; echo - - if [[ "x$pwd1" != "x$pwd2" ]] ; then - die "Passwords are not the same" - fi - MYSQL_ROOT_PASSWORD="${pwd1}" - unset pwd1 pwd2 - fi - - local options - local sqltmp="$(emktemp)" - - # Fix bug 446200. Don't reference host my.cnf, needs to come first, - # see https://bugs.mysql.com/bug.php?id=31312 - use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" - - # Figure out which options we need to disable to do the setup - local helpfile="${TMPDIR}/mysqld-help" - "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null - for opt in grant-tables host-cache name-resolve networking slave-start \ - federated ssl log-bin relay-log slow-query-log external-locking \ - log-slave-updates \ - ; do - optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" - egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" - done - - einfo "Creating the mysql database and setting proper permissions on it ..." - - # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it - PID_DIR="${EROOT}/var/run/mysqld" - if [[ ! -d "${PID_DIR}" ]]; then - install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" - fi - - if [[ ! -d "${MY_DATADIR}" ]]; then - install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory" - fi - - pushd "${TMPDIR}" &>/dev/null || die - - # Filling timezones, see - # https://dev.mysql.com/doc/mysql/en/time-zone-support.html - "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null - - local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" ) - [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" ) - cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" ) - einfo "Command: ${cmd[*]}" - su -s /bin/sh -c "${cmd[*]}" mysql \ - >"${TMPDIR}"/mysql_install_db.log 2>&1 - if [ $? -ne 0 ]; then - grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2 - die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log" - fi - popd &>/dev/null || die - [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \ - || die "MySQL databases not installed" - - use prefix || options="${options} --user=mysql" - - local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock" - local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid" - local mysqld="${EROOT}/usr/sbin/mysqld \ - ${options} \ - --log-warnings=0 \ - --basedir=${EROOT}/usr \ - --datadir=${ROOT}/${MY_DATADIR} \ - --max_allowed_packet=8M \ - --net_buffer_length=16K \ - --socket=${socket} \ - --pid-file=${pidfile} \ - --tmpdir=${ROOT}/${MYSQL_TMPDIR}" - #einfo "About to start mysqld: ${mysqld}" - ebegin "Starting mysqld" - einfo "Command ${mysqld}" - ${mysqld} & - rc=$? - while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do - maxtry=$((${maxtry}-1)) - echo -n "." - sleep 1 - done - eend $rc - - if ! [[ -S "${socket}" ]]; then - die "Completely failed to start up mysqld with: ${mysqld}" - fi - - ebegin "Setting root password" - # Do this from memory, as we don't want clear text passwords in temp files - local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES" - "${EROOT}/usr/bin/mysql" \ - "--socket=${socket}" \ - -hlocalhost \ - -e "${sql}" - eend $? - - if [[ -n "${sqltmp}" ]] ; then - ebegin "Loading \"zoneinfo\", this step may require a few seconds" - "${EROOT}/usr/bin/mysql" \ - "--socket=${socket}" \ - -hlocalhost \ - -uroot \ - --password="${MYSQL_ROOT_PASSWORD}" \ - mysql < "${sqltmp}" - rc=$? - eend $? - [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!" - fi - - # Stop the server and cleanup - einfo "Stopping the server ..." - kill $(< "${pidfile}" ) - rm -f "${sqltmp}" - wait %1 - einfo "Done" -} diff --git a/dev-db/mariadb/mariadb-10.3.23.ebuild b/dev-db/mariadb/mariadb-10.3.23-r2.ebuild index 612ad9bf51ee..815d86f66db1 100644 --- a/dev-db/mariadb/mariadb-10.3.23.ebuild +++ b/dev-db/mariadb/mariadb-10.3.23-r2.ebuild @@ -20,7 +20,7 @@ SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz HOMEPAGE="https://mariadb.org/" DESCRIPTION="An enhanced, drop-in replacement for MySQL" LICENSE="GPL-2 LGPL-2.1+" -SLOT="0/${SUBSLOT:-0}" +SLOT="10.3/${SUBSLOT:-0}" IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4 innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx @@ -35,7 +35,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static ) ?? ( tcmalloc jemalloc ) static? ( yassl !pam )" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" # Shorten the path because the socket path length must be shorter than 107 chars # and we will run a mysql server during test phase @@ -94,6 +94,12 @@ DEPEND="virtual/yacc ${COMMON_DEPEND}" RDEPEND="selinux? ( sec-policy/selinux-mysql ) !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + !dev-db/mariadb:0 + !dev-db/mariadb:5.5 + !dev-db/mariadb:10.1 + !dev-db/mariadb:10.2 + !dev-db/mariadb:10.4 + !dev-db/mariadb:10.5 !<virtual/mysql-5.6-r11 ${COMMON_DEPEND} server? ( @@ -116,8 +122,7 @@ RDEPEND="selinux? ( sec-policy/selinux-mysql ) " # For other stuff to bring us in # dev-perl/DBD-mysql is needed by some scripts installed by MySQL -PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 ) - server? ( ~virtual/mysql-5.6[static=] )" +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" mysql_init_vars() { MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} diff --git a/dev-db/mariadb/mariadb-10.3.22-r1.ebuild b/dev-db/mariadb/mariadb-10.3.24.ebuild index 3d65b2ca81e0..d32933c9d720 100644 --- a/dev-db/mariadb/mariadb-10.3.22-r1.ebuild +++ b/dev-db/mariadb/mariadb-10.3.24.ebuild @@ -1,33 +1,24 @@ # Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="6" -MY_EXTRAS_VER="20200203-1749Z" +EAPI="7" SUBSLOT="18" JAVA_PKG_OPT_USE="jdbc" -# Keeping eutils in EAPI=6 for emktemp in pkg_config - inherit eutils systemd flag-o-matic prefix toolchain-funcs \ - multiprocessing java-pkg-opt-2 cmake-utils + multiprocessing java-pkg-opt-2 cmake -SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz " +# Patch version +PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.3.24-patches-01.tar.xz" -# Gentoo patches to MySQL -if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then - SRC_URI="${SRC_URI} - mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" -fi +SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz + ${PATCH_SET}" HOMEPAGE="https://mariadb.org/" DESCRIPTION="An enhanced, drop-in replacement for MySQL" LICENSE="GPL-2 LGPL-2.1+" -SLOT="0/${SUBSLOT:-0}" +SLOT="10.3/${SUBSLOT:-0}" IUSE="+backup bindist client-libs cracklib debug extraengine galera innodb-lz4 innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx @@ -42,31 +33,12 @@ REQUIRED_USE="jdbc? ( extraengine server !static ) ?? ( tcmalloc jemalloc ) static? ( yassl !pam )" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" # Shorten the path because the socket path length must be shorter than 107 chars # and we will run a mysql server during test phase S="${WORKDIR}/mysql" -if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git" - EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras" - EGIT_CLONE_TYPE=shallow - MY_PATCH_DIR="${WORKDIR%/}/mysql-extras" -else - MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}" -fi - -PATCHES=( - "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch - "${MY_PATCH_DIR}"/20018_all_mariadb-10.3.12-without-clientlibs-tools.patch - "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch - "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch - "${MY_PATCH_DIR}"/20035_all_mariadb-10.3-atomic-detection.patch - "${MY_PATCH_DIR}"/20039_all_mariadb-binutil-libs-2.34.patch -) - # Be warned, *DEPEND are version-dependant # These are used for both runtime and compiletime COMMON_DEPEND=" @@ -110,9 +82,10 @@ COMMON_DEPEND=" ) >=dev-libs/libpcre-8.41-r1:3= " -DEPEND="virtual/yacc - static? ( sys-libs/ncurses[static-libs] ) +BDEPEND="virtual/yacc || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) +" +DEPEND="static? ( sys-libs/ncurses[static-libs] ) server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) test? ( acct-group/mysql acct-user/mysql ) @@ -120,6 +93,12 @@ DEPEND="virtual/yacc ${COMMON_DEPEND}" RDEPEND="selinux? ( sec-policy/selinux-mysql ) !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + !dev-db/mariadb:0 + !dev-db/mariadb:5.5 + !dev-db/mariadb:10.1 + !dev-db/mariadb:10.2 + !dev-db/mariadb:10.4 + !dev-db/mariadb:10.5 !<virtual/mysql-5.6-r11 ${COMMON_DEPEND} server? ( @@ -142,8 +121,7 @@ RDEPEND="selinux? ( sec-policy/selinux-mysql ) " # For other stuff to bring us in # dev-perl/DBD-mysql is needed by some scripts installed by MySQL -PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 ) - server? ( ~virtual/mysql-5.6[static=] )" +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" mysql_init_vars() { MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} @@ -236,35 +214,22 @@ pkg_setup() { java-pkg-opt-2_pkg_setup } -pkg_preinst() { - java-pkg-opt-2_pkg_preinst - - # Here we need to see if the implementation switched client libraries - # We check if this is a new instance of the package and a client library already exists - local SHOW_ABI_MESSAGE libpath - if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then - libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so") - elog "Due to ABI changes when switching between different client libraries," - elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient." - elog "Please run: revdep-rebuild --library ${libpath}" - ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" - fi -} - src_unpack() { unpack ${A} - # Grab the patches - [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die } src_prepare() { + eapply "${WORKDIR}"/mariadb-patches + + eapply_user + _disable_plugin() { - echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die + echo > "${S}/plugin/${1}/CMakeLists.txt" || die } _disable_engine() { - echo > "${S%/}/storage/${1}/CMakeLists.txt" || die + echo > "${S}/storage/${1}/CMakeLists.txt" || die } if use jemalloc; then @@ -310,16 +275,11 @@ src_prepare() { _disable_engine mroonga fi - # Don't clash with dev-db/mysql-connector-c - sed -i -e 's/ my_print_defaults.1//' \ - -e 's/ perror.1//' \ - "${S}"/man/CMakeLists.txt || die - # Fix galera_recovery.sh script sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \ scripts/galera_recovery.sh || die - cmake-utils_src_prepare + cmake_src_prepare java-pkg-opt-2_src_prepare } @@ -511,11 +471,11 @@ src_configure() { ) fi - cmake-utils_src_configure + cmake_src_configure } src_compile() { - cmake-utils_src_compile + cmake_src_compile } # Official test instructions: @@ -545,7 +505,7 @@ src_test() { einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" # Run CTest (test-units) - cmake-utils_src_test + cmake_src_test retstatus_unit=$? # Ensure that parallel runs don't die @@ -648,7 +608,7 @@ src_test() { } src_install() { - cmake-utils_src_install + cmake_src_install # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then @@ -743,12 +703,27 @@ src_install() { done } +pkg_preinst() { + java-pkg-opt-2_pkg_preinst + + # Here we need to see if the implementation switched client libraries + # We check if this is a new instance of the package and a client library already exists + local SHOW_ABI_MESSAGE libpath + if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then + libpath=$(readlink "${EROOT}/usr/$(get_libdir)/libmysqlclient.so") + elog "Due to ABI changes when switching between different client libraries," + elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient." + elog "Please run: revdep-rebuild --library ${libpath}" + ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" + fi +} + pkg_postinst() { # Make sure the vars are correctly initialized mysql_init_vars # Create log directory securely if it does not exist - [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" + [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}" if use server ; then if use pam; then @@ -799,7 +774,7 @@ pkg_postinst() { pkg_config() { _getoptval() { - local mypd="${EROOT}"usr/libexec/mariadb/my_print_defaults + local mypd="${EROOT}"/usr/libexec/mariadb/my_print_defaults local section="$1" local flag="--${2}=" local extra_options="${3}" @@ -904,9 +879,9 @@ pkg_config() { # localhost. Also causes weird failures. [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]]; then - einfo "Please provide a password for the mysql 'root' user now" + einfo "Please provide a password for the mysql 'root'@'localhost' user now" einfo "or through the ${HOME}/.my.cnf file." ewarn "Avoid [\"'\\_%] characters in the password" read -rsp " >" pwd1 ; echo @@ -917,6 +892,7 @@ pkg_config() { if [[ "x$pwd1" != "x$pwd2" ]] ; then die "Passwords are not the same" fi + MYSQL_ROOT_PASSWORD="${pwd1}" unset pwd1 pwd2 fi @@ -957,19 +933,19 @@ pkg_config() { # https://dev.mysql.com/doc/mysql/en/time-zone-support.html "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null - local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" ) - [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" ) + local cmd=( "${EROOT}/usr/share/mariadb/scripts/mysql_install_db" ) + [[ -f "${cmd}" ]] || cmd=( "${EROOT}/usr/bin/mysql_install_db" ) cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" ) einfo "Command: ${cmd[*]}" su -s /bin/sh -c "${cmd[*]}" mysql \ >"${TMPDIR}"/mysql_install_db.log 2>&1 - if [ $? -ne 0 ]; then + if [[ $? -ne 0 ]]; then grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2 die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log" fi popd &>/dev/null || die [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \ - || die "MySQL databases not installed" + || die "MySQL databases not installed" use prefix || options="${options} --user=mysql" diff --git a/dev-db/mariadb/mariadb-10.4.10.ebuild b/dev-db/mariadb/mariadb-10.4.10.ebuild deleted file mode 100644 index 4f28a3ad6b1e..000000000000 --- a/dev-db/mariadb/mariadb-10.4.10.ebuild +++ /dev/null @@ -1,1015 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" -MY_EXTRAS_VER="20190731-2258Z" -SUBSLOT="18" - -JAVA_PKG_OPT_USE="jdbc" - -inherit eutils systemd flag-o-matic prefix toolchain-funcs \ - java-pkg-opt-2 cmake-utils - -SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz " - -# Gentoo patches to MySQL -if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then - SRC_URI="${SRC_URI} - mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" -fi - -HOMEPAGE="https://mariadb.org/" -DESCRIPTION="An enhanced, drop-in replacement for MySQL" -LICENSE="GPL-2 LGPL-2.1+" -SLOT="0/${SUBSLOT:-0}" -IUSE="+backup bindist cracklib debug extraengine galera innodb-lz4 - innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga - numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx - sst-rsync sst-mariabackup static systemd systemtap tcmalloc - test tokudb xml yassl" - -# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests -RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )" - -REQUIRED_USE="jdbc? ( extraengine server !static ) - server? ( tokudb? ( jemalloc !tcmalloc ) ) - ?? ( tcmalloc jemalloc ) - static? ( yassl !pam )" - -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" - -# Shorten the path because the socket path length must be shorter than 107 chars -# and we will run a mysql server during test phase -S="${WORKDIR}/mysql" - -if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git" - EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras" - EGIT_CLONE_TYPE=shallow - MY_PATCH_DIR="${WORKDIR}/mysql-extras" -else - MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}" -fi - -PATCHES=( - "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch - "${MY_PATCH_DIR}"/20018_all_mariadb-10.4.5-without-clientlibs-tools.patch - "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch - "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch - "${MY_PATCH_DIR}"/20035_all_mariadb-10.3-atomic-detection.patch -) - -# Be warned, *DEPEND are version-dependant -# These are used for both runtime and compiletime -COMMON_DEPEND=" - kernel_linux? ( - sys-process/procps:0= - dev-libs/libaio:0= - ) - >=sys-apps/sed-4 - >=sys-apps/texinfo-4.7-r1 - jemalloc? ( dev-libs/jemalloc:0= ) - tcmalloc? ( dev-util/google-perftools:0= ) - systemtap? ( >=dev-util/systemtap-1.3:0= ) - >=sys-libs/zlib-1.2.3:0= - kerberos? ( virtual/krb5 ) - yassl? ( net-libs/gnutls:0= ) - !yassl? ( - !libressl? ( >=dev-libs/openssl-1.0.0:0= ) - libressl? ( dev-libs/libressl:0= ) - ) - sys-libs/ncurses:0= - !bindist? ( - sys-libs/binutils-libs:0= - >=sys-libs/readline-4.1:0= - ) - server? ( - backup? ( app-arch/libarchive:0= ) - cracklib? ( sys-libs/cracklib:0= ) - extraengine? ( - odbc? ( dev-db/unixODBC:0= ) - xml? ( dev-libs/libxml2:2= ) - ) - innodb-lz4? ( app-arch/lz4 ) - innodb-lzo? ( dev-libs/lzo ) - innodb-snappy? ( app-arch/snappy ) - mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) - numa? ( sys-process/numactl ) - oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) - pam? ( sys-libs/pam:0= ) - systemd? ( sys-apps/systemd:= ) - tokudb? ( app-arch/snappy ) - ) - >=dev-libs/libpcre-8.41-r1:3= -" -BDEPEND="virtual/yacc - || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) -" -DEPEND="static? ( sys-libs/ncurses[static-libs] ) - server? ( extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) - test? ( acct-group/mysql acct-user/mysql ) ) - ${COMMON_DEPEND}" -RDEPEND="selinux? ( sec-policy/selinux-mysql ) - !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster - !<virtual/mysql-5.6-r11 - !<virtual/libmysqlclient-18-r1 - ${COMMON_DEPEND} - server? ( - galera? ( - sys-apps/iproute2 - =sys-cluster/galera-26* - sst-rsync? ( sys-process/lsof ) - sst-mariabackup? ( net-misc/socat[ssl] ) - ) - !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql ) - extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) - ) - perl? ( !dev-db/mytop - virtual/perl-Getopt-Long - dev-perl/TermReadKey - virtual/perl-Term-ANSIColor - virtual/perl-Time-HiRes ) -" -# For other stuff to bring us in -# dev-perl/DBD-mysql is needed by some scripts installed by MySQL -PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 ) - server? ( ~virtual/mysql-5.6[static=] )" - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - local GCC_MAJOR_SET=$(gcc-major-version) - local GCC_MINOR_SET=$(gcc-minor-version) - if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \ - ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then - eerror "${PN} with tokudb needs to be built with gcc-4.7 or later." - eerror "Please use gcc-config to switch to gcc-4.7 or later version." - die - fi - # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on - # non x86{,_64} arches - if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ - ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then - eerror "${PN} needs to be built with gcc-4.7 or later." - eerror "Please use gcc-config to switch to gcc-4.7 or later version." - die - fi - fi - java-pkg-opt-2_pkg_setup - if has test ${FEATURES} && \ - use server && ! has userpriv ${FEATURES} ; then - eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." - fi - -} - -pkg_preinst() { - java-pkg-opt-2_pkg_preinst -} - -pkg_postinst() { - # Make sure the vars are correctly initialized - mysql_init_vars - - # Create log directory securely if it does not exist - [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}" - - if use server ; then - if use pam; then - einfo - elog "This install includes the PAM authentication plugin." - elog "To activate and configure the PAM plugin, please read:" - elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/" - einfo - chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die - fi - - if [[ -z "${REPLACING_VERSIONS}" ]] ; then - einfo - elog "You might want to run:" - elog "\"emerge --config =${CATEGORY}/${PF}\"" - elog "if this is a new install." - elog - elog "If you are switching server implentations, you should run the" - elog "mysql_upgrade tool." - einfo - else - einfo - elog "If you are upgrading major versions, you should run the" - elog "mysql_upgrade tool." - einfo - fi - - if use galera ; then - einfo - elog "Be sure to edit the my.cnf file to activate your cluster settings." - elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\"" - elog "The first time the cluster is activated, you should add" - elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node." - elog "This option should then be removed for subsequent starts." - einfo - if [[ -n "${REPLACING_VERSIONS}" ]] ; then - local rver - for rver in ${REPLACING_VERSIONS} ; do - if ver_test "${rver}" -lt "10.4.0" ; then - ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster." - ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4" - ewarn "for more information" - fi - done - fi - fi - fi - - # Note about configuration change - einfo - elog "This version of mariadb reorganizes the configuration from a single my.cnf" - elog "to several files in /etc/mysql/${PN}.d." - elog "Please backup any changes you made to /etc/mysql/my.cnf" - elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension." - elog "You may have as many files as needed and they are read alphabetically." - elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." - einfo -} - -src_unpack() { - unpack ${A} - # Grab the patches - [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack - - mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die -} - -src_prepare() { - _disable_plugin() { - echo > "${S}/plugin/${1}/CMakeLists.txt" || die - } - _disable_engine() { - echo > "${S}/storage/${1}/CMakeLists.txt" || die - } - - if use jemalloc; then - echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" - elif use tcmalloc; then - echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" - fi - - # Don't build bundled xz-utils for tokudb - echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die - sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die - sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die - - local plugin - local server_plugins=( handler_socket auth_socket feedback metadata_lock_info - locale_info qc_info server_audit sql_errlog auth_ed25519 ) - local test_plugins=( audit_null auth_examples daemon_example fulltext - debug_key_management example_key_management versioning ) - if ! use server; then # These plugins are for the server - for plugin in "${server_plugins[@]}" ; do - _disable_plugin "${plugin}" - done - fi - - if ! use test; then # These plugins are only used during testing - for plugin in "${test_plugins[@]}" ; do - _disable_plugin "${plugin}" - done - _disable_engine test_sql_discovery - echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die - fi - - _disable_engine example - - if ! use oqgraph ; then # avoids extra library checks - _disable_engine oqgraph - fi - - if use mroonga ; then - # Remove the bundled groonga - # There is no CMake flag, it simply checks for existance - rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga" - else - _disable_engine mroonga - fi - - # Fix static bindings in galera replication - sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \ - "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die - sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \ - "${S}"/wsrep-lib/src/CMakeLists.txt || die - - # Don't clash with dev-db/mysql-connector-c - sed -i -e 's/ my_print_defaults.1//' \ - -e 's/ perror.1//' \ - "${S}"/man/CMakeLists.txt || die - - # Fix galera_recovery.sh script - sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \ - scripts/galera_recovery.sh || die - - sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \ - "${S}"/scripts/mysql_install_db.sh || die - - cmake-utils_src_prepare - java-pkg-opt-2_src_prepare -} - -src_configure() { - # bug 508724 mariadb cannot use ld.gold - tc-ld-disable-gold - # Bug #114895, bug #110149 - filter-flags "-O" "-O[01]" - - append-cxxflags -felide-constructors - - # bug #283926, with GCC4.4, this is required to get correct behavior. - append-flags -fno-strict-aliasing - - CMAKE_BUILD_TYPE="RelWithDebInfo" - - # debug hack wrt #497532 - mycmakeargs=( - -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" - -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" - -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" - -DSYSCONFDIR="${EPREFIX}/etc/mysql" - -DINSTALL_BINDIR=bin - -DINSTALL_DOCDIR=share/doc/${PF} - -DINSTALL_DOCREADMEDIR=share/doc/${PF} - -DINSTALL_INCLUDEDIR=include/mysql - -DINSTALL_INFODIR=share/info - -DINSTALL_LIBDIR=$(get_libdir) - -DINSTALL_MANDIR=share/man - -DINSTALL_MYSQLSHAREDIR=share/mariadb - -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin - -DINSTALL_SCRIPTDIR=share/mariadb/scripts - -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" - -DINSTALL_SBINDIR=sbin - -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb" - -DWITH_COMMENT="Gentoo Linux ${PF}" - -DWITH_UNIT_TESTS=$(usex test ON OFF) - -DWITH_LIBEDIT=0 - -DWITH_ZLIB=system - -DWITHOUT_LIBWRAP=1 - -DENABLED_LOCAL_INFILE=1 - -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" - -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock" - -DWITH_DEFAULT_COMPILER_OPTIONS=0 - -DWITH_DEFAULT_FEATURE_SET=0 - -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)" - # The build forces this to be defined when cross-compiling. We pass it - # all the time for simplicity and to make sure it is actually correct. - -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) - -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)" - -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) - -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF) - -DCONC_WITH_EXTERNAL_ZLIB=YES - -DWITH_EXTERNAL_ZLIB=YES - -DSUFFIX_INSTALL_DIR="" - -DWITH_UNITTEST=OFF - -DWITHOUT_CLIENTLIBS=YES - -DCLIENT_PLUGIN_DIALOG=OFF - -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF - -DCLIENT_PLUGIN_CLIENT_ED25519=OFF - -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC - -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF - ) - if use test ; then - mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test ) - else - mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) - fi - - if ! use yassl ; then - mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC ) - else - mycmakeargs+=( -DWITH_SSL=bundled ) - fi - - # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION - mycmakeargs+=( - -DWITH_READLINE=$(usex bindist 1 0) - -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1) - -DENABLE_DTRACE=$(usex systemtap) - ) - - if use server ; then - - # Federated{,X} must be treated special otherwise they will not be built as plugins - if ! use extraengine ; then - mycmakeargs+=( - -DPLUGIN_FEDERATED=NO - -DPLUGIN_FEDERATEDX=NO ) - fi - - mycmakeargs+=( - -DWITH_PCRE=system - -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO) - -DPLUGIN_SPHINX=$(usex sphinx YES NO) - -DPLUGIN_TOKUDB=$(usex tokudb YES NO) - -DPLUGIN_AUTH_PAM=$(usex pam YES NO) - -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO) - -DPLUGIN_CASSANDRA=NO - -DPLUGIN_SEQUENCE=$(usex extraengine YES NO) - -DPLUGIN_SPIDER=$(usex extraengine YES NO) - -DPLUGIN_CONNECT=$(usex extraengine YES NO) - -DCONNECT_WITH_MYSQL=1 - -DCONNECT_WITH_LIBXML2=$(usex xml) - -DCONNECT_WITH_ODBC=$(usex odbc) - -DCONNECT_WITH_JDBC=$(usex jdbc) - # Build failure and autodep wrt bug 639144 - -DCONNECT_WITH_MONGO=OFF - -DWITH_WSREP=$(usex galera) - -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF) - -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF) - -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF) - -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO) - -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) - -DWITH_MARIABACKUP=$(usex backup ON OFF) - -DWITH_LIBARCHIVE=$(usex backup ON OFF) - -DINSTALL_SQLBENCHDIR="" - -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO) - # systemd is only linked to for server notification - -DWITH_SYSTEMD=$(usex systemd yes no) - -DWITH_NUMA=$(usex numa ON OFF) - ) - - # Workaround for MDEV-14524 - use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 ) - - if use test ; then - # This is needed for the new client lib which tests a real, open server - mycmakeargs+=( -DSKIP_TESTS=ON ) - fi - - if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then - ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" - ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." - ewarn "You MUST file bugs without these variables set." - - mycmakeargs+=( - -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} - -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} - ) - - elif ! use latin1 ; then - mycmakeargs+=( - -DDEFAULT_CHARSET=utf8 - -DDEFAULT_COLLATION=utf8_general_ci - ) - else - mycmakeargs+=( - -DDEFAULT_CHARSET=latin1 - -DDEFAULT_COLLATION=latin1_swedish_ci - ) - fi - mycmakeargs+=( - -DEXTRA_CHARSETS=all - -DMYSQL_USER=mysql - -DDISABLE_SHARED=$(usex static YES NO) - -DWITH_DEBUG=$(usex debug) - -DWITH_EMBEDDED_SERVER=OFF - -DWITH_PROFILING=$(usex profiling) - ) - - if use static; then - mycmakeargs+=( -DWITH_PIC=1 ) - fi - - if use jemalloc || use tcmalloc ; then - mycmakeargs+=( -DWITH_SAFEMALLOC=OFF ) - fi - - # Storage engines - mycmakeargs+=( - -DWITH_ARCHIVE_STORAGE_ENGINE=1 - -DWITH_BLACKHOLE_STORAGE_ENGINE=1 - -DWITH_CSV_STORAGE_ENGINE=1 - -DWITH_HEAP_STORAGE_ENGINE=1 - -DWITH_INNOBASE_STORAGE_ENGINE=1 - -DWITH_MYISAMMRG_STORAGE_ENGINE=1 - -DWITH_MYISAM_STORAGE_ENGINE=1 - -DWITH_PARTITION_STORAGE_ENGINE=1 - ) - - else - mycmakeargs+=( - -DWITHOUT_SERVER=1 - -DWITH_EMBEDDED_SERVER=OFF - -DEXTRA_CHARSETS=none - -DINSTALL_SQLBENCHDIR= - -DWITH_SYSTEMD=no - ) - fi - - cmake-utils_src_configure -} - -src_compile() { - cmake-utils_src_compile -} - -src_install() { - cmake-utils_src_install - - # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used - if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then - rm "${ED}/usr/include/mysql/server/private/config.h" || die - fi - - # Make sure the vars are correctly initialized - mysql_init_vars - - # Convenience links - einfo "Making Convenience links for mysqlcheck multi-call binary" - dosym "mysqlcheck" "/usr/bin/mysqlanalyze" - dosym "mysqlcheck" "/usr/bin/mysqlrepair" - dosym "mysqlcheck" "/usr/bin/mysqloptimize" - - # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir - if [[ -d "${ED}/usr/data" ]] ; then - rm -Rf "${ED}/usr/data" || die - fi - - # Unless they explicitly specific USE=test, then do not install the - # testsuite. It DOES have a use to be installed, esp. when you want to do a - # validation of your database configuration after tuning it. - if ! use test ; then - rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" - fi - - # Configuration stuff - einfo "Building default configuration ..." - insinto "${MY_SYSCONFDIR#${EPREFIX}}" - [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf - cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die - eprefixify "${TMPDIR}/my.cnf" - doins "${TMPDIR}/my.cnf" - insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d" - cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die - eprefixify "${TMPDIR}/50-distro-client.cnf" - doins "${TMPDIR}/50-distro-client.cnf" - - if use server ; then - mycnf_src="my.cnf.distro-server" - sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ - "${FILESDIR}/${mycnf_src}" \ - > "${TMPDIR}/my.cnf.ok" || die - if use prefix ; then - sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ - "${TMPDIR}/my.cnf.ok" || die - fi - if use latin1 ; then - sed -i \ - -e "/character-set/s|utf8|latin1|g" \ - "${TMPDIR}/my.cnf.ok" || die - fi - eprefixify "${TMPDIR}/my.cnf.ok" - newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf - - einfo "Including support files and sample configurations" - docinto "support-files" - local script - for script in \ - "${S}"/support-files/magic - do - [[ -f "$script" ]] && dodoc "${script}" - done - - docinto "scripts" - for script in "${S}"/scripts/mysql* ; do - [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}" - done - # Manually install supporting files that conflict with other packages - # but are needed for galera and initial installation - exeinto /usr/libexec/mariadb - doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror" - - if use pam ; then - keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir - fi - fi - - # Remove mytop if perl is not selected - if [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl ; then - rm -f "${ED}/usr/bin/mytop" || die - fi - - # Fix a dangling symlink when galera is not built - if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then - rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die - fi - - # Remove broken SST scripts that are incompatible - local scriptremove - for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do - if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then - rm "${ED}/usr/bin/${scriptremove}" || die - fi - done -} - -# Official test instructions: -# USE='extraengine perl server' \ -# FEATURES='test userpriv -usersandbox' \ -# ebuild mariadb-X.X.XX.ebuild \ -# digest clean package -src_test() { - - _disable_test() { - local rawtestname reason - rawtestname="${1}" ; shift - reason="${@}" - ewarn "test '${rawtestname}' disabled: '${reason}'" - echo ${rawtestname} : ${reason} >> "${T}/disabled.def" - } - - local TESTDIR="${BUILD_DIR}/mysql-test" - local retstatus_unit - local retstatus_tests - - if ! use server ; then - einfo "Skipping server tests due to minimal build." - return 0 - fi - - # Bug #213475 - MySQL _will_ object strenously if your machine is named - # localhost. Also causes weird failures. - [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - - if [[ $UID -eq 0 ]]; then - die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." - fi - has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox" - - einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" - - # Run CTest (test-units) - cmake-utils_src_test - retstatus_unit=$? - - # Ensure that parallel runs don't die - export MTR_BUILD_THREAD="$((${RANDOM} % 100))" - # Enable parallel testing, auto will try to detect number of cores - # You may set this by hand. - # The default maximum is 8 unless MTR_MAX_PARALLEL is increased - export MTR_PARALLEL="${MTR_PARALLEL:-auto}" - - # create directories because mysqladmin might run out of order - mkdir -p "${T}"/var-tests{,/log} || die - - # Run mysql tests - pushd "${TESTDIR}" > /dev/null || die - - touch "${T}/disabled.def" - # These are failing in MariaDB 10.0 for now and are believed to be - # false positives: - # - # main.mysql_client_test, main.mysql_client_test_nonblock - # main.mysql_client_test_comp: - # segfaults at random under Portage only, suspect resource limits. - - local t - for t in plugins.cracklib_password_check plugins.two_password_validations ; do - _disable_test "$t" "False positive due to varying policies" - done - - for t in main.mysql_client_test main.mysql_client_test_nonblock main.mysql \ - main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam ; do - _disable_test "$t" "False positives in Gentoo" - done - - for t in funcs_1.is_columns_mysql main.gis_notembedded main.information_schema \ - main.mysql_upgrade main.system_mysql_db ; do - _disable_test "$t" "Failure for difference between latin1 and utf-8" - done - - _disable_test main.plugin_auth "Needs client libraries built" - _disable_test plugins.auth_ed25519 "Needs client libraries built" - - _disable_test main.func_time "Dependent on time test was written" - - _disable_test compat/oracle.plugin "Needs example plugin which Gentoo disables" - - # run mysql-test tests - perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" - retstatus_tests=$? - - popd > /dev/null || die - - # Cleanup is important for these testcases. - pkill -9 -f "${S}/ndb" 2>/dev/null - pkill -9 -f "${S}/sql" 2>/dev/null - - local failures="" - [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" - [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" - - [[ -z "$failures" ]] || die "Test failures: $failures" - einfo "Tests successfully completed" -} - -mysql_init_vars() { - MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} - MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} - MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} - MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"} - - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR="" - if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then - MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ - | sed -ne '/datadir/s|^--datadir=||p' \ - | tail -n1` - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ - | sed -e 's/.*=\s*//' \ - | tail -n1` - fi - fi - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR="${MY_LOCALSTATEDIR}" - einfo "Using default MY_DATADIR" - fi - elog "MySQL MY_DATADIR is ${MY_DATADIR}" - - if [[ -z "${PREVIOUS_DATADIR}" ]] ; then - if [[ -e "${MY_DATADIR}" ]] ; then - # If you get this and you're wondering about it, see bug #207636 - elog "MySQL datadir found in ${MY_DATADIR}" - elog "A new one will not be created." - PREVIOUS_DATADIR="yes" - else - PREVIOUS_DATADIR="no" - fi - export PREVIOUS_DATADIR - fi - else - if [[ ${EBUILD_PHASE} == "config" ]]; then - local new_MY_DATADIR - new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ - | sed -ne '/datadir/s|^--datadir=||p' \ - | tail -n1` - - if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then - ewarn "MySQL MY_DATADIR has changed" - ewarn "from ${MY_DATADIR}" - ewarn "to ${new_MY_DATADIR}" - MY_DATADIR="${new_MY_DATADIR}" - fi - fi - fi - - export MY_SHAREDSTATEDIR MY_SYSCONFDIR - export MY_LOCALSTATEDIR MY_LOGDIR - export MY_DATADIR -} - -pkg_config() { - _getoptval() { - local mypd="${EROOT}"/usr/libexec/mariadb/my_print_defaults - local section="$1" - local flag="--${2}=" - local extra_options="${3}" - "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp" - } - local old_MY_DATADIR="${MY_DATADIR}" - local old_HOME="${HOME}" - # my_print_defaults needs to read stuff in $HOME/.my.cnf - export HOME=${EPREFIX}/root - - # Make sure the vars are correctly initialized - mysql_init_vars - - [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" - if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then - die "Minimal builds do NOT include the MySQL server" - fi - - if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then - local MY_DATADIR_s="${ROOT}/${MY_DATADIR}" - MY_DATADIR_s="${MY_DATADIR_s%%/}" - local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}" - old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}" - - if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then - if [[ -d "${MY_DATADIR_s}" ]]; then - ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist" - ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}" - else - elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}" - mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \ - || die "Moving MY_DATADIR failed" - fi - else - ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist" - if [[ -d "${MY_DATADIR_s}" ]]; then - ewarn "Attempting to use ${MY_DATADIR_s}" - else - eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist" - die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}" - fi - fi - fi - - local pwd1="a" - local pwd2="b" - local maxtry=15 - - if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then - local tmp_mysqld_password_source= - - for tmp_mysqld_password_source in mysql client; do - einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." - MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" - if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then - if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then - ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" - MYSQL_ROOT_PASSWORD= - continue - fi - - einfo "Found password in '${tmp_mysqld_password_source}' section!" - break - fi - done - - # Sometimes --show is required to display passwords in some implementations of my_print_defaults - if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then - MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" - fi - - unset tmp_mysqld_password_source - fi - MYSQL_TMPDIR="$(_getoptval mysqld tmpdir | tail -n1)" - # These are dir+prefix - MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)" - MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} - MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)" - MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} - - if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then - einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR" - fi - if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then - einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN" - fi - if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then - einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG" - fi - - if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then - ewarn "You have already a MySQL database in place." - ewarn "(${ROOT}/${MY_DATADIR}/*)" - ewarn "Please rename or delete it if you wish to replace it." - die "MySQL database already exists!" - fi - - # Bug #213475 - MySQL _will_ object strenously if your machine is named - # localhost. Also causes weird failures. - [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - - if [[ -z "${MYSQL_ROOT_PASSWORD}" ]]; then - - einfo "Please provide a password for the mysql 'root'@'localhost' user now" - einfo "or through the ${HOME}/.my.cnf file." - ewarn "Avoid [\"'\\_%] characters in the password" - einfo "Not entering a password defaults to UNIX authentication" - read -rsp " >" pwd1 ; echo - - if [[ -n "${pwd1}" ]] ; then - - einfo "Retype the password" - read -rsp " >" pwd2 ; echo - - if [[ "x$pwd1" != "x$pwd2" ]] ; then - die "Passwords are not the same" - fi - MYSQL_ROOT_PASSWORD="${pwd1}" - fi - unset pwd1 pwd2 - fi - - local options - local sqltmp="$(emktemp)" - - # Fix bug 446200. Don't reference host my.cnf, needs to come first, - # see https://bugs.mysql.com/bug.php?id=31312 - use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" - - # Figure out which options we need to disable to do the setup - local helpfile="${TMPDIR}/mysqld-help" - "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null - for opt in host-cache name-resolve networking slave-start \ - federated ssl log-bin relay-log slow-query-log external-locking \ - log-slave-updates \ - ; do - optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" - egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" - done - - einfo "Creating the mysql database and setting proper permissions on it ..." - - # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it - PID_DIR="${EROOT}/var/run/mysqld" - if [[ ! -d "${PID_DIR}" ]]; then - install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" - fi - - if [[ ! -d "${MY_DATADIR}" ]]; then - install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory" - fi - - pushd "${TMPDIR}" &>/dev/null || die - - # Filling timezones, see - # https://dev.mysql.com/doc/mysql/en/time-zone-support.html - "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null - - local cmd=( "${EROOT}/usr/share/mariadb/scripts/mysql_install_db" ) - [[ -f "${cmd}" ]] || cmd=( "${EROOT}/usr/bin/mysql_install_db" ) - cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" ) - einfo "Command: ${cmd[*]}" - su -s /bin/sh -c "${cmd[*]}" mysql \ - >"${TMPDIR}"/mysql_install_db.log 2>&1 - if [[ $? -ne 0 ]]; then - grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2 - die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log" - fi - popd &>/dev/null || die - [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \ - || die "MySQL databases not installed" - - if [[ -z ${sqltmp} && -z ${MYSQL_ROOT_PASSWORD} ]] ; then - einfo "Done" - exit 0 - fi - - use prefix || options="${options} --user=mysql" - - local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock" - local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid" - local mysqld="${EROOT}/usr/sbin/mysqld \ - ${options} \ - --log-warnings=0 \ - --basedir=${EROOT}/usr \ - --datadir=${ROOT}/${MY_DATADIR} \ - --max_allowed_packet=8M \ - --net_buffer_length=16K \ - --socket=${socket} \ - --pid-file=${pidfile} \ - --tmpdir=${ROOT}/${MYSQL_TMPDIR}" - #einfo "About to start mysqld: ${mysqld}" - ebegin "Starting mysqld" - einfo "Command ${mysqld}" - ${mysqld} & - rc=$? - while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do - maxtry=$((${maxtry}-1)) - echo -n "." - sleep 1 - done - eend $rc - - [[ -S "${socket}" ]] || - die "Completely failed to start up mysqld with: ${mysqld}" - - if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then - ebegin "Setting root password" - # Do this from memory, as we don't want clear text passwords in temp files - local sql="SET PASSWORD FOR 'root'@'localhost' = PASSWORD('${MYSQL_ROOT_PASSWORD}')" - "${EROOT}/usr/bin/mysql" \ - "--socket=${socket}" \ - -hlocalhost \ - -e "${sql}" - unset sql - eend $? - fi - - if [[ -n "${sqltmp}" ]] ; then - ebegin "Loading \"zoneinfo\", this step may require a few seconds" - "${EROOT}/usr/bin/mysql" \ - "--socket=${socket}" \ - -hlocalhost \ - -uroot \ - --password="${MYSQL_ROOT_PASSWORD}" \ - mysql < "${sqltmp}" - rc=$? - eend $? - [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!" - fi - - # Stop the server and cleanup - einfo "Stopping the server ..." - kill $(< "${pidfile}" ) - rm -f "${sqltmp}" - wait %1 - einfo "Done" -} diff --git a/dev-db/mariadb/mariadb-10.4.13.ebuild b/dev-db/mariadb/mariadb-10.4.13-r2.ebuild index 69e74409ad54..f879d6f9a0ef 100644 --- a/dev-db/mariadb/mariadb-10.4.13.ebuild +++ b/dev-db/mariadb/mariadb-10.4.13-r2.ebuild @@ -18,7 +18,7 @@ SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz HOMEPAGE="https://mariadb.org/" DESCRIPTION="An enhanced, drop-in replacement for MySQL" LICENSE="GPL-2 LGPL-2.1+" -SLOT="0/${SUBSLOT:-0}" +SLOT="10.4/${SUBSLOT:-0}" IUSE="+backup bindist cracklib debug extraengine galera innodb-lz4 innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx @@ -33,7 +33,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static ) ?? ( tcmalloc jemalloc ) static? ( yassl !pam )" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" # Shorten the path because the socket path length must be shorter than 107 chars # and we will run a mysql server during test phase @@ -93,6 +93,12 @@ DEPEND="static? ( sys-libs/ncurses[static-libs] ) ${COMMON_DEPEND}" RDEPEND="selinux? ( sec-policy/selinux-mysql ) !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + !dev-db/mariadb:0 + !dev-db/mariadb:5.5 + !dev-db/mariadb:10.1 + !dev-db/mariadb:10.2 + !dev-db/mariadb:10.3 + !dev-db/mariadb:10.5 !<virtual/mysql-5.6-r11 !<virtual/libmysqlclient-18-r1 ${COMMON_DEPEND} @@ -116,8 +122,7 @@ RDEPEND="selinux? ( sec-policy/selinux-mysql ) " # For other stuff to bring us in # dev-perl/DBD-mysql is needed by some scripts installed by MySQL -PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 ) - server? ( ~virtual/mysql-5.6[static=] )" +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" mysql_init_vars() { MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} diff --git a/dev-db/mariadb/mariadb-10.4.12.ebuild b/dev-db/mariadb/mariadb-10.4.14.ebuild index f413db7d47bc..2f7ec2673f4b 100644 --- a/dev-db/mariadb/mariadb-10.4.12.ebuild +++ b/dev-db/mariadb/mariadb-10.4.14.ebuild @@ -2,7 +2,6 @@ # Distributed under the terms of the GNU General Public License v2 EAPI="7" -MY_EXTRAS_VER="20200203-1749Z" SUBSLOT="18" JAVA_PKG_OPT_USE="jdbc" @@ -10,22 +9,16 @@ JAVA_PKG_OPT_USE="jdbc" inherit eutils systemd flag-o-matic prefix toolchain-funcs \ multiprocessing java-pkg-opt-2 cmake -SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz " +# Patch version +PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.4.14-patches-01.tar.xz" -# Gentoo patches to MySQL -if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then - SRC_URI="${SRC_URI} - mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" -fi +SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz + ${PATCH_SET}" HOMEPAGE="https://mariadb.org/" DESCRIPTION="An enhanced, drop-in replacement for MySQL" LICENSE="GPL-2 LGPL-2.1+" -SLOT="0/${SUBSLOT:-0}" +SLOT="10.4/${SUBSLOT:-0}" IUSE="+backup bindist cracklib debug extraengine galera innodb-lz4 innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx @@ -40,31 +33,12 @@ REQUIRED_USE="jdbc? ( extraengine server !static ) ?? ( tcmalloc jemalloc ) static? ( yassl !pam )" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" # Shorten the path because the socket path length must be shorter than 107 chars # and we will run a mysql server during test phase S="${WORKDIR}/mysql" -if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git" - EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras" - EGIT_CLONE_TYPE=shallow - MY_PATCH_DIR="${WORKDIR}/mysql-extras" -else - MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}" -fi - -PATCHES=( - "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch - "${MY_PATCH_DIR}"/20018_all_mariadb-10.4.5-without-clientlibs-tools.patch - "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch - "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch - "${MY_PATCH_DIR}"/20035_all_mariadb-10.3-atomic-detection.patch - "${MY_PATCH_DIR}"/20039_all_mariadb-binutil-libs-2.34.patch -) - # Be warned, *DEPEND are version-dependant # These are used for both runtime and compiletime COMMON_DEPEND=" @@ -119,6 +93,12 @@ DEPEND="static? ( sys-libs/ncurses[static-libs] ) ${COMMON_DEPEND}" RDEPEND="selinux? ( sec-policy/selinux-mysql ) !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + !dev-db/mariadb:0 + !dev-db/mariadb:5.5 + !dev-db/mariadb:10.1 + !dev-db/mariadb:10.2 + !dev-db/mariadb:10.3 + !dev-db/mariadb:10.5 !<virtual/mysql-5.6-r11 !<virtual/libmysqlclient-18-r1 ${COMMON_DEPEND} @@ -142,8 +122,7 @@ RDEPEND="selinux? ( sec-policy/selinux-mysql ) " # For other stuff to bring us in # dev-perl/DBD-mysql is needed by some scripts installed by MySQL -PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 ) - server? ( ~virtual/mysql-5.6[static=] )" +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" mysql_init_vars() { MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} @@ -238,13 +217,15 @@ pkg_setup() { src_unpack() { unpack ${A} - # Grab the patches - [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die } src_prepare() { + eapply "${WORKDIR}"/mariadb-patches + + eapply_user + _disable_plugin() { echo > "${S}/plugin/${1}/CMakeLists.txt" || die } @@ -302,11 +283,6 @@ src_prepare() { sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \ "${S}"/wsrep-lib/src/CMakeLists.txt || die - # Don't clash with dev-db/mysql-connector-c - sed -i -e 's/ my_print_defaults.1//' \ - -e 's/ perror.1//' \ - "${S}"/man/CMakeLists.txt || die - # Fix galera_recovery.sh script sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \ scripts/galera_recovery.sh || die @@ -602,6 +578,7 @@ src_test() { disabled_tests+=( "main.stat_tables;0;Sporadically failing test" ) disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" ) disabled_tests+=( "mariabackup.*;0;Broken test suite" ) + disabled_tests+=( "perfschema.nesting;23458;Known to be broken" ) disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" ) disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" ) disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" ) @@ -929,15 +906,16 @@ pkg_config() { read -rsp " >" pwd1 ; echo if [[ -n "${pwd1}" ]] ; then - einfo "Retype the password" read -rsp " >" pwd2 ; echo if [[ "x$pwd1" != "x$pwd2" ]] ; then die "Passwords are not the same" fi + MYSQL_ROOT_PASSWORD="${pwd1}" fi + unset pwd1 pwd2 fi @@ -989,7 +967,7 @@ pkg_config() { fi popd &>/dev/null || die [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \ - || die "MySQL databases not installed" + || die "MySQL databases not installed" if [[ -z ${sqltmp} && -z ${MYSQL_ROOT_PASSWORD} ]] ; then einfo "Done" @@ -1022,8 +1000,9 @@ pkg_config() { done eend $rc - [[ -S "${socket}" ]] || + if ! [[ -S "${socket}" ]]; then die "Completely failed to start up mysqld with: ${mysqld}" + fi if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then ebegin "Setting root password" diff --git a/dev-db/mariadb/mariadb-10.5.5.ebuild b/dev-db/mariadb/mariadb-10.5.5.ebuild new file mode 100644 index 000000000000..a7ee7f47d3ed --- /dev/null +++ b/dev-db/mariadb/mariadb-10.5.5.ebuild @@ -0,0 +1,1051 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" +SUBSLOT="18" + +JAVA_PKG_OPT_USE="jdbc" + +inherit eutils systemd flag-o-matic prefix toolchain-funcs \ + multiprocessing java-pkg-opt-2 cmake + +# Patch version +PATCH_SET="https://dev.gentoo.org/~whissi/dist/${PN}/${PN}-10.5.5-patches-02.tar.xz" + +SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz + ${PATCH_SET}" + +HOMEPAGE="https://mariadb.org/" +DESCRIPTION="An enhanced, drop-in replacement for MySQL" +LICENSE="GPL-2 LGPL-2.1+" +SLOT="10.5/${SUBSLOT:-0}" +IUSE="+backup bindist columnstore cracklib debug extraengine galera innodb-lz4 + innodb-lzo innodb-snappy jdbc jemalloc kerberos latin1 libressl mroonga + numa odbc oqgraph pam +perl profiling rocksdb selinux +server sphinx + sst-rsync sst-mariabackup static systemd systemtap s3 tcmalloc + test tokudb xml yassl" + +# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests +RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )" + +REQUIRED_USE="jdbc? ( extraengine server !static ) + server? ( tokudb? ( jemalloc !tcmalloc ) ) + ?? ( tcmalloc jemalloc ) + static? ( yassl !pam )" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" + +# Shorten the path because the socket path length must be shorter than 107 chars +# and we will run a mysql server during test phase +S="${WORKDIR}/mysql" + +# Be warned, *DEPEND are version-dependant +# These are used for both runtime and compiletime +COMMON_DEPEND=" + >=dev-libs/libpcre-8.41-r1:3= + >=sys-apps/sed-4 + >=sys-apps/texinfo-4.7-r1 + sys-libs/ncurses:0= + >=sys-libs/zlib-1.2.3:0= + !bindist? ( + sys-libs/binutils-libs:0= + >=sys-libs/readline-4.1:0= + ) + jemalloc? ( dev-libs/jemalloc:0= ) + kerberos? ( virtual/krb5 ) + kernel_linux? ( + sys-process/procps:0= + dev-libs/libaio:0= + ) + server? ( + app-arch/bzip2 + app-arch/xz-utils + backup? ( app-arch/libarchive:0= ) + columnstore? ( + app-arch/snappy + dev-libs/boost:0= + dev-libs/libxml2:2= + ) + cracklib? ( sys-libs/cracklib:0= ) + extraengine? ( + odbc? ( dev-db/unixODBC:0= ) + xml? ( dev-libs/libxml2:2= ) + ) + innodb-lz4? ( app-arch/lz4 ) + innodb-lzo? ( dev-libs/lzo ) + innodb-snappy? ( app-arch/snappy ) + mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) + numa? ( sys-process/numactl ) + oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) + pam? ( sys-libs/pam:0= ) + s3? ( net-misc/curl ) + systemd? ( sys-apps/systemd:= ) + tokudb? ( app-arch/snappy ) + ) + systemtap? ( >=dev-util/systemtap-1.3:0= ) + tcmalloc? ( dev-util/google-perftools:0= ) + yassl? ( net-libs/gnutls:0= ) + !yassl? ( + !libressl? ( >=dev-libs/openssl-1.0.0:0= ) + libressl? ( dev-libs/libressl:0= ) + ) +" +BDEPEND="virtual/yacc + || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) +" +DEPEND="${COMMON_DEPEND} + server? ( + extraengine? ( jdbc? ( >=virtual/jdk-1.6 ) ) + test? ( acct-group/mysql acct-user/mysql ) + ) + static? ( sys-libs/ncurses[static-libs] ) +" +RDEPEND="${COMMON_DEPEND} + !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + !dev-db/mariadb:0 + !dev-db/mariadb:5.5 + !dev-db/mariadb:10.1 + !dev-db/mariadb:10.2 + !dev-db/mariadb:10.3 + !dev-db/mariadb:10.4 + !<virtual/mysql-5.6-r11 + !<virtual/libmysqlclient-18-r1 + selinux? ( sec-policy/selinux-mysql ) + server? ( + columnstore? ( dev-db/mariadb-connector-c ) + extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) + galera? ( + sys-apps/iproute2 + =sys-cluster/galera-26* + sst-rsync? ( sys-process/lsof ) + sst-mariabackup? ( net-misc/socat[ssl] ) + ) + !prefix? ( dev-db/mysql-init-scripts acct-group/mysql acct-user/mysql ) + ) + perl? ( + !dev-db/mytop + virtual/perl-Getopt-Long + dev-perl/TermReadKey + virtual/perl-Term-ANSIColor + virtual/perl-Time-HiRes + ) +" +# For other stuff to bring us in +# dev-perl/DBD-mysql is needed by some scripts installed by MySQL +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" + +mysql_init_vars() { + MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} + MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} + MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} + MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"} + + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="" + if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then + MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1) + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR=$(grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ + | sed -e 's/.*=\s*//' \ + | tail -n1) + fi + fi + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="${MY_LOCALSTATEDIR}" + einfo "Using default MY_DATADIR" + fi + elog "MySQL MY_DATADIR is ${MY_DATADIR}" + + if [[ -z "${PREVIOUS_DATADIR}" ]] ; then + if [[ -e "${MY_DATADIR}" ]] ; then + # If you get this and you're wondering about it, see bug #207636 + elog "MySQL datadir found in ${MY_DATADIR}" + elog "A new one will not be created." + PREVIOUS_DATADIR="yes" + else + PREVIOUS_DATADIR="no" + fi + export PREVIOUS_DATADIR + fi + else + if [[ ${EBUILD_PHASE} == "config" ]]; then + local new_MY_DATADIR + new_MY_DATADIR=$(my_print_defaults mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1) + + if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then + ewarn "MySQL MY_DATADIR has changed" + ewarn "from ${MY_DATADIR}" + ewarn "to ${new_MY_DATADIR}" + MY_DATADIR="${new_MY_DATADIR}" + fi + fi + fi + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + local GCC_MAJOR_SET=$(gcc-major-version) + local GCC_MINOR_SET=$(gcc-minor-version) + + if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} with tokudb needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die + fi + + # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on + # non x86{,_64} arches + if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die + fi + + if has test ${FEATURES} ; then + # Bug #213475 - MySQL _will_ object strenuously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if ! has userpriv ${FEATURES} ; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + fi + fi + + java-pkg-opt-2_pkg_setup +} + +src_unpack() { + unpack ${A} + + mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die +} + +src_prepare() { + eapply "${WORKDIR}"/mariadb-patches + + eapply_user + + _disable_plugin() { + echo > "${S}/plugin/${1}/CMakeLists.txt" || die + } + _disable_engine() { + echo > "${S}/storage/${1}/CMakeLists.txt" || die + } + + if use jemalloc; then + echo "TARGET_LINK_LIBRARIES(mariadbd jemalloc)" >> "${S}/sql/CMakeLists.txt" + elif use tcmalloc; then + echo "TARGET_LINK_LIBRARIES(mariadbd tcmalloc)" >> "${S}/sql/CMakeLists.txt" + fi + + # Don't build bundled xz-utils for tokudb + echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die + sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die + sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die + + local plugin + local server_plugins=( handler_socket auth_socket feedback metadata_lock_info + locale_info qc_info server_audit sql_errlog auth_ed25519 ) + local test_plugins=( audit_null auth_examples daemon_example fulltext + debug_key_management example_key_management versioning ) + if ! use server; then # These plugins are for the server + for plugin in "${server_plugins[@]}" ; do + _disable_plugin "${plugin}" + done + fi + + if ! use test; then # These plugins are only used during testing + for plugin in "${test_plugins[@]}" ; do + _disable_plugin "${plugin}" + done + _disable_engine test_sql_discovery + echo > "${S}/plugin/auth_pam/testing/CMakeLists.txt" || die + fi + + _disable_engine example + + if ! use oqgraph ; then # avoids extra library checks + _disable_engine oqgraph + fi + + if use mroonga ; then + # Remove the bundled groonga + # There is no CMake flag, it simply checks for existance + rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga" + else + _disable_engine mroonga + fi + + # Fix static bindings in galera replication + sed -i -e 's~add_library(wsrep_api_v26$~add_library(wsrep_api_v26 STATIC~' \ + "${S}"/wsrep-lib/wsrep-API/CMakeLists.txt || die + sed -i -e 's~add_library(wsrep-lib$~add_library(wsrep-lib STATIC~' \ + "${S}"/wsrep-lib/src/CMakeLists.txt || die + + # Fix galera_recovery.sh script + sed -i -e "s~@bindir@/my_print_defaults~${EPREFIX}/usr/libexec/mariadb/my_print_defaults~" \ + scripts/galera_recovery.sh || die + + sed -i -e 's~ \$basedir/lib/\*/mariadb19/plugin~~' \ + "${S}"/scripts/mysql_install_db.sh || die + + cmake_src_prepare + java-pkg-opt-2_src_prepare +} + +src_configure() { + # bug 508724 mariadb cannot use ld.gold + tc-ld-disable-gold + # Bug #114895, bug #110149 + filter-flags "-O" "-O[01]" + + # It fails on alpha without this + use alpha && append-ldflags "-Wl,--no-relax" + + append-cxxflags -felide-constructors + + # bug #283926, with GCC4.4, this is required to get correct behavior. + append-flags -fno-strict-aliasing + + CMAKE_BUILD_TYPE="RelWithDebInfo" + + # debug hack wrt #497532 + mycmakeargs=( + -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" + -DSYSCONFDIR="${EPREFIX}/etc/mysql" + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLSHAREDIR=share/mariadb + -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin + -DINSTALL_SCRIPTDIR=share/mariadb/scripts + -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb" + -DWITH_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + -DWITH_LIBEDIT=0 + -DWITH_ZLIB=system + -DWITHOUT_LIBWRAP=1 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DWITH_DEFAULT_FEATURE_SET=0 + -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)" + # The build forces this to be defined when cross-compiling. We pass it + # all the time for simplicity and to make sure it is actually correct. + -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) + -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)" + -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) + -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF) + -DCONC_WITH_EXTERNAL_ZLIB=YES + -DWITH_EXTERNAL_ZLIB=YES + -DSUFFIX_INSTALL_DIR="" + -DWITH_UNITTEST=OFF + -DWITHOUT_CLIENTLIBS=YES + -DCLIENT_PLUGIN_DIALOG=OFF + -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF + -DCLIENT_PLUGIN_CLIENT_ED25519=OFF + -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC + -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=OFF + ) + if use test ; then + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test ) + else + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) + fi + + if ! use yassl ; then + mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC ) + else + mycmakeargs+=( -DWITH_SSL=bundled ) + fi + + # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION + mycmakeargs+=( + -DWITH_READLINE=$(usex bindist 1 0) + -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1) + -DENABLE_DTRACE=$(usex systemtap) + ) + + if use server ; then + + # Federated{,X} must be treated special otherwise they will not be built as plugins + if ! use extraengine ; then + mycmakeargs+=( + -DPLUGIN_FEDERATED=NO + -DPLUGIN_FEDERATEDX=NO + ) + fi + + mycmakeargs+=( + -DWITH_PCRE=system + -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO) + -DPLUGIN_SPHINX=$(usex sphinx YES NO) + -DPLUGIN_TOKUDB=$(usex tokudb YES NO) + -DPLUGIN_AUTH_PAM=$(usex pam YES NO) + -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO) + -DPLUGIN_CASSANDRA=NO + -DPLUGIN_SEQUENCE=$(usex extraengine YES NO) + -DPLUGIN_SPIDER=$(usex extraengine YES NO) + -DPLUGIN_S3=$(usex s3 YES NO) + -DPLUGIN_COLUMNSTORE=$(usex columnstore YES NO) + -DPLUGIN_CONNECT=$(usex extraengine YES NO) + -DCONNECT_WITH_MYSQL=1 + -DCONNECT_WITH_LIBXML2=$(usex xml) + -DCONNECT_WITH_ODBC=$(usex odbc) + -DCONNECT_WITH_JDBC=$(usex jdbc) + # Build failure and autodep wrt bug 639144 + -DCONNECT_WITH_MONGO=OFF + -DWITH_WSREP=$(usex galera) + -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF) + -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF) + -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF) + -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO) + -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) + -DWITH_MARIABACKUP=$(usex backup ON OFF) + -DWITH_LIBARCHIVE=$(usex backup ON OFF) + -DINSTALL_SQLBENCHDIR="" + -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO) + # systemd is only linked to for server notification + -DWITH_SYSTEMD=$(usex systemd yes no) + -DWITH_NUMA=$(usex numa ON OFF) + ) + + # Workaround for MDEV-14524 + use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 ) + + if use test ; then + # This is needed for the new client lib which tests a real, open server + mycmakeargs+=( -DSKIP_TESTS=ON ) + fi + + if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then + ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" + ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." + ewarn "You MUST file bugs without these variables set." + + mycmakeargs+=( + -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} + -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} + ) + + elif ! use latin1 ; then + mycmakeargs+=( + -DDEFAULT_CHARSET=utf8 + -DDEFAULT_COLLATION=utf8_general_ci + ) + else + mycmakeargs+=( + -DDEFAULT_CHARSET=latin1 + -DDEFAULT_COLLATION=latin1_swedish_ci + ) + fi + mycmakeargs+=( + -DEXTRA_CHARSETS=all + -DMYSQL_USER=mysql + -DDISABLE_SHARED=$(usex static YES NO) + -DWITH_DEBUG=$(usex debug) + -DWITH_EMBEDDED_SERVER=OFF + -DWITH_PROFILING=$(usex profiling) + ) + + if use static; then + mycmakeargs+=( -DWITH_PIC=1 ) + fi + + if use jemalloc || use tcmalloc ; then + mycmakeargs+=( -DWITH_SAFEMALLOC=OFF ) + fi + + # Storage engines + mycmakeargs+=( + -DWITH_ARCHIVE_STORAGE_ENGINE=1 + -DWITH_BLACKHOLE_STORAGE_ENGINE=1 + -DWITH_CSV_STORAGE_ENGINE=1 + -DWITH_HEAP_STORAGE_ENGINE=1 + -DWITH_INNOBASE_STORAGE_ENGINE=1 + -DWITH_MYISAMMRG_STORAGE_ENGINE=1 + -DWITH_MYISAM_STORAGE_ENGINE=1 + -DWITH_PARTITION_STORAGE_ENGINE=1 + ) + + else + mycmakeargs+=( + -DWITHOUT_SERVER=1 + -DWITH_EMBEDDED_SERVER=OFF + -DEXTRA_CHARSETS=none + -DINSTALL_SQLBENCHDIR= + -DWITH_SYSTEMD=no + ) + fi + + cmake_src_configure +} + +src_compile() { + cmake_src_compile +} + +# Official test instructions: +# USE='extraengine perl server' \ +# FEATURES='test userpriv' \ +# ebuild mariadb-X.X.XX.ebuild \ +# digest clean package +src_test() { + _disable_test() { + local rawtestname bug reason + rawtestname="${1}" ; shift + bug="${1}" ; shift + reason="${@}" + ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})" + echo "${rawtestname} : BUG#${bug} ${reason}" >> "${T}/disabled.def" + } + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + if ! use server ; then + einfo "Skipping server tests due to minimal build." + return 0 + fi + + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" + + # Run CTest (test-units) + cmake_src_test + retstatus_unit=$? + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + + if [[ -z "${MTR_PARALLEL}" ]] ; then + local -x MTR_PARALLEL=$(makeopts_jobs) + + if [[ ${MTR_PARALLEL} -gt 4 ]] ; then + # Running multiple tests in parallel usually require higher ulimit + # and fs.aio-max-nr setting. In addition, tests like main.multi_update + # are known to hit timeout when system is busy. + # To avoid test failure we will limit MTR_PARALLEL to 4 instead of + # using "auto". + local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})" + info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!" + einfo "${info_msg}" + unset info_msg + MTR_PARALLEL=4 + fi + else + einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'" + fi + + # Try to increase file limits to increase test coverage + if ! ulimit -n 16500 1>/dev/null 2>&1 ; then + # Upper limit comes from parts.partition_* tests + ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager." + + if ! ulimit -n 4162 1>/dev/null 2>&1 ; then + # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)' + ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager." + + if ! ulimit -n 3000 1>/dev/null 2>&1 ; then + ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager." + else + einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 4162 (medium test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 16500 (best test coverage)." + fi + + # create directories because mysqladmin might run out of order + mkdir -p "${T}"/var-tests{,/log} || die + + cp "${S}"/mysql-test/unstable-tests "${T}/disabled.def" || die + + local -a disabled_tests + disabled_tests+=( "compat/oracle.plugin;0;Needs example plugin which Gentoo disables" ) + disabled_tests+=( "main.explain_non_select;0;Sporadically failing test" ) + disabled_tests+=( "main.func_time;0;Dependent on time test was written" ) + disabled_tests+=( "main.plugin_auth;0;Needs client libraries built" ) + disabled_tests+=( "main.stat_tables;0;Sporadically failing test" ) + disabled_tests+=( "main.stat_tables_innodb;0;Sporadically failing test" ) + disabled_tests+=( "mariabackup.*;0;Broken test suite" ) + disabled_tests+=( "perfschema.nesting;23458;Known to be broken" ) + disabled_tests+=( "plugins.auth_ed25519;0;Needs client libraries built" ) + disabled_tests+=( "plugins.cracklib_password_check;0;False positive due to varying policies" ) + disabled_tests+=( "plugins.two_password_validations;0;False positive due to varying policies" ) + disabled_tests+=( "roles.acl_statistics;0;False positive due to a user count mismatch caused by previous test" ) + + if ! use latin1 ; then + disabled_tests+=( "funcs_1.is_columns_mysql;0;Requires USE=latin1" ) + disabled_tests+=( "main.information_schema;0;Requires USE=latin1" ) + disabled_tests+=( "main.system_mysql_db;0;Requires USE=latin1" ) + fi + + local test_infos_str test_infos_arr + for test_infos_str in "${disabled_tests[@]}" ; do + IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}" + + if [[ ${#test_infos_arr[@]} != 3 ]] ; then + die "Invalid test data set, not matching format: ${test_infos_str}" + fi + + _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}" + done + unset test_infos_str test_infos_arr + + # run mysql-test tests + pushd "${TESTDIR}" &>/dev/null || die + perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" + retstatus_tests=$? + + popd &>/dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + local failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" +} + +src_install() { + cmake_src_install + + # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used + if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then + rm "${ED}/usr/include/mysql/server/private/config.h" || die + fi + + # Make sure the vars are correctly initialized + mysql_init_vars + + # Convenience links + einfo "Making Convenience links for mysqlcheck multi-call binary" + dosym "mysqlcheck" "/usr/bin/mysqlanalyze" + dosym "mysqlcheck" "/usr/bin/mysqlrepair" + dosym "mysqlcheck" "/usr/bin/mysqloptimize" + + # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir + if [[ -d "${ED}/usr/data" ]] ; then + rm -Rf "${ED}/usr/data" || die + fi + + # Unless they explicitly specific USE=test, then do not install the + # testsuite. It DOES have a use to be installed, esp. when you want to do a + # validation of your database configuration after tuning it. + if ! use test ; then + rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" + fi + + # Configuration stuff + einfo "Building default configuration ..." + insinto "${MY_SYSCONFDIR#${EPREFIX}}" + [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf + cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die + eprefixify "${TMPDIR}/my.cnf" + doins "${TMPDIR}/my.cnf" + insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d" + cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die + eprefixify "${TMPDIR}/50-distro-client.cnf" + doins "${TMPDIR}/50-distro-client.cnf" + + if use server ; then + mycnf_src="my.cnf.distro-server" + sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ + "${FILESDIR}/${mycnf_src}" \ + > "${TMPDIR}/my.cnf.ok" || die + if use prefix ; then + sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ + "${TMPDIR}/my.cnf.ok" || die + fi + if use latin1 ; then + sed -i \ + -e "/character-set/s|utf8|latin1|g" \ + "${TMPDIR}/my.cnf.ok" || die + fi + eprefixify "${TMPDIR}/my.cnf.ok" + newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf + + einfo "Including support files and sample configurations" + docinto "support-files" + local script + for script in \ + "${S}"/support-files/magic + do + [[ -f "$script" ]] && dodoc "${script}" + done + + docinto "scripts" + for script in "${S}"/scripts/mysql* ; do + [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}" + done + # Manually install supporting files that conflict with other packages + # but are needed for galera and initial installation + exeinto /usr/libexec/mariadb + doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror" + + if use pam ; then + keepdir /usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir + fi + fi + + # Remove mytop if perl is not selected + if [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl ; then + rm -f "${ED}/usr/bin/mytop" || die + fi + + # Fix a dangling symlink when galera is not built + if [[ -L "${ED}/usr/bin/wsrep_sst_rsync_wan" ]] && ! use galera ; then + rm "${ED}/usr/bin/wsrep_sst_rsync_wan" || die + fi + + # Remove broken SST scripts that are incompatible + local scriptremove + for scriptremove in wsrep_sst_xtrabackup wsrep_sst_xtrabackup-v2 ; do + if [[ -e "${ED}/usr/bin/${scriptremove}" ]] ; then + rm "${ED}/usr/bin/${scriptremove}" || die + fi + done +} + +pkg_preinst() { + java-pkg-opt-2_pkg_preinst +} + +pkg_postinst() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Create log directory securely if it does not exist + [[ -d "${ROOT}/${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}/${MY_LOGDIR}" + + if use server ; then + if use pam; then + einfo + elog "This install includes the PAM authentication plugin." + elog "To activate and configure the PAM plugin, please read:" + elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/" + einfo + chown mysql:mysql "${EROOT}/usr/$(get_libdir)/mariadb/plugin/auth_pam_tool_dir" || die + fi + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + einfo + elog "You might want to run:" + elog "\"emerge --config =${CATEGORY}/${PF}\"" + elog "if this is a new install." + elog + elog "If you are switching server implentations, you should run the" + elog "mysql_upgrade tool." + einfo + else + einfo + elog "If you are upgrading major versions, you should run the" + elog "mysql_upgrade tool." + einfo + fi + + if use galera ; then + einfo + elog "Be sure to edit the my.cnf file to activate your cluster settings." + elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\"" + elog "The first time the cluster is activated, you should add" + elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node." + elog "This option should then be removed for subsequent starts." + einfo + if [[ -n "${REPLACING_VERSIONS}" ]] ; then + local rver + for rver in ${REPLACING_VERSIONS} ; do + if ver_test "${rver}" -lt "10.4.0" ; then + ewarn "Upgrading galera from a previous version requires admin restart of the entire cluster." + ewarn "Please refer to https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-104/#galera-4" + ewarn "for more information" + fi + done + fi + fi + fi + + # Note about configuration change + einfo + elog "This version of mariadb reorganizes the configuration from a single my.cnf" + elog "to several files in /etc/mysql/${PN}.d." + elog "Please backup any changes you made to /etc/mysql/my.cnf" + elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension." + elog "You may have as many files as needed and they are read alphabetically." + elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." + einfo +} + +pkg_config() { + _getoptval() { + local mypd="${EROOT}"/usr/libexec/mariadb/my_print_defaults + local section="$1" + local flag="--${2}=" + local extra_options="${3}" + "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp" + } + local old_MY_DATADIR="${MY_DATADIR}" + local old_HOME="${HOME}" + # my_print_defaults needs to read stuff in $HOME/.my.cnf + export HOME=${EPREFIX}/root + + # Make sure the vars are correctly initialized + mysql_init_vars + + [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" + if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then + die "Minimal builds do NOT include the MySQL server" + fi + + if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then + local MY_DATADIR_s="${ROOT}/${MY_DATADIR}" + MY_DATADIR_s="${MY_DATADIR_s%%/}" + local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}" + old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}" + + if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then + if [[ -d "${MY_DATADIR_s}" ]]; then + ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist" + ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}" + else + elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}" + mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \ + || die "Moving MY_DATADIR failed" + fi + else + ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist" + if [[ -d "${MY_DATADIR_s}" ]]; then + ewarn "Attempting to use ${MY_DATADIR_s}" + else + eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist" + die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}" + fi + fi + fi + + local pwd1="a" + local pwd2="b" + local maxtry=15 + + if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then + local tmp_mysqld_password_source= + + for tmp_mysqld_password_source in mysql client; do + einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" + if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then + if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then + ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" + MYSQL_ROOT_PASSWORD= + continue + fi + + einfo "Found password in '${tmp_mysqld_password_source}' section!" + break + fi + done + + # Sometimes --show is required to display passwords in some implementations of my_print_defaults + if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" + fi + + unset tmp_mysqld_password_source + fi + MYSQL_TMPDIR="$(_getoptval mysqld tmpdir | tail -n1)" + # These are dir+prefix + MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n1)" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n1)" + MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} + + if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then + einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" + install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR" + fi + if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then + einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" + install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN" + fi + if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then + einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" + install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG" + fi + + if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then + ewarn "You have already a MySQL database in place." + ewarn "(${ROOT}/${MY_DATADIR}/*)" + ewarn "Please rename or delete it if you wish to replace it." + die "MySQL database already exists!" + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]]; then + + einfo "Please provide a password for the mysql 'root'@'localhost' user now" + einfo "or through the ${HOME}/.my.cnf file." + ewarn "Avoid [\"'\\_%] characters in the password" + einfo "Not entering a password defaults to UNIX authentication" + read -rsp " >" pwd1 ; echo + + if [[ -n "${pwd1}" ]] ; then + einfo "Retype the password" + read -rsp " >" pwd2 ; echo + + if [[ "x$pwd1" != "x$pwd2" ]] ; then + die "Passwords are not the same" + fi + + MYSQL_ROOT_PASSWORD="${pwd1}" + fi + + unset pwd1 pwd2 + fi + + local options + local sqltmp="$(emktemp)" + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see https://bugs.mysql.com/bug.php?id=31312 + use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" + + # Figure out which options we need to disable to do the setup + local helpfile="${TMPDIR}/mysqld-help" + "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null + for opt in host-cache name-resolve networking slave-start \ + federated ssl log-bin relay-log slow-query-log external-locking \ + log-slave-updates \ + ; do + optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" + egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" + done + + einfo "Creating the mysql database and setting proper permissions on it ..." + + # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it + PID_DIR="${EROOT}/var/run/mysqld" + if [[ ! -d "${PID_DIR}" ]]; then + install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" + fi + + if [[ ! -d "${MY_DATADIR}" ]]; then + install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory" + fi + + pushd "${TMPDIR}" &>/dev/null || die + + # Filling timezones, see + # https://dev.mysql.com/doc/mysql/en/time-zone-support.html + "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null + + local cmd=( "${EROOT}/usr/share/mariadb/scripts/mysql_install_db" ) + [[ -f "${cmd}" ]] || cmd=( "${EROOT}/usr/bin/mysql_install_db" ) + cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" ) + einfo "Command: ${cmd[*]}" + su -s /bin/sh -c "${cmd[*]}" mysql \ + >"${TMPDIR}"/mysql_install_db.log 2>&1 + if [[ $? -ne 0 ]]; then + grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2 + die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log" + fi + popd &>/dev/null || die + [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \ + || die "MySQL databases not installed" + + if [[ -z ${sqltmp} && -z ${MYSQL_ROOT_PASSWORD} ]] ; then + einfo "Done" + exit 0 + fi + + use prefix || options="${options} --user=mysql" + + local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock" + local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid" + local mysqld="${EROOT}/usr/sbin/mysqld \ + ${options} \ + --log-warnings=0 \ + --basedir=${EROOT}/usr \ + --datadir=${ROOT}/${MY_DATADIR} \ + --max_allowed_packet=8M \ + --net_buffer_length=16K \ + --socket=${socket} \ + --pid-file=${pidfile} \ + --tmpdir=${ROOT}/${MYSQL_TMPDIR}" + #einfo "About to start mysqld: ${mysqld}" + ebegin "Starting mysqld" + einfo "Command ${mysqld}" + ${mysqld} & + rc=$? + while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + eend $rc + + if ! [[ -S "${socket}" ]]; then + die "Completely failed to start up mysqld with: ${mysqld}" + fi + + if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then + ebegin "Setting root password" + # Do this from memory, as we don't want clear text passwords in temp files + local sql="SET PASSWORD FOR 'root'@'localhost' = PASSWORD('${MYSQL_ROOT_PASSWORD}')" + "${EROOT}/usr/bin/mysql" \ + "--socket=${socket}" \ + -hlocalhost \ + -e "${sql}" + unset sql + eend $? + fi + + if [[ -n "${sqltmp}" ]] ; then + ebegin "Loading \"zoneinfo\", this step may require a few seconds" + "${EROOT}/usr/bin/mysql" \ + "--socket=${socket}" \ + -hlocalhost \ + -uroot \ + --password="${MYSQL_ROOT_PASSWORD}" \ + mysql < "${sqltmp}" + rc=$? + eend $? + [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!" + fi + + # Stop the server and cleanup + einfo "Stopping the server ..." + kill $(< "${pidfile}" ) + rm -f "${sqltmp}" + wait %1 + einfo "Done" +} diff --git a/dev-db/mariadb/mariadb-5.5.66.ebuild b/dev-db/mariadb/mariadb-5.5.66.ebuild deleted file mode 100644 index 4e6a03430f24..000000000000 --- a/dev-db/mariadb/mariadb-5.5.66.ebuild +++ /dev/null @@ -1,835 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" -MY_EXTRAS_VER="20180809-1700Z" -SUBSLOT="18" - -# Keeping eutils in EAPI=6 for emktemp in pkg_config - -inherit eutils flag-o-matic prefix toolchain-funcs user cmake-utils multilib-build - -SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz " - -# Gentoo patches to MySQL -if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then - SRC_URI="${SRC_URI} - mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" -fi - -HOMEPAGE="https://mariadb.org/" -DESCRIPTION="An enhanced, drop-in replacement for MySQL" -LICENSE="GPL-2" -SLOT="0/${SUBSLOT:-0}" -IUSE="bindist client-libs debug extraengine jemalloc latin1 libressl - oqgraph pam +perl profiling selinux +server sphinx - static static-libs systemtap tcmalloc - test tokudb yassl" - -# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests -RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )" - -REQUIRED_USE="server? ( tokudb? ( jemalloc !tcmalloc ) ) - ?? ( tcmalloc jemalloc ) - static? ( yassl !pam )" - -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" - -# Shorten the path because the socket path length must be shorter than 107 chars -# and we will run a mysql server during test phase -S="${WORKDIR}/mysql" - -if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then - MY_PATCH_DIR="${WORKDIR%/}/mysql-extras" - inherit git-r3 - EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git" - EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras" - EGIT_CLONE_TYPE=shallow -else - MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}" -fi - -PATCHES=( - "${MY_PATCH_DIR}/01050_all_mariadb_mysql_config_cleanup-5.5.41.patch" - "${MY_PATCH_DIR}/20004_all_mariadb-filter-tokudb-flags.patch" - "${MY_PATCH_DIR}/20006_all_cmake_elib-mariadb-5.5.50.patch" - "${MY_PATCH_DIR}/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch" - "${MY_PATCH_DIR}/20018_all_mariadb-5.5.60-without-clientlibs-tools.patch" -) - -# Be warned, *DEPEND are version-dependant -# These are used for both runtime and compiletime -COMMON_DEPEND=" - kernel_linux? ( - sys-process/procps:0= - dev-libs/libaio:0= - ) - >=sys-apps/sed-4 - >=sys-apps/texinfo-4.7-r1 - jemalloc? ( dev-libs/jemalloc:0= ) - tcmalloc? ( dev-util/google-perftools:0= ) - systemtap? ( >=dev-util/systemtap-1.3:0= ) - !yassl? ( - !libressl? ( <dev-libs/openssl-1.1.0:0= ) - libressl? ( dev-libs/libressl:0= ) - ) - >=sys-libs/zlib-1.2.3:0= - sys-libs/ncurses:0= - !bindist? ( - >=sys-libs/readline-4.1:0= - ) - server? ( - oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) - pam? ( sys-libs/pam:0= ) - ) - !client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] ) -" -DEPEND="virtual/yacc - static? ( sys-libs/ncurses[static-libs] ) - || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) - ${COMMON_DEPEND}" -RDEPEND="selinux? ( sec-policy/selinux-mysql ) - client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c ) - !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster - server? ( !prefix? ( dev-db/mysql-init-scripts ) ) - ${COMMON_DEPEND} - perl? ( !dev-db/mytop - virtual/perl-Getopt-Long - dev-perl/TermReadKey - virtual/perl-Term-ANSIColor - virtual/perl-Time-HiRes ) -" -# For other stuff to bring us in -# dev-perl/DBD-mysql is needed by some scripts installed by MySQL -PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - local GCC_MAJOR_SET=$(gcc-major-version) - local GCC_MINOR_SET=$(gcc-minor-version) - if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \ - ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then - eerror "${PN} with tokudb needs to be built with gcc-4.7 or later." - eerror "Please use gcc-config to switch to gcc-4.7 or later version." - die - fi - # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on - # non x86{,_64} arches - if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ - ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then - eerror "${PN} needs to be built with gcc-4.7 or later." - eerror "Please use gcc-config to switch to gcc-4.7 or later version." - die - fi - fi - if has test ${FEATURES} && \ - use server && ! has userpriv ${FEATURES} ; then - eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." - fi - - # This should come after all of the die statements - enewgroup mysql 60 || die "problem adding 'mysql' group" - enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user" -} - -pkg_postinst() { - # Make sure the vars are correctly initialized - mysql_init_vars - - # Create log directory securely if it does not exist - [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" - - if use server ; then - if use pam; then - einfo - elog "This install includes the PAM authentication plugin." - elog "To activate and configure the PAM plugin, please read:" - elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/" - einfo - fi - - if [[ -z "${REPLACING_VERSIONS}" ]] ; then - einfo - elog "You might want to run:" - elog "\"emerge --config =${CATEGORY}/${PF}\"" - elog "if this is a new install." - elog - elog "If you are switching server implentations, you should run the" - elog "mysql_upgrade tool." - einfo - else - einfo - elog "If you are upgrading major versions, you should run the" - elog "mysql_upgrade tool." - einfo - fi - - einfo - elog "Be sure to edit the my.cnf file to activate your cluster settings." - elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\"" - elog "The first time the cluster is activated, you should add" - elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node." - elog "This option should then be removed for subsequent starts." - einfo - fi -} - -src_unpack() { - unpack ${A} - # Grab the patches - [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack - - mv -f "${WORKDIR%/}/${P}" "${S}" || die -} - -src_prepare() { - _disable_engine() { - echo > "${S%/}/storage/${1}/CMakeLists.txt" || die - } - - _disable_plugin() { - echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die - } - - if use tcmalloc; then - echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S%/}/sql/CMakeLists.txt" || die - fi - - # Don't build bundled xz-utils for tokudb - echo > "${S%/}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" || die - sed -i -e 's/ build_lzma//' "${S%/}/storage/tokudb/ft-index/ft/CMakeLists.txt" || die - sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S%/}/storage/tokudb/ft-index/portability/CMakeLists.txt" || die - - local plugin - local server_plugins=( handler_socket auth_socket feedback qc_info server_audit semisync sql_errlog ) - local test_plugins=( audit_null auth_examples daemon_example fulltext ) - if ! use server; then # These plugins are for the server - for plugin in "${server_plugins[@]}" ; do - _disable_plugin "${plugin}" - done - fi - - if ! use test; then # These plugins are only used during testing - for plugin in "${test_plugins[@]}" ; do - _disable_plugin "${plugin}" - done - fi - - # Collides with mariadb-connector-c bug 655980 - _disable_plugin auth_dialog - - # Don't build example - _disable_engine example - - if ! use oqgraph ; then # avoids extra library checks - _disable_engine oqgraph - fi - - # Don't clash with dev-db/mysql-connector-c - sed -i -e 's/ my_print_defaults.1//' \ - -e 's/ perror.1//' \ - "${S}"/man/CMakeLists.txt || die - - cmake-utils_src_prepare -} - -src_configure() { - # bug 508724 mariadb cannot use ld.gold - tc-ld-disable-gold - # Bug #114895, bug #110149 - filter-flags "-O" "-O[01]" - - append-cxxflags -felide-constructors - - # bug #283926, with GCC4.4, this is required to get correct behavior. - append-flags -fno-strict-aliasing - - CMAKE_BUILD_TYPE="RelWithDebInfo" - - # debug hack wrt #497532 - mycmakeargs=( - -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" - -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" - -DDEFAULT_SYSCONFDIR="${EPREFIX}/etc/mysql" - -DINSTALL_BINDIR=bin - -DINSTALL_DOCDIR=share/doc/${PF} - -DINSTALL_DOCREADMEDIR=share/doc/${PF} - -DINSTALL_INCLUDEDIR=include/mysql - -DINSTALL_INFODIR=share/info - -DINSTALL_LIBDIR=$(get_libdir) - -DINSTALL_MANDIR=share/man - -DINSTALL_MYSQLSHAREDIR=share/mariadb - -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin - -DINSTALL_SCRIPTDIR=share/mariadb/scripts - -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" - -DINSTALL_SBINDIR=sbin - -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb" - -DCOMPILATION_COMMENT="Gentoo Linux ${PF}" - -DWITH_UNIT_TESTS=$(usex test ON OFF) - -DWITH_ZLIB=system - -DENABLED_LOCAL_INFILE=1 - -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" - -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock" - # The build forces this to be defined when cross-compiling. We pass it - # all the time for simplicity and to make sure it is actually correct. - -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) - -DWITHOUT_CLIENTLIBS=YES - -DWITH_READLINE=$(usex bindist 1 0) - -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1) - -DENABLE_DTRACE=$(usex systemtap) - ) - if use test ; then - mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test ) - else - mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) - fi - - if ! use yassl ; then - mycmakeargs+=( -DWITH_SSL=system ) - else - mycmakeargs+=( -DWITH_SSL=bundled ) - fi - - if use server ; then - - # Federated{,X} must be treated special otherwise they will not be built as plugins - if ! use extraengine ; then - mycmakeargs+=( - -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 - -DWITHOUT_FEDERATEDX_STORAGE_ENGINE=1 ) - fi - - mycmakeargs+=( - -DWITH_JEMALLOC=$(usex jemalloc system) - -D$(usex sphinx WITH WITHOUT)_SPHINX_STORAGE_ENGINE=1 - -D$(usex tokudb WITH WITHOUT)_TOKUDB_STORAGE_ENGINE=1 - -D$(usex oqgraph WITH WITHOUT)_AUTH_PAM=1 - -DINSTALL_SQLBENCHDIR=share/mariadb - ) - - if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then - ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" - ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." - ewarn "You MUST file bugs without these variables set." - - mycmakeargs+=( - -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} - -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} - ) - - elif ! use latin1 ; then - mycmakeargs+=( - -DDEFAULT_CHARSET=utf8 - -DDEFAULT_COLLATION=utf8_general_ci - ) - else - mycmakeargs+=( - -DDEFAULT_CHARSET=latin1 - -DDEFAULT_COLLATION=latin1_swedish_ci - ) - fi - mycmakeargs+=( - -DEXTRA_CHARSETS=all - -DDISABLE_SHARED=$(usex static YES NO) - -DWITH_EMBEDDED_SERVER=OFF - -DENABLED_PROFILING=$(usex profiling) - ) - - if use static; then - mycmakeargs+=( -DWITH_PIC=1 ) - fi - - if use jemalloc || use tcmalloc ; then - mycmakeargs+=( -DWITH_SAFEMALLOC=OFF ) - fi - - # Storage engines - mycmakeargs+=( - -DWITH_ARCHIVE_STORAGE_ENGINE=1 - -DWITH_BLACKHOLE_STORAGE_ENGINE=1 - -DWITH_CSV_STORAGE_ENGINE=1 - -DWITH_HEAP_STORAGE_ENGINE=1 - -DWITH_INNOBASE_STORAGE_ENGINE=1 - -DWITH_MYISAMMRG_STORAGE_ENGINE=1 - -DWITH_MYISAM_STORAGE_ENGINE=1 - -DWITH_PARTITION_STORAGE_ENGINE=1 - ) - - else - mycmakeargs+=( - -DWITHOUT_SERVER=1 - -DEXTRA_CHARSETS=none - -DINSTALL_SQLBENCHDIR= - ) - fi - - cmake-utils_src_configure -} - -src_compile() { - cmake-utils_src_compile -} - -src_install() { - cmake-utils_src_install - - # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used - if [[ -f "${ED%/}/usr/include/mysql/server/private/config.h" ]] ; then - rm "${ED%/}/usr/include/mysql/server/private/config.h" || die - fi - - # Make sure the vars are correctly initialized - mysql_init_vars - - # Convenience links - einfo "Making Convenience links for mysqlcheck multi-call binary" - dosym "mysqlcheck" "/usr/bin/mysqlanalyze" - dosym "mysqlcheck" "/usr/bin/mysqlrepair" - dosym "mysqlcheck" "/usr/bin/mysqloptimize" - - # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir - if [[ -d "${ED%/}/usr/data" ]] ; then - rm -Rf "${ED%/}/usr/data" || die - fi - - # Unless they explicitly specific USE=test, then do not install the - # testsuite. It DOES have a use to be installed, esp. when you want to do a - # validation of your database configuration after tuning it. - if ! use test ; then - rm -rf "${D%/}/${MY_SHAREDSTATEDIR}/mysql-test" - fi - - # Configuration stuff - einfo "Building default configuration ..." - insinto "${MY_SYSCONFDIR#${EPREFIX}}" - [[ -f "${S%/}/scripts/mysqlaccess.conf" ]] && doins "${S%/}"/scripts/mysqlaccess.conf - local mycnf_src="my.cnf-5.5" - sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ - "${FILESDIR%/}/${mycnf_src}" \ - > "${TMPDIR%/}/my.cnf.ok" || die - use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR%/}/my.cnf.ok" - if use latin1 ; then - sed -i \ - -e "/character-set/s|utf8|latin1|g" \ - "${TMPDIR%/}/my.cnf.ok" || die - fi - eprefixify "${TMPDIR%/}/my.cnf.ok" - newins "${TMPDIR}/my.cnf.ok" my.cnf - - if use server ; then - einfo "Including support files and sample configurations" - docinto "support-files" - local script - for script in \ - "${S%/}"/support-files/magic - do - [[ -f "$script" ]] && dodoc "${script}" - done - - docinto "scripts" - for script in "${S%/}"/scripts/mysql* ; do - [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}" - done - # Manually install supporting files that conflict with other packages - # but are needed for galera and initial installation - exeinto /usr/libexec/mariadb - doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror" - fi - - #Remove mytop if perl is not selected - [[ -e "${ED%/}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED%/}/usr/bin/mytop" -} - -# Official test instructions: -# USE='extraengine perl server' \ -# FEATURES='test userpriv -usersandbox' \ -# ebuild mariadb-X.X.XX.ebuild \ -# digest clean package -src_test() { - - _disable_test() { - local rawtestname reason - rawtestname="${1}" ; shift - reason="${@}" - ewarn "test '${rawtestname}' disabled: '${reason}'" - echo ${rawtestname} : ${reason} >> "${T}/disabled.def" - } - - local TESTDIR="${BUILD_DIR}/mysql-test" - local retstatus_unit - local retstatus_tests - - if ! use server ; then - einfo "Skipping server tests due to minimal build." - return 0 - fi - - # Bug #213475 - MySQL _will_ object strenously if your machine is named - # localhost. Also causes weird failures. - [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - - if [[ $UID -eq 0 ]]; then - die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." - fi - has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox" - - einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" - - # Run CTest (test-units) - cmake-utils_src_test - retstatus_unit=$? - - # Ensure that parallel runs don't die - export MTR_BUILD_THREAD="$((${RANDOM} % 100))" - # Enable parallel testing, auto will try to detect number of cores - # You may set this by hand. - # The default maximum is 8 unless MTR_MAX_PARALLEL is increased - export MTR_PARALLEL="${MTR_PARALLEL:-auto}" - - # create directories because mysqladmin might run out of order - mkdir -p "${T}"/var-tests{,/log} || die - - # Run mysql tests - pushd "${TESTDIR}" > /dev/null || die - - touch "${T}/disabled.def" - # These are failing in MariaDB 5.5 for now and are believed to be - # false positives: - # - # main.information_schema, binlog.binlog_statement_insert_delayed, - # main.mysqld--help, funcs_1.is_triggers, funcs_1.is_tables_mysql, - # funcs_1.is_columns_mysql - # fails due to USE=-latin1 / utf8 default - # - # main.mysql_client_test, main.mysql_client_test_nonblock: - # segfaults at random under Portage only, suspect resource limits. - # - # archive.mysqlhotcopy_archive main.mysqlhotcopy_myisam - # fails due to bad cleanup of previous tests when run in parallel - # The tool is deprecated anyway - # Bug 532288 - - local t - for t in main.mysql_client_test main.mysql_client_test_nonblock \ - binlog.binlog_statement_insert_delayed main.information_schema \ - main.mysqld--help \ - archive.mysqlhotcopy_archive main.mysqlhotcopy_myisam \ - funcs_1.is_triggers funcs_1.is_tables_mysql funcs_1.is_columns_mysql ; do - _disable_test "$t" "False positives in Gentoo" - done - - if ! use client-libs ; then - _disable_test main.plugin_auth "Needs client libraries built" - fi - - # run mysql-test tests - perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" - retstatus_tests=$? - - popd > /dev/null || die - - # Cleanup is important for these testcases. - pkill -9 -f "${S}/ndb" 2>/dev/null - pkill -9 -f "${S}/sql" 2>/dev/null - - local failures="" - [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" - [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" - - [[ -z "$failures" ]] || die "Test failures: $failures" - einfo "Tests successfully completed" -} - -mysql_init_vars() { - MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} - MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} - MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} - MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"} - - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR="" - if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then - MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ - | sed -ne '/datadir/s|^--datadir=||p' \ - | tail -n1` - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ - | sed -e 's/.*=\s*//' \ - | tail -n1` - fi - fi - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR="${MY_LOCALSTATEDIR}" - einfo "Using default MY_DATADIR" - fi - elog "MySQL MY_DATADIR is ${MY_DATADIR}" - - if [[ -z "${PREVIOUS_DATADIR}" ]] ; then - if [[ -e "${MY_DATADIR}" ]] ; then - # If you get this and you're wondering about it, see bug #207636 - elog "MySQL datadir found in ${MY_DATADIR}" - elog "A new one will not be created." - PREVIOUS_DATADIR="yes" - else - PREVIOUS_DATADIR="no" - fi - export PREVIOUS_DATADIR - fi - else - if [[ ${EBUILD_PHASE} == "config" ]]; then - local new_MY_DATADIR - new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ - | sed -ne '/datadir/s|^--datadir=||p' \ - | tail -n1` - - if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then - ewarn "MySQL MY_DATADIR has changed" - ewarn "from ${MY_DATADIR}" - ewarn "to ${new_MY_DATADIR}" - MY_DATADIR="${new_MY_DATADIR}" - fi - fi - fi - - export MY_SHAREDSTATEDIR MY_SYSCONFDIR - export MY_LOCALSTATEDIR MY_LOGDIR - export MY_DATADIR -} - -pkg_config() { - _getoptval() { - local mypd="${EROOT}"usr/libexec/mariadb/my_print_defaults - local section="$1" - local flag="--${2}=" - local extra_options="${3}" - "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp" - } - local old_MY_DATADIR="${MY_DATADIR}" - local old_HOME="${HOME}" - # my_print_defaults needs to read stuff in $HOME/.my.cnf - export HOME=${EPREFIX}/root - - # Make sure the vars are correctly initialized - mysql_init_vars - - [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" - if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then - die "Minimal builds do NOT include the MySQL server" - fi - - if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then - local MY_DATADIR_s="${ROOT}/${MY_DATADIR}" - MY_DATADIR_s="${MY_DATADIR_s%%/}" - local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}" - old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}" - - if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then - if [[ -d "${MY_DATADIR_s}" ]]; then - ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist" - ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}" - else - elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}" - mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \ - || die "Moving MY_DATADIR failed" - fi - else - ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist" - if [[ -d "${MY_DATADIR_s}" ]]; then - ewarn "Attempting to use ${MY_DATADIR_s}" - else - eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist" - die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}" - fi - fi - fi - - local pwd1="a" - local pwd2="b" - local maxtry=15 - - if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then - local tmp_mysqld_password_source= - - for tmp_mysqld_password_source in mysql client; do - einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." - MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" - if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then - if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then - ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" - MYSQL_ROOT_PASSWORD= - continue - fi - - einfo "Found password in '${tmp_mysqld_password_source}' section!" - break - fi - done - - # Sometimes --show is required to display passwords in some implementations of my_print_defaults - if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then - MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" - fi - - unset tmp_mysqld_password_source - fi - MYSQL_TMPDIR="$(_getoptval mysqld tmpdir | tail -n 1)" - # These are dir+prefix - MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n 1)" - MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} - MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n 1)" - MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} - - if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then - einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR" - fi - if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then - einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN" - fi - if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then - einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG" - fi - - if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then - ewarn "You have already a MySQL database in place." - ewarn "(${ROOT}/${MY_DATADIR}/*)" - ewarn "Please rename or delete it if you wish to replace it." - die "MySQL database already exists!" - fi - - # Bug #213475 - MySQL _will_ object strenously if your machine is named - # localhost. Also causes weird failures. - [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - - if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then - - einfo "Please provide a password for the mysql 'root' user now" - einfo "or through the ${HOME}/.my.cnf file." - ewarn "Avoid [\"'\\_%] characters in the password" - read -rsp " >" pwd1 ; echo - - einfo "Retype the password" - read -rsp " >" pwd2 ; echo - - if [[ "x$pwd1" != "x$pwd2" ]] ; then - die "Passwords are not the same" - fi - MYSQL_ROOT_PASSWORD="${pwd1}" - unset pwd1 pwd2 - fi - - local options - local sqltmp="$(emktemp)" - - # Fix bug 446200. Don't reference host my.cnf, needs to come first, - # see https://bugs.mysql.com/bug.php?id=31312 - use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" - - # Figure out which options we need to disable to do the setup - local helpfile="${TMPDIR}/mysqld-help" - "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null - for opt in grant-tables host-cache name-resolve networking slave-start \ - federated ssl log-bin relay-log slow-query-log external-locking \ - log-slave-updates \ - ; do - optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" - egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" - done - - einfo "Creating the mysql database and setting proper permissions on it ..." - - # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it - PID_DIR="${EROOT}/var/run/mysqld" - if [[ ! -d "${PID_DIR}" ]]; then - install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" - fi - - if [[ ! -d "${MY_DATADIR}" ]]; then - install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory" - fi - - pushd "${TMPDIR}" &>/dev/null || die - - # Filling timezones, see - # https://dev.mysql.com/doc/mysql/en/time-zone-support.html - "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null - - local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" ) - [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" ) - cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" ) - einfo "Command: ${cmd[*]}" - su -s /bin/sh -c "${cmd[*]}" mysql \ - >"${TMPDIR}"/mysql_install_db.log 2>&1 - if [ $? -ne 0 ]; then - grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2 - die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log" - fi - popd &>/dev/null || die - [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \ - || die "MySQL databases not installed" - - use prefix || options="${options} --user=mysql" - - local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock" - local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid" - local mysqld="${EROOT}/usr/sbin/mysqld \ - ${options} \ - --log-warnings=0 \ - --basedir=${EROOT}/usr \ - --datadir=${ROOT}/${MY_DATADIR} \ - --max_allowed_packet=8M \ - --net_buffer_length=16K \ - --socket=${socket} \ - --pid-file=${pidfile} \ - --tmpdir=${ROOT}/${MYSQL_TMPDIR}" - #einfo "About to start mysqld: ${mysqld}" - ebegin "Starting mysqld" - einfo "Command ${mysqld}" - ${mysqld} & - rc=$? - while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do - maxtry=$((${maxtry}-1)) - echo -n "." - sleep 1 - done - eend $rc - - if ! [[ -S "${socket}" ]]; then - die "Completely failed to start up mysqld with: ${mysqld}" - fi - - ebegin "Setting root password" - # Do this from memory, as we don't want clear text passwords in temp files - local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES" - "${EROOT}/usr/bin/mysql" \ - "--socket=${socket}" \ - -hlocalhost \ - -e "${sql}" - eend $? - - if [[ -n "${sqltmp}" ]] ; then - ebegin "Loading \"zoneinfo\", this step may require a few seconds" - "${EROOT}/usr/bin/mysql" \ - "--socket=${socket}" \ - -hlocalhost \ - -uroot \ - --password="${MYSQL_ROOT_PASSWORD}" \ - mysql < "${sqltmp}" - rc=$? - eend $? - [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!" - fi - - # Stop the server and cleanup - einfo "Stopping the server ..." - kill $(< "${pidfile}" ) - rm -f "${sqltmp}" - wait %1 - einfo "Done" -} diff --git a/dev-db/mariadb/mariadb-5.5.67.ebuild b/dev-db/mariadb/mariadb-5.5.67.ebuild deleted file mode 100644 index 73874428bb31..000000000000 --- a/dev-db/mariadb/mariadb-5.5.67.ebuild +++ /dev/null @@ -1,835 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" -MY_EXTRAS_VER="20200203-1749Z" -SUBSLOT="18" - -# Keeping eutils in EAPI=6 for emktemp in pkg_config - -inherit eutils flag-o-matic prefix toolchain-funcs user cmake-utils multilib-build - -SRC_URI="https://downloads.mariadb.org/interstitial/${P}/source/${P}.tar.gz " - -# Gentoo patches to MySQL -if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then - SRC_URI="${SRC_URI} - mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" -fi - -HOMEPAGE="https://mariadb.org/" -DESCRIPTION="An enhanced, drop-in replacement for MySQL" -LICENSE="GPL-2" -SLOT="0/${SUBSLOT:-0}" -IUSE="bindist client-libs debug extraengine jemalloc latin1 libressl - oqgraph pam +perl profiling selinux +server sphinx - static static-libs systemtap tcmalloc - test tokudb yassl" - -# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests -RESTRICT="!bindist? ( bindist ) libressl? ( test ) !test? ( test )" - -REQUIRED_USE="server? ( tokudb? ( jemalloc !tcmalloc ) ) - ?? ( tcmalloc jemalloc ) - static? ( yassl !pam )" - -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" - -# Shorten the path because the socket path length must be shorter than 107 chars -# and we will run a mysql server during test phase -S="${WORKDIR}/mysql" - -if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then - MY_PATCH_DIR="${WORKDIR%/}/mysql-extras" - inherit git-r3 - EGIT_REPO_URI="git://anongit.gentoo.org/proj/mysql-extras.git" - EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras" - EGIT_CLONE_TYPE=shallow -else - MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}" -fi - -PATCHES=( - "${MY_PATCH_DIR}/01050_all_mariadb_mysql_config_cleanup-5.5.41.patch" - "${MY_PATCH_DIR}/20004_all_mariadb-filter-tokudb-flags.patch" - "${MY_PATCH_DIR}/20006_all_cmake_elib-mariadb-5.5.50.patch" - "${MY_PATCH_DIR}/20009_all_mariadb_myodbc_symbol_fix-5.5.38.patch" - "${MY_PATCH_DIR}/20018_all_mariadb-5.5.60-without-clientlibs-tools.patch" -) - -# Be warned, *DEPEND are version-dependant -# These are used for both runtime and compiletime -COMMON_DEPEND=" - kernel_linux? ( - sys-process/procps:0= - dev-libs/libaio:0= - ) - >=sys-apps/sed-4 - >=sys-apps/texinfo-4.7-r1 - jemalloc? ( dev-libs/jemalloc:0= ) - tcmalloc? ( dev-util/google-perftools:0= ) - systemtap? ( >=dev-util/systemtap-1.3:0= ) - !yassl? ( - !libressl? ( <dev-libs/openssl-1.1.0:0= ) - libressl? ( dev-libs/libressl:0= ) - ) - >=sys-libs/zlib-1.2.3:0= - sys-libs/ncurses:0= - !bindist? ( - >=sys-libs/readline-4.1:0= - ) - server? ( - oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) - pam? ( sys-libs/pam:0= ) - ) - !client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] ) -" -DEPEND="virtual/yacc - static? ( sys-libs/ncurses[static-libs] ) - || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) - ${COMMON_DEPEND}" -RDEPEND="selinux? ( sec-policy/selinux-mysql ) - client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c ) - !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster - server? ( !prefix? ( dev-db/mysql-init-scripts ) ) - ${COMMON_DEPEND} - perl? ( !dev-db/mytop - virtual/perl-Getopt-Long - dev-perl/TermReadKey - virtual/perl-Term-ANSIColor - virtual/perl-Time-HiRes ) -" -# For other stuff to bring us in -# dev-perl/DBD-mysql is needed by some scripts installed by MySQL -PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - local GCC_MAJOR_SET=$(gcc-major-version) - local GCC_MINOR_SET=$(gcc-minor-version) - if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \ - ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then - eerror "${PN} with tokudb needs to be built with gcc-4.7 or later." - eerror "Please use gcc-config to switch to gcc-4.7 or later version." - die - fi - # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on - # non x86{,_64} arches - if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ - ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then - eerror "${PN} needs to be built with gcc-4.7 or later." - eerror "Please use gcc-config to switch to gcc-4.7 or later version." - die - fi - fi - if has test ${FEATURES} && \ - use server && ! has userpriv ${FEATURES} ; then - eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." - fi - - # This should come after all of the die statements - enewgroup mysql 60 || die "problem adding 'mysql' group" - enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user" -} - -pkg_postinst() { - # Make sure the vars are correctly initialized - mysql_init_vars - - # Create log directory securely if it does not exist - [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" - - if use server ; then - if use pam; then - einfo - elog "This install includes the PAM authentication plugin." - elog "To activate and configure the PAM plugin, please read:" - elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/" - einfo - fi - - if [[ -z "${REPLACING_VERSIONS}" ]] ; then - einfo - elog "You might want to run:" - elog "\"emerge --config =${CATEGORY}/${PF}\"" - elog "if this is a new install." - elog - elog "If you are switching server implentations, you should run the" - elog "mysql_upgrade tool." - einfo - else - einfo - elog "If you are upgrading major versions, you should run the" - elog "mysql_upgrade tool." - einfo - fi - - einfo - elog "Be sure to edit the my.cnf file to activate your cluster settings." - elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\"" - elog "The first time the cluster is activated, you should add" - elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node." - elog "This option should then be removed for subsequent starts." - einfo - fi -} - -src_unpack() { - unpack ${A} - # Grab the patches - [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack - - mv -f "${WORKDIR%/}/${P}" "${S}" || die -} - -src_prepare() { - _disable_engine() { - echo > "${S%/}/storage/${1}/CMakeLists.txt" || die - } - - _disable_plugin() { - echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die - } - - if use tcmalloc; then - echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S%/}/sql/CMakeLists.txt" || die - fi - - # Don't build bundled xz-utils for tokudb - echo > "${S%/}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" || die - sed -i -e 's/ build_lzma//' "${S%/}/storage/tokudb/ft-index/ft/CMakeLists.txt" || die - sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S%/}/storage/tokudb/ft-index/portability/CMakeLists.txt" || die - - local plugin - local server_plugins=( handler_socket auth_socket feedback qc_info server_audit semisync sql_errlog ) - local test_plugins=( audit_null auth_examples daemon_example fulltext ) - if ! use server; then # These plugins are for the server - for plugin in "${server_plugins[@]}" ; do - _disable_plugin "${plugin}" - done - fi - - if ! use test; then # These plugins are only used during testing - for plugin in "${test_plugins[@]}" ; do - _disable_plugin "${plugin}" - done - fi - - # Collides with mariadb-connector-c bug 655980 - _disable_plugin auth_dialog - - # Don't build example - _disable_engine example - - if ! use oqgraph ; then # avoids extra library checks - _disable_engine oqgraph - fi - - # Don't clash with dev-db/mysql-connector-c - sed -i -e 's/ my_print_defaults.1//' \ - -e 's/ perror.1//' \ - "${S}"/man/CMakeLists.txt || die - - cmake-utils_src_prepare -} - -src_configure() { - # bug 508724 mariadb cannot use ld.gold - tc-ld-disable-gold - # Bug #114895, bug #110149 - filter-flags "-O" "-O[01]" - - append-cxxflags -felide-constructors - - # bug #283926, with GCC4.4, this is required to get correct behavior. - append-flags -fno-strict-aliasing - - CMAKE_BUILD_TYPE="RelWithDebInfo" - - # debug hack wrt #497532 - mycmakeargs=( - -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" - -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" - -DDEFAULT_SYSCONFDIR="${EPREFIX}/etc/mysql" - -DINSTALL_BINDIR=bin - -DINSTALL_DOCDIR=share/doc/${PF} - -DINSTALL_DOCREADMEDIR=share/doc/${PF} - -DINSTALL_INCLUDEDIR=include/mysql - -DINSTALL_INFODIR=share/info - -DINSTALL_LIBDIR=$(get_libdir) - -DINSTALL_MANDIR=share/man - -DINSTALL_MYSQLSHAREDIR=share/mariadb - -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin - -DINSTALL_SCRIPTDIR=share/mariadb/scripts - -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" - -DINSTALL_SBINDIR=sbin - -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb" - -DCOMPILATION_COMMENT="Gentoo Linux ${PF}" - -DWITH_UNIT_TESTS=$(usex test ON OFF) - -DWITH_ZLIB=system - -DENABLED_LOCAL_INFILE=1 - -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" - -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock" - # The build forces this to be defined when cross-compiling. We pass it - # all the time for simplicity and to make sure it is actually correct. - -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) - -DWITHOUT_CLIENTLIBS=YES - -DWITH_READLINE=$(usex bindist 1 0) - -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1) - -DENABLE_DTRACE=$(usex systemtap) - ) - if use test ; then - mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test ) - else - mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) - fi - - if ! use yassl ; then - mycmakeargs+=( -DWITH_SSL=system ) - else - mycmakeargs+=( -DWITH_SSL=bundled ) - fi - - if use server ; then - - # Federated{,X} must be treated special otherwise they will not be built as plugins - if ! use extraengine ; then - mycmakeargs+=( - -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 - -DWITHOUT_FEDERATEDX_STORAGE_ENGINE=1 ) - fi - - mycmakeargs+=( - -DWITH_JEMALLOC=$(usex jemalloc system) - -D$(usex sphinx WITH WITHOUT)_SPHINX_STORAGE_ENGINE=1 - -D$(usex tokudb WITH WITHOUT)_TOKUDB_STORAGE_ENGINE=1 - -D$(usex oqgraph WITH WITHOUT)_AUTH_PAM=1 - -DINSTALL_SQLBENCHDIR=share/mariadb - ) - - if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then - ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" - ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." - ewarn "You MUST file bugs without these variables set." - - mycmakeargs+=( - -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} - -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} - ) - - elif ! use latin1 ; then - mycmakeargs+=( - -DDEFAULT_CHARSET=utf8 - -DDEFAULT_COLLATION=utf8_general_ci - ) - else - mycmakeargs+=( - -DDEFAULT_CHARSET=latin1 - -DDEFAULT_COLLATION=latin1_swedish_ci - ) - fi - mycmakeargs+=( - -DEXTRA_CHARSETS=all - -DDISABLE_SHARED=$(usex static YES NO) - -DWITH_EMBEDDED_SERVER=OFF - -DENABLED_PROFILING=$(usex profiling) - ) - - if use static; then - mycmakeargs+=( -DWITH_PIC=1 ) - fi - - if use jemalloc || use tcmalloc ; then - mycmakeargs+=( -DWITH_SAFEMALLOC=OFF ) - fi - - # Storage engines - mycmakeargs+=( - -DWITH_ARCHIVE_STORAGE_ENGINE=1 - -DWITH_BLACKHOLE_STORAGE_ENGINE=1 - -DWITH_CSV_STORAGE_ENGINE=1 - -DWITH_HEAP_STORAGE_ENGINE=1 - -DWITH_INNOBASE_STORAGE_ENGINE=1 - -DWITH_MYISAMMRG_STORAGE_ENGINE=1 - -DWITH_MYISAM_STORAGE_ENGINE=1 - -DWITH_PARTITION_STORAGE_ENGINE=1 - ) - - else - mycmakeargs+=( - -DWITHOUT_SERVER=1 - -DEXTRA_CHARSETS=none - -DINSTALL_SQLBENCHDIR= - ) - fi - - cmake-utils_src_configure -} - -src_compile() { - cmake-utils_src_compile -} - -src_install() { - cmake-utils_src_install - - # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used - if [[ -f "${ED%/}/usr/include/mysql/server/private/config.h" ]] ; then - rm "${ED%/}/usr/include/mysql/server/private/config.h" || die - fi - - # Make sure the vars are correctly initialized - mysql_init_vars - - # Convenience links - einfo "Making Convenience links for mysqlcheck multi-call binary" - dosym "mysqlcheck" "/usr/bin/mysqlanalyze" - dosym "mysqlcheck" "/usr/bin/mysqlrepair" - dosym "mysqlcheck" "/usr/bin/mysqloptimize" - - # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir - if [[ -d "${ED%/}/usr/data" ]] ; then - rm -Rf "${ED%/}/usr/data" || die - fi - - # Unless they explicitly specific USE=test, then do not install the - # testsuite. It DOES have a use to be installed, esp. when you want to do a - # validation of your database configuration after tuning it. - if ! use test ; then - rm -rf "${D%/}/${MY_SHAREDSTATEDIR}/mysql-test" - fi - - # Configuration stuff - einfo "Building default configuration ..." - insinto "${MY_SYSCONFDIR#${EPREFIX}}" - [[ -f "${S%/}/scripts/mysqlaccess.conf" ]] && doins "${S%/}"/scripts/mysqlaccess.conf - local mycnf_src="my.cnf-5.5" - sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ - "${FILESDIR%/}/${mycnf_src}" \ - > "${TMPDIR%/}/my.cnf.ok" || die - use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR%/}/my.cnf.ok" - if use latin1 ; then - sed -i \ - -e "/character-set/s|utf8|latin1|g" \ - "${TMPDIR%/}/my.cnf.ok" || die - fi - eprefixify "${TMPDIR%/}/my.cnf.ok" - newins "${TMPDIR}/my.cnf.ok" my.cnf - - if use server ; then - einfo "Including support files and sample configurations" - docinto "support-files" - local script - for script in \ - "${S%/}"/support-files/magic - do - [[ -f "$script" ]] && dodoc "${script}" - done - - docinto "scripts" - for script in "${S%/}"/scripts/mysql* ; do - [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}" - done - # Manually install supporting files that conflict with other packages - # but are needed for galera and initial installation - exeinto /usr/libexec/mariadb - doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror" - fi - - #Remove mytop if perl is not selected - [[ -e "${ED%/}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED%/}/usr/bin/mytop" -} - -# Official test instructions: -# USE='extraengine perl server' \ -# FEATURES='test userpriv -usersandbox' \ -# ebuild mariadb-X.X.XX.ebuild \ -# digest clean package -src_test() { - - _disable_test() { - local rawtestname reason - rawtestname="${1}" ; shift - reason="${@}" - ewarn "test '${rawtestname}' disabled: '${reason}'" - echo ${rawtestname} : ${reason} >> "${T}/disabled.def" - } - - local TESTDIR="${BUILD_DIR}/mysql-test" - local retstatus_unit - local retstatus_tests - - if ! use server ; then - einfo "Skipping server tests due to minimal build." - return 0 - fi - - # Bug #213475 - MySQL _will_ object strenously if your machine is named - # localhost. Also causes weird failures. - [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - - if [[ $UID -eq 0 ]]; then - die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." - fi - has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox" - - einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" - - # Run CTest (test-units) - cmake-utils_src_test - retstatus_unit=$? - - # Ensure that parallel runs don't die - export MTR_BUILD_THREAD="$((${RANDOM} % 100))" - # Enable parallel testing, auto will try to detect number of cores - # You may set this by hand. - # The default maximum is 8 unless MTR_MAX_PARALLEL is increased - export MTR_PARALLEL="${MTR_PARALLEL:-auto}" - - # create directories because mysqladmin might run out of order - mkdir -p "${T}"/var-tests{,/log} || die - - # Run mysql tests - pushd "${TESTDIR}" > /dev/null || die - - touch "${T}/disabled.def" - # These are failing in MariaDB 5.5 for now and are believed to be - # false positives: - # - # main.information_schema, binlog.binlog_statement_insert_delayed, - # main.mysqld--help, funcs_1.is_triggers, funcs_1.is_tables_mysql, - # funcs_1.is_columns_mysql - # fails due to USE=-latin1 / utf8 default - # - # main.mysql_client_test, main.mysql_client_test_nonblock: - # segfaults at random under Portage only, suspect resource limits. - # - # archive.mysqlhotcopy_archive main.mysqlhotcopy_myisam - # fails due to bad cleanup of previous tests when run in parallel - # The tool is deprecated anyway - # Bug 532288 - - local t - for t in main.mysql_client_test main.mysql_client_test_nonblock \ - binlog.binlog_statement_insert_delayed main.information_schema \ - main.mysqld--help \ - archive.mysqlhotcopy_archive main.mysqlhotcopy_myisam \ - funcs_1.is_triggers funcs_1.is_tables_mysql funcs_1.is_columns_mysql ; do - _disable_test "$t" "False positives in Gentoo" - done - - if ! use client-libs ; then - _disable_test main.plugin_auth "Needs client libraries built" - fi - - # run mysql-test tests - perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" - retstatus_tests=$? - - popd > /dev/null || die - - # Cleanup is important for these testcases. - pkill -9 -f "${S}/ndb" 2>/dev/null - pkill -9 -f "${S}/sql" 2>/dev/null - - local failures="" - [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" - [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" - - [[ -z "$failures" ]] || die "Test failures: $failures" - einfo "Tests successfully completed" -} - -mysql_init_vars() { - MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} - MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} - MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} - MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"} - - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR="" - if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then - MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ - | sed -ne '/datadir/s|^--datadir=||p' \ - | tail -n1` - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ - | sed -e 's/.*=\s*//' \ - | tail -n1` - fi - fi - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR="${MY_LOCALSTATEDIR}" - einfo "Using default MY_DATADIR" - fi - elog "MySQL MY_DATADIR is ${MY_DATADIR}" - - if [[ -z "${PREVIOUS_DATADIR}" ]] ; then - if [[ -e "${MY_DATADIR}" ]] ; then - # If you get this and you're wondering about it, see bug #207636 - elog "MySQL datadir found in ${MY_DATADIR}" - elog "A new one will not be created." - PREVIOUS_DATADIR="yes" - else - PREVIOUS_DATADIR="no" - fi - export PREVIOUS_DATADIR - fi - else - if [[ ${EBUILD_PHASE} == "config" ]]; then - local new_MY_DATADIR - new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ - | sed -ne '/datadir/s|^--datadir=||p' \ - | tail -n1` - - if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then - ewarn "MySQL MY_DATADIR has changed" - ewarn "from ${MY_DATADIR}" - ewarn "to ${new_MY_DATADIR}" - MY_DATADIR="${new_MY_DATADIR}" - fi - fi - fi - - export MY_SHAREDSTATEDIR MY_SYSCONFDIR - export MY_LOCALSTATEDIR MY_LOGDIR - export MY_DATADIR -} - -pkg_config() { - _getoptval() { - local mypd="${EROOT}"usr/libexec/mariadb/my_print_defaults - local section="$1" - local flag="--${2}=" - local extra_options="${3}" - "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp" - } - local old_MY_DATADIR="${MY_DATADIR}" - local old_HOME="${HOME}" - # my_print_defaults needs to read stuff in $HOME/.my.cnf - export HOME=${EPREFIX}/root - - # Make sure the vars are correctly initialized - mysql_init_vars - - [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" - if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then - die "Minimal builds do NOT include the MySQL server" - fi - - if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then - local MY_DATADIR_s="${ROOT}/${MY_DATADIR}" - MY_DATADIR_s="${MY_DATADIR_s%%/}" - local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}" - old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}" - - if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then - if [[ -d "${MY_DATADIR_s}" ]]; then - ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist" - ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}" - else - elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}" - mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \ - || die "Moving MY_DATADIR failed" - fi - else - ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist" - if [[ -d "${MY_DATADIR_s}" ]]; then - ewarn "Attempting to use ${MY_DATADIR_s}" - else - eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist" - die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}" - fi - fi - fi - - local pwd1="a" - local pwd2="b" - local maxtry=15 - - if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then - local tmp_mysqld_password_source= - - for tmp_mysqld_password_source in mysql client; do - einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." - MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" - if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then - if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then - ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" - MYSQL_ROOT_PASSWORD= - continue - fi - - einfo "Found password in '${tmp_mysqld_password_source}' section!" - break - fi - done - - # Sometimes --show is required to display passwords in some implementations of my_print_defaults - if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then - MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" - fi - - unset tmp_mysqld_password_source - fi - MYSQL_TMPDIR="$(_getoptval mysqld tmpdir | tail -n 1)" - # These are dir+prefix - MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log | tail -n 1)" - MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} - MYSQL_LOG_BIN="$(_getoptval mysqld log-bin | tail -n 1)" - MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} - - if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then - einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR" - fi - if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then - einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN" - fi - if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then - einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG" - fi - - if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then - ewarn "You have already a MySQL database in place." - ewarn "(${ROOT}/${MY_DATADIR}/*)" - ewarn "Please rename or delete it if you wish to replace it." - die "MySQL database already exists!" - fi - - # Bug #213475 - MySQL _will_ object strenously if your machine is named - # localhost. Also causes weird failures. - [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - - if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then - - einfo "Please provide a password for the mysql 'root' user now" - einfo "or through the ${HOME}/.my.cnf file." - ewarn "Avoid [\"'\\_%] characters in the password" - read -rsp " >" pwd1 ; echo - - einfo "Retype the password" - read -rsp " >" pwd2 ; echo - - if [[ "x$pwd1" != "x$pwd2" ]] ; then - die "Passwords are not the same" - fi - MYSQL_ROOT_PASSWORD="${pwd1}" - unset pwd1 pwd2 - fi - - local options - local sqltmp="$(emktemp)" - - # Fix bug 446200. Don't reference host my.cnf, needs to come first, - # see https://bugs.mysql.com/bug.php?id=31312 - use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" - - # Figure out which options we need to disable to do the setup - local helpfile="${TMPDIR}/mysqld-help" - "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null - for opt in grant-tables host-cache name-resolve networking slave-start \ - federated ssl log-bin relay-log slow-query-log external-locking \ - log-slave-updates \ - ; do - optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" - egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" - done - - einfo "Creating the mysql database and setting proper permissions on it ..." - - # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it - PID_DIR="${EROOT}/var/run/mysqld" - if [[ ! -d "${PID_DIR}" ]]; then - install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" - fi - - if [[ ! -d "${MY_DATADIR}" ]]; then - install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory" - fi - - pushd "${TMPDIR}" &>/dev/null || die - - # Filling timezones, see - # https://dev.mysql.com/doc/mysql/en/time-zone-support.html - "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null - - local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" ) - [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" ) - cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" ) - einfo "Command: ${cmd[*]}" - su -s /bin/sh -c "${cmd[*]}" mysql \ - >"${TMPDIR}"/mysql_install_db.log 2>&1 - if [ $? -ne 0 ]; then - grep -B5 -A999 -i "ERROR" "${TMPDIR}"/mysql_install_db.log 1>&2 - die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR}/mysql_install_db.log" - fi - popd &>/dev/null || die - [[ -f "${ROOT}/${MY_DATADIR}/mysql/user.frm" ]] \ - || die "MySQL databases not installed" - - use prefix || options="${options} --user=mysql" - - local socket="${EROOT}/var/run/mysqld/mysqld${RANDOM}.sock" - local pidfile="${EROOT}/var/run/mysqld/mysqld${RANDOM}.pid" - local mysqld="${EROOT}/usr/sbin/mysqld \ - ${options} \ - --log-warnings=0 \ - --basedir=${EROOT}/usr \ - --datadir=${ROOT}/${MY_DATADIR} \ - --max_allowed_packet=8M \ - --net_buffer_length=16K \ - --socket=${socket} \ - --pid-file=${pidfile} \ - --tmpdir=${ROOT}/${MYSQL_TMPDIR}" - #einfo "About to start mysqld: ${mysqld}" - ebegin "Starting mysqld" - einfo "Command ${mysqld}" - ${mysqld} & - rc=$? - while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do - maxtry=$((${maxtry}-1)) - echo -n "." - sleep 1 - done - eend $rc - - if ! [[ -S "${socket}" ]]; then - die "Completely failed to start up mysqld with: ${mysqld}" - fi - - ebegin "Setting root password" - # Do this from memory, as we don't want clear text passwords in temp files - local sql="UPDATE mysql.user SET Password = PASSWORD('${MYSQL_ROOT_PASSWORD}') WHERE USER='root'; FLUSH PRIVILEGES" - "${EROOT}/usr/bin/mysql" \ - "--socket=${socket}" \ - -hlocalhost \ - -e "${sql}" - eend $? - - if [[ -n "${sqltmp}" ]] ; then - ebegin "Loading \"zoneinfo\", this step may require a few seconds" - "${EROOT}/usr/bin/mysql" \ - "--socket=${socket}" \ - -hlocalhost \ - -uroot \ - --password="${MYSQL_ROOT_PASSWORD}" \ - mysql < "${sqltmp}" - rc=$? - eend $? - [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!" - fi - - # Stop the server and cleanup - einfo "Stopping the server ..." - kill $(< "${pidfile}" ) - rm -f "${sqltmp}" - wait %1 - einfo "Done" -} diff --git a/dev-db/mariadb/mariadb-5.5.68.ebuild b/dev-db/mariadb/mariadb-5.5.68-r1.ebuild index 87e9a50bd381..017c5030683b 100644 --- a/dev-db/mariadb/mariadb-5.5.68.ebuild +++ b/dev-db/mariadb/mariadb-5.5.68-r1.ebuild @@ -24,7 +24,7 @@ fi HOMEPAGE="https://mariadb.org/" DESCRIPTION="An enhanced, drop-in replacement for MySQL" LICENSE="GPL-2" -SLOT="0/${SUBSLOT:-0}" +SLOT="5.5/${SUBSLOT:-0}" IUSE="bindist client-libs debug extraengine jemalloc latin1 libressl oqgraph pam +perl profiling selinux +server sphinx static static-libs systemtap tcmalloc @@ -95,6 +95,12 @@ DEPEND="virtual/yacc RDEPEND="selinux? ( sec-policy/selinux-mysql ) client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c ) !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + !dev-db/mariadb:0 + !dev-db/mariadb:10.1 + !dev-db/mariadb:10.2 + !dev-db/mariadb:10.3 + !dev-db/mariadb:10.4 + !dev-db/mariadb:10.5 server? ( !prefix? ( dev-db/mysql-init-scripts ) ) ${COMMON_DEPEND} perl? ( !dev-db/mytop diff --git a/dev-db/mariadb/metadata.xml b/dev-db/mariadb/metadata.xml index 3419b52226ee..74d8b5649ce9 100644 --- a/dev-db/mariadb/metadata.xml +++ b/dev-db/mariadb/metadata.xml @@ -8,6 +8,7 @@ <use> <flag name="backup">Build mariadb-backup which supports SST and hot backup of InnoDB, Aria and MyISAM including compression and encryption</flag> <flag name="client-libs">Build the client libraries from the server package instead of the C Connector packages</flag> + <flag name="columnstore">Build the ColumnStore storage engine</flag> <flag name="extraengine">Add support for alternative storage engines (Archive, CSV, Blackhole, Federated(X), Partition)</flag> <flag name="galera">Enables galera replication</flag> <flag name="innodb-lz4">Enables lz4 compression methods for InnoDB/XtraDB</flag> @@ -28,6 +29,7 @@ <flag name="sst-mariabackup">Add tools needed to support the mariabackup SST method</flag> <flag name="sst-xtrabackup">Add tools needed to support the xtrabackup and xtrabackup-v2 SST methods</flag> <flag name="systemtap">Build support for profiling and tracing using <pkg>dev-util/systemtap</pkg></flag> + <flag name="s3">Build the S3 storage engine</flag> <flag name="test">Install upstream testsuites for end use.</flag> <flag name="tokudb">Add support for TokuDB storage engine</flag> <flag name="yassl">Enable SSL connections and crypto functions using the bundled yaSSL</flag> diff --git a/dev-db/mycli/Manifest b/dev-db/mycli/Manifest index a0aef261a3a5..40c01344cd89 100644 --- a/dev-db/mycli/Manifest +++ b/dev-db/mycli/Manifest @@ -1,4 +1,7 @@ +AUX mycli-1.21.1-fix-test-install.patch 456 BLAKE2B 3f4eafe405a2151b1b2897ac60347a5fdce45747f927a40367943ad78ef96753ad106bdefe516b76946fa509b17a31d9423cf0b5cf311e79174ce5e4f6320428 SHA512 90c53b12baee1339cdc629615a021ff0290e6350f3358491cd163c4405d49be02340a56a73475623a6b49877cef53e3c5bd9aa93897aa91769a402e8f4c0b88a DIST mycli-1.20.1.tar.gz 265264 BLAKE2B d00b1713132609b0a5ec6e8b78785fdab5c6b4db5937bc0b9bc69ddde90ad3dc75aeb99ccf6b5e7fe5e78e9bf4819f03fb454825e5182bc5d2c44356032343d1 SHA512 82ee642b2a4c158b0e2ea275941650125e15004ec1c70b2ab90ae0825090efccb4910a14fd46bcdf795a74adba5689b46de5668447308de63d1cbbbe2e6b0e9d +DIST mycli-1.21.1.tar.gz 267646 BLAKE2B e0678974949ae219236b89fbe9ebdacfee9c1efc8f92853c937150dbb841680664432e9f5c79181545df8b3321480cf784e45a83139351cc93256d26dcdd66f0 SHA512 beb3888ff8abc2a79e591516d7f0f76d0c18f186bd0dca3b4aadcf93b3045de53ac7f135553ad509273c85ea364e81df5dcadf9eacf1dbef8ceff7345aa5ed6d EBUILD mycli-1.20.1.ebuild 1285 BLAKE2B fea26ada4e62c0d97237d8e28076d7ce4ccd818e6e3c38b32c6f4b36c35b0e4bebda5d53972120306a6f14d8d30aec13f4ecc4967b2871a154014a7621a2e034 SHA512 a85982ab2b7751ed4e2fe180920fb3edf8118cbabe37b255e689b6e40c9350d5674109c4d6dc4447b7e7cc295fc8c2e51e05d336464fcb3b8b48801964837b11 -EBUILD mycli-9999.ebuild 1265 BLAKE2B 697f31b84b19e2630147a5e354bf183e720d86d56ea8bd108c57b165f287003575d9433d2ec02aaef454eb04df8721589277d3ac8b277154f982bbbc6ef0d921 SHA512 9dd324eb4e345fe079a81b6a2720e1ad5a6048448d2fdb9b2561946b6ef48835a7a98650bd82f2dbc925181631e5d03db6dfefea0a273037b953c4b0fe37060c +EBUILD mycli-1.21.1-r1.ebuild 1579 BLAKE2B 374463b3c1671a25868ef4cf0e58496e0c15912088b225518eb8d36cb009b12245dcab81e7c9e92a6fd1a924eee6e979a4999f3169ec73aeb918d64a393e732a SHA512 e1ed0950ee2bd525623c59e8a4b2e7abc96baec3ce0bf400ee8dd26075da2b622ba6f628ecbc4e649abbe54af588477312feba6b2beed7521ca8c37feee2fb2b +EBUILD mycli-9999.ebuild 1560 BLAKE2B 624da8139f363002c3ffd6f045a349cec30a7e3d8917bf4b2a482969eaf8b594da7996f7f164ac1883ce44819e67733fc9ac6e91e8f3a3c8a95a28caa879fcfc SHA512 84f246aba80728a62e11267ea415c00e898a3ac1041eaa8508f05672f029157cf459e2199a25ce104aa8cbbd16e1f36560046e3381f42a2e89f1166b15f3dfcd MISC metadata.xml 406 BLAKE2B d46b17f9f36fc9851f36d4deadf52ca52d6df621245e521f66386ff3deed3b863188875dd2207c3cf78474cd8a04aebf03dad6564251581b8f9d09fb7bdf5ba8 SHA512 b88e9469cfd9287df46b84c62b27fd60f3cf84abfe93aba4ca7b46d668b0ed855c17ccccd95a49bc102bc2d9c054846ff33e094fe0351c598a9b55f494618e57 diff --git a/dev-db/mycli/files/mycli-1.21.1-fix-test-install.patch b/dev-db/mycli/files/mycli-1.21.1-fix-test-install.patch new file mode 100644 index 000000000000..7c802a803337 --- /dev/null +++ b/dev-db/mycli/files/mycli-1.21.1-fix-test-install.patch @@ -0,0 +1,11 @@ +--- a/setup.py 2020-04-19 16:15:15.000000000 -0400 ++++ b/setup.py 2020-07-07 13:56:25.181039348 -0400 +@@ -85,7 +85,7 @@ + author_email='mycli-dev@googlegroups.com', + version=version, + url='http://mycli.net', +- packages=find_packages(), ++ packages=find_packages(exclude=["*.test","*.test.*","test.*","test"]), + package_data={'mycli': ['myclirc', 'AUTHORS', 'SPONSORS']}, + description=description, + long_description=description, diff --git a/dev-db/mycli/mycli-1.21.1-r1.ebuild b/dev-db/mycli/mycli-1.21.1-r1.ebuild new file mode 100644 index 000000000000..042db5617483 --- /dev/null +++ b/dev-db/mycli/mycli-1.21.1-r1.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python{3_6,3_7} ) +DISTUTILS_SINGLE_IMPL=yes +DISTUTILS_USE_SETUPTOOLS=rdepend +inherit distutils-r1 + +DESCRIPTION="CLI for MySQL Database with auto-completion and syntax highlighting" + +HOMEPAGE="https://www.mycli.net" +SRC_URI="https://github.com/dbcli/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +LICENSE="BSD MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="ssh test" +RESTRICT="!test? ( test )" +RDEPEND="$(python_gen_cond_dep ' + >=dev-python/cli_helpers-1.1.0[${PYTHON_MULTI_USEDEP}] + >=dev-python/click-7.0[${PYTHON_MULTI_USEDEP}] + >=dev-python/configobj-5.0.6[${PYTHON_MULTI_USEDEP}] + >=dev-python/cryptography-1.0.0[${PYTHON_MULTI_USEDEP}] + >=dev-python/prompt_toolkit-2.0.6[${PYTHON_MULTI_USEDEP}] + <dev-python/prompt_toolkit-3.0.0[${PYTHON_MULTI_USEDEP}] + >=dev-python/pygments-2.0[${PYTHON_MULTI_USEDEP}] + >=dev-python/pymysql-0.9.2[${PYTHON_MULTI_USEDEP}] + >=dev-python/sqlparse-0.3.0[${PYTHON_MULTI_USEDEP}] + <dev-python/sqlparse-0.4.0[${PYTHON_MULTI_USEDEP}] + ssh? ( dev-python/paramiko[${PYTHON_MULTI_USEDEP}] )') +" +DEPEND="${RDEPEND}" +BDEPEND="test? ( $(python_gen_cond_dep 'dev-python/mock[${PYTHON_MULTI_USEDEP}]') )" + +distutils_enable_tests pytest + +PATCHES=( "${FILESDIR}/mycli-1.21.1-fix-test-install.patch" ) + +python_test() { + pytest --capture=sys \ + --showlocals \ + --doctest-modules \ + --doctest-ignore-import-errors \ + --ignore=setup.py \ + --ignore=mycli/magic.py \ + --ignore=mycli/packages/parseutils.py \ + --ignore=test/features +} diff --git a/dev-db/mycli/mycli-9999.ebuild b/dev-db/mycli/mycli-9999.ebuild index 829a69b455bf..9fcacbc962c2 100644 --- a/dev-db/mycli/mycli-9999.ebuild +++ b/dev-db/mycli/mycli-9999.ebuild @@ -4,6 +4,8 @@ EAPI=7 PYTHON_COMPAT=( python{3_6,3_7} ) +DISTUTILS_SINGLE_IMPL=yes +DISTUTILS_USE_SETUPTOOLS=rdepend EGIT_REPO_URI="https://github.com/dbcli/mycli.git" inherit distutils-r1 git-r3 @@ -16,20 +18,26 @@ SLOT="0" KEYWORDS="" IUSE="ssh test" RESTRICT="!test? ( test )" -RDEPEND=" - >=dev-python/cli_helpers-1.1.0[${PYTHON_USEDEP}] - >=dev-python/click-7.0[${PYTHON_USEDEP}] - >=dev-python/configobj-5.0.6[${PYTHON_USEDEP}] - >=dev-python/cryptography-1.0.0[${PYTHON_USEDEP}] - >=dev-python/prompt_toolkit-2.0.6[${PYTHON_USEDEP}] - >=dev-python/pygments-2.0[${PYTHON_USEDEP}] - >=dev-python/pymysql-0.9.2[${PYTHON_USEDEP}] - >=dev-python/sqlparse-0.3.0[${PYTHON_USEDEP}] - <dev-python/sqlparse-0.4.0[${PYTHON_USEDEP}] - ssh? ( dev-python/paramiko[${PYTHON_USEDEP}] ) +RDEPEND="$(python_gen_cond_dep ' + >=dev-python/cli_helpers-1.1.0[${PYTHON_MULTI_USEDEP}] + >=dev-python/click-7.0[${PYTHON_MULTI_USEDEP}] + >=dev-python/configobj-5.0.6[${PYTHON_MULTI_USEDEP}] + >=dev-python/cryptography-1.0.0[${PYTHON_MULTI_USEDEP}] + >=dev-python/prompt_toolkit-3.0.0[${PYTHON_MULTI_USEDEP}] + <dev-python/prompt_toolkit-4.0.0[${PYTHON_MULTI_USEDEP}] + >=dev-python/pygments-2.0[${PYTHON_MULTI_USEDEP}] + >=dev-python/pymysql-0.9.2[${PYTHON_MULTI_USEDEP}] + >=dev-python/sqlparse-0.3.0[${PYTHON_MULTI_USEDEP}] + <dev-python/sqlparse-0.4.0[${PYTHON_MULTI_USEDEP}] + ssh? ( dev-python/paramiko[${PYTHON_MULTI_USEDEP}] )') " -DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] - test? ( dev-python/pytest[${PYTHON_USEDEP}] ${RDEPEND} )" +DEPEND="${RDEPEND}" + +distutils_enable_tests pytest + +BDEPEND="test? ( $(python_gen_cond_dep 'dev-python/mock[${PYTHON_MULTI_USEDEP}]') )" + +PATCHES=( "${FILESDIR}/mycli-1.21.1-fix-test-install.patch" ) python_test() { pytest --capture=sys \ diff --git a/dev-db/myodbc/Manifest b/dev-db/myodbc/Manifest index b9fbb6735fb8..902a632385ee 100644 --- a/dev-db/myodbc/Manifest +++ b/dev-db/myodbc/Manifest @@ -1,23 +1,7 @@ -AUX 5.3-cmake-doc-path.patch 1480 BLAKE2B 5f89253a86fa97fbf4103fbe797f60449245195e9c8d0f6d7f065e654a402de0461459dd11d9d878f0794089261ee5ee9fac3240bf90f7c8382edb54d84b27a6 SHA512 aa2303161af2b53608acc127464951cf77492a1a90e869a58893ba10a014077d7f8f319325b77713fffceeaa002943f4ce52b6cb9571b0b3d3d7ab562601968d -AUX 5.3.10-cxxlinkage.patch 1027 BLAKE2B b3df78658e4fb3243debb6f95cea6c5530db309ffc50f3a6afaff8bce143d147b4645a4bef4a54f6d04203ea132d4245812f5a2473ad7e9899f6e6b3c0799213 SHA512 f4d6df55313ccba995c8bd2e182397ce2652c2fbc0f0706474386654fb890fc47cad3a18f306206e840a47b729569e9a0ccb1cc2401c5280792afc4f544b41fd -AUX 5.3.10-mariadb.patch 1744 BLAKE2B a9e33c86f999394d77757f69f1f314238123fa4158297961b4ce0f501e6fb743927e892c1f6640945842e843da56a826e5da1a968d84f7e5dcf3b2b4a590c0e8 SHA512 ebf62a2e0cc901fce81d0ad358f62d1c41494a5e35fb5a4df6913d1f4d5b8bbb638a23cabfe483818efa39688744b7be8b98d922b4bdff830de701c665da0fa0 AUX 8.0-cmake-doc-path.patch 1384 BLAKE2B 96f2bb290e48363c9cfababb845732291f709a4f996f13ea39cb2dd5fc0a19a68dd87cbf3454fd48c5f2281ebb0f786f2415b6e45f5714c967e5ba5b5005bd5d SHA512 d2a007d9c6846ad22a1f43c621f0376085802f3b15ca846fa1dd5bc8c3fb6ec1dc913240cb1135ab16f9dd369c8680aba5f600c7d28660dd28bb06873d97cce3 -AUX 8.0.16-cxxlinkage.patch 1890 BLAKE2B 0b19115acada4abea75466891cced6979011736de9a64686b8ef5ec1f9bfad8c6297ac48f26d3297f24b6817cfaced033a3d42120bfb948cc1e9e7204665abc4 SHA512 460aad29170b8694cc6776553fef8ac15ca715f7dceea392f4a0c75fef98ac6e7a40cdd57c86ae4bcd216b942fa0a2ea92862defc54f8466ea32c74f6a6832e5 -AUX cmake-doc-path.patch 1498 BLAKE2B b79110c92b7fc80c64fdf05b469c4bb333d68610ff4fadc78bd307689651e41bcd66f33fd782db1b69c863ef81faee3d5eb485d5c9bd284db8be3948d2bec7e7 SHA512 2e48af11efb55a1508402d5d1d717a3dfc9897bf0ccce5aa190792fb673ac78b27a9480e951a6347a2c8d0e2fe08a28c11fd08c55dbea835a93f525decaaf09e AUX myodbc-8.0.19-cxxlinkage.patch 812 BLAKE2B 18e0f62ceb6bb33ad282972a8aae2f755c0324dbff09b450230d7eafb054a37b2f2ea47d6ab9eed42b0ce0682383c6a9e00d222dd5d7c81bb0ea4f4fe470808e SHA512 f4eb1f8c2182a1a6002548a3ef1fa37e859613b8ab31c67c34d6d7f237f435fe2cdada05e75a518d67c05175e5a6535ece55541bfde477df9820a871e83347d3 AUX odbc.ini.m4 406 BLAKE2B 3a20c28b1971753a14a4aa4d30efcc7de833488501a41d9404987567623d48250ce1daea1d3138adaef36741c4f2e0eafc60eba554e5262b45084f93f5205160 SHA512 84ab2a3aab594123d42b65205a7faf8e91fe9416a9e3c4c4c354533b9a298395f59172649c91dc0b671392bfbe5baeaddb6aa47119ce4c825917f3977d9dd521 AUX odbcinst.ini.m4 118 BLAKE2B 6da835746e063f415ad7d640233cfd96e744cd56e12aaab4a21a2bf0bd5f1bd1e5c3d1c9a28522e3aa07c1261abac92301819d4112ac6a000a729aca9f7f7ad6 SHA512 6d929bbffd602a9f060a05998149a6b16334f8a5e3db30d02ff5d38c0065085d085042521e700b87a63766e32aa27ae92be72cef33c2a7aa8f6767b6b71c82c8 -DIST mysql-connector-odbc-5.3.10-src.tar.gz 2646571 BLAKE2B e85e179ee8a54c8c98dd254e949c08227adc72141d52bc15935eafd60edaf95f47c12ca51fa9472ae29c761d5de2149277c58e6d3f02a566668be17f595ca7ba SHA512 ebe56b95a1690332959a7a37e8ed381b46730fb9f6fbd6522ddc1a6961e4c8cdac59681a957b33abeb6cae12f210278e4063daa59ce952d92acf427bc188e22b -DIST mysql-connector-odbc-5.3.9-linux-debian9-x86-32bit.tar.gz 11501665 BLAKE2B e41dd65d940c0c91c67e6ec4c46ea2c3327e96d372c493635d05833862f2aa73919410a9e9a9c090a6fa65fd29e022a9b088c07a5e11089aee04b3b86005ad1e SHA512 02fcf6ac88f6052206aa55b6fc2b37f499da26e596e8e64b1c20e87dc4a24f745416da56c6e1268feff60321f54cb45864b8d34e055ea2f99da37b6efeedc844 -DIST mysql-connector-odbc-5.3.9-linux-debian9-x86-64bit.tar.gz 12013057 BLAKE2B e372cfb6ca49f9f01e9e60d7cd497fc009ec38dee76ca2cfb74cc95213b84ef1eebca85e1400f19c9715c0f9b2ef40fc212196e14189f5506be8d0e887507ce4 SHA512 b54ca167f762b4d8b988b4a91f14dc6a4bf49f55bc639ce8eecc9eba6c11400bd3494d74ef77ebe3348bdefd8fb5b8c1b62b3a6beebb926a1899da17ea4a1b44 -DIST mysql-connector-odbc-8.0.16-src.tar.gz 3986610 BLAKE2B c91760f8e0352a57adb5400700d22f52f70d5210d85ff0932f5288f19c917c771ce9ea9abad097d27a9723c585d1029d56c09f6865f634f9c41ad852690e016d SHA512 b7ddcdf635441bc3ed0325a8562f453e42d3c9768b0fe0b42d9b5417e268f4631e3fca3c2adc417c124ede37254c7b1890c792593d846ecaf5b158ce4b4808cd -DIST mysql-connector-odbc-8.0.17-src.tar.gz 3953949 BLAKE2B 6d7fcef89c15d9f421f690291e793f1020b5f77f5e2132f130becd1ceed041887ffce77fda4cbc411d06972f1d488d434c8f132c0778af30a436c6b6e372e59e SHA512 474b107eb5d4c23e10c24dcf37b3787418afbd34ea385791fd0d8cdb5d29a6770cde4a61e3591329b344c442ff8f6daad3a2c250e881f9f5837eaa4e951af7e4 -DIST mysql-connector-odbc-8.0.19-src.tar.gz 3770465 BLAKE2B 7c57d85c13c17c08e1aed1deff3d60851ff68474c42971ea796fc50e3b766d7c49e5d993527691534c30f4007a94be852ac240bf50244cd3adf0f9500fbfc68c SHA512 4761d9d3eeccc932bfd76b9b27be4672e65b6125e85312dcfcb0b8b3cfe0ccf19982d40b2f85ae26e936e968d35d3136bab201b7dcb47eb4ad460c178c0d9f88 -DIST mysql-connector-odbc-8.0.20-src.tar.gz 3734268 BLAKE2B 606e8fe88712371da74bee8f44b21a56a2572603b1af693733fdd9ccd7ab62cb16a224593b368a40a021ed87ee433213a1a03b775c07b6bd28bbc44b7f905288 SHA512 483eb5c1d4a75ec4ec8681b33633bf89db708737191d149e1fed3c8bf0f839ab70951982a664fbf078c73fdfc114b126b5146682238faa244c904becf80858d7 -EBUILD myodbc-5.3.10-r3.ebuild 3591 BLAKE2B 0b7fb7976b32eb39b4e77c1d95011a623eab9ae83f02414911e7408614126a6a838d9ad8142092505c060d4142f1ac3f22f561ab6997e548999626c8c7b1e783 SHA512 73827923259949c1054f52727ec692312c37d887a6f56b8116d83dc9a91a2928ec2bacad723d9b41a32be56aea654cd94959f93237591d0aeb67df69ea563b41 -EBUILD myodbc-5.3.9.ebuild 3071 BLAKE2B 505f2c1707196ce3cf18a6923e06a441b61586658456fd4c7785ad8ce05e66794084c72d010a0ec00ee980fa8ec343e1df277ec2547573b81ad10607ba68a694 SHA512 abbc5624fbe6aac4a6dfb2483e697141f6c16ea3ce3060fb5b4e12c3c9c78a50cb1d0678f8967b9383944ae3a3c94d9d9f6f4bdb4b9103ee9d26cc182bdee86a -EBUILD myodbc-8.0.16.ebuild 3101 BLAKE2B 28664fd845b3bfb251e2f754c06b1b21ac1fb0ce85fbcaf620ff4ebea4ee181fe3c2f7c00ff8b47a084dc2e31a893c35f2d28e6176a4a40d508a6b0ebdfd57cd SHA512 856408b130fad4e4fc70fd48d841a2969aa85df46eeebb1d1476e5054b5d78af8e799463a7314f6db4131e4868146d6838c528b85f5bec1c569230231516a2cc -EBUILD myodbc-8.0.17.ebuild 3111 BLAKE2B 4b0f0391bb0b71fc277da100630891bfca04d4ca87c3852eb728c1ba19c3de875654ee7fc1c5c66de1071f9c732c5bd2203ebd83f3654d616617895fa7a936ed SHA512 c5f960395fdb30f398dd182dafd4b75fcb6d7270ac327637e3d2fe169727cb377ee66a4e46e1a14221fc6c7aa34a617d5da636bc96f909eef772f73ec56b6a00 -EBUILD myodbc-8.0.19.ebuild 3113 BLAKE2B e27fc21290dfa09309813f047e0c72bad42c2cc5ca6aa54c3698b0456b42007d3c7676c5062838be9ecb8033d8b1e12dae01a7bc213cd7ce3356bdd30dee7a86 SHA512 f34dc7a7aaa9825c42ffca24cb9ffa136a8e0abeb5de0871bb3413f7b28cc8587fb01768d60ca55434787ca818acb29d97b13b6ba3ef9e3791e38c8f7b445652 -EBUILD myodbc-8.0.20.ebuild 3116 BLAKE2B e1d9057d6619769695a2035f3c130c4a7568a61f7ebdbdd95536d958ccdb0059324a2eecdaa5c9a24e71f3d0ef705218f1d9ff0f7f83f9f8211e58eb9332040c SHA512 89da191c673dd03bdc1189a1b79230158b3dc3d67644a1242e70db4f202b9f5d39aec001c04abe5d6da00f7aab41c1a36fd4815d5484f2373aed6f8a072c1f9a +DIST mysql-connector-odbc-8.0.21-src.tar.gz 3744268 BLAKE2B d43942cc94858023ae0c2140ffba8a0a676a763b167ef4cbf500b2b9c14d2b3486696f68d03b2cc4607cb7f302e2af25f1e5ce564441ecf6d44a03874e489c07 SHA512 dca83db2ae25e08e44eaf814cad7234c8b17c2935de69bec7d238881404b2bc062fd7e28c626b594a062ee488123be545b9384742e09168e64a1423425a41c40 +EBUILD myodbc-8.0.21.ebuild 3113 BLAKE2B e27fc21290dfa09309813f047e0c72bad42c2cc5ca6aa54c3698b0456b42007d3c7676c5062838be9ecb8033d8b1e12dae01a7bc213cd7ce3356bdd30dee7a86 SHA512 f34dc7a7aaa9825c42ffca24cb9ffa136a8e0abeb5de0871bb3413f7b28cc8587fb01768d60ca55434787ca818acb29d97b13b6ba3ef9e3791e38c8f7b445652 MISC metadata.xml 239 BLAKE2B c4d6706d083b72927d239f41a644a4009c054c1c1a388af7733d3a2daf47d354009eb472573304a6be272601f05535297bcd9ceaea811a741cd905577ffe53d1 SHA512 e6e2fafe2f503db1d12e3d2368a99631ee8d014b7ea802d9879e7e3e2c0f9378675fffccd78ed09b914ae781ac3902567b1a53a721906e3ea63ceb51d0a1654b diff --git a/dev-db/myodbc/files/5.3-cmake-doc-path.patch b/dev-db/myodbc/files/5.3-cmake-doc-path.patch deleted file mode 100644 index 54f35d41d96a..000000000000 --- a/dev-db/myodbc/files/5.3-cmake-doc-path.patch +++ /dev/null @@ -1,43 +0,0 @@ -=== modified file 'CMakeLists.txt' ---- a/CMakeLists.txt 2013-03-09 09:51:06 +0000 -+++ b/CMakeLists.txt 2013-03-09 11:05:27 +0000 -@@ -33,6 +33,12 @@ - - INCLUDE(version.cmake) - -+IF(WITH_DOCUMENTATION_INSTALL_PATH) -+ set(DOCUMENTATION_INSTALL_PATH ${WITH_DOCUMENTATION_INSTALL_PATH}) -+ELSE(WITH_DOCUMENTATION_INSTALL_PATH) -+ set(DOCUMENTATION_INSTALL_PATH ${CMAKE_INSTALL_PREFIX}/share/doc/myodbc-${CONNECTOR_MAJOR}.${CONNECTOR_MINOR}) -+ENDIF(WITH_DOCUMENTATION_INSTALL_PATH) -+ - #Default is to build both drivers - IF(UNICODE OR NOT ANSI) - MESSAGE(STATUS "Configuring to build Unicode driver") -@@ -329,19 +335,17 @@ - - ELSE(WIN32) - -- INSTALL(FILES ChangeLog DESTINATION .) -- INSTALL(FILES README DESTINATION .) -- INSTALL(FILES README.debug DESTINATION .) -- INSTALL(FILES INSTALL DESTINATION .) -+ INSTALL(FILES ChangeLog DESTINATION ${DOCUMENTATION_INSTALL_PATH}) -+ INSTALL(FILES README DESTINATION ${DOCUMENTATION_INSTALL_PATH}) -+ INSTALL(FILES README.debug DESTINATION ${DOCUMENTATION_INSTALL_PATH}) -+ INSTALL(FILES INSTALL DESTINATION ${DOCUMENTATION_INSTALL_PATH}) - IF(EXISTS "${CMAKE_SOURCE_DIR}/COPYING") -- INSTALL(FILES COPYING DESTINATION .) - ELSE() -- INSTALL(FILES LICENSE.mysql DESTINATION .) - ENDIF() - - ENDIF(WIN32) - --INSTALL(FILES Licenses_for_Third-Party_Components.txt DESTINATION .) -+INSTALL(FILES Licenses_for_Third-Party_Components.txt DESTINATION ${DOCUMENTATION_INSTALL_PATH}) - - INCLUDE(CPack) - - - diff --git a/dev-db/myodbc/files/5.3.10-cxxlinkage.patch b/dev-db/myodbc/files/5.3.10-cxxlinkage.patch deleted file mode 100644 index 796a13754f86..000000000000 --- a/dev-db/myodbc/files/5.3.10-cxxlinkage.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -aurN a/cmake/FindMySQL.cmake b/cmake/FindMySQL.cmake ---- a/cmake/FindMySQL.cmake 2016-11-29 07:40:13.000000000 -0500 -+++ b/cmake/FindMySQL.cmake 2017-02-17 13:59:18.115389096 -0500 -@@ -747,7 +747,7 @@ - endif() - - if(NOT MYSQL_CXXFLAGS) -- if(MYSQL_CXX_LINKAGE OR MYSQL_VERSION_ID GREATER 50603) -+ if(MYSQL_CXX_LINKAGE) - _mysql_conf(MYSQL_CXXFLAGS "--cxxflags") - set(MYSQL_CXX_LINKAGE 1) - else() -diff -aurN a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt 2018-02-10 21:41:13.161553751 -0500 -+++ b/CMakeLists.txt 2018-02-10 21:45:20.038398824 -0500 -@@ -379,10 +379,9 @@ - SET(EXECUTABLE_OUTPUT_PATH "${CMAKE_BINARY_DIR}/bin") - SET(LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}/lib") - --SET(LIB_SUBDIR "lib") --IF(RPM_BUILD AND CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|ppc64|ppc64p7|s390x|sparc64)") -- SET(LIB_SUBDIR "lib64") --ENDIF() -+IF(NOT LIB_SUBDIR) -+ MESSAGE(ERROR "LIB_SUBDIR is not set") -+ENDIF(NOT LIB_SUBDIR) - - MESSAGE(STATUS "Installation library subdir: ${LIB_SUBDIR}") - diff --git a/dev-db/myodbc/files/5.3.10-mariadb.patch b/dev-db/myodbc/files/5.3.10-mariadb.patch deleted file mode 100644 index c860349e4b71..000000000000 --- a/dev-db/myodbc/files/5.3.10-mariadb.patch +++ /dev/null @@ -1,58 +0,0 @@ ---- a/include/sys_main.h 2018-01-19 05:36:38.000000000 -0500 -+++ b/include/sys_main.h 2018-03-01 11:40:04.554713079 -0500 -@@ -20,6 +20,8 @@ - extern "C" { - #endif - -+#include "sys/mysql/psi/psi_memory.h" -+ - #define MY_FAE 8 /* Fatal if any error */ - #define MY_WME 16 /* Write message on error */ - #define MY_ZEROFILL 32 /* my_malloc(), fill array with zero */ ---- a/driver/connect.c 2018-01-19 05:36:38.000000000 -0500 -+++ b/driver/connect.c 2018-03-01 11:39:51.458676373 -0500 -@@ -179,7 +179,7 @@ - /* Set other connection options */ - - if (ds->allow_big_results || ds->safe) --#if MYSQL_VERSION_ID >= 50709 -+#if MYSQL_VERSION_ID >= 50709 && !defined(MARIADB_BASE_VERSION) - mysql_options(mysql, MYSQL_OPT_MAX_ALLOWED_PACKET, &max_long); - #else - /* max_allowed_packet is a magical mysql macro. */ -@@ -252,7 +252,7 @@ - ds_get_utf8attr(ds->rsakey, &ds->rsakey8)); - } - #endif --#if MYSQL_VERSION_ID >= 50710 -+#if MYSQL_VERSION_ID >= 50710 && !defined(MARIADB_BASE_VERSION) - { - char tls_options[128] = { 0 }; - if (!ds->no_tls_1) -@@ -323,7 +323,7 @@ - #endif - - mysql->options.use_ssl = !ds->disable_ssl_default; --#if MYSQL_VERSION_ID >= 50703 -+#if MYSQL_VERSION_ID >= 50703 && !defined(MARIADB_BASE_VERSION) - { - if (ds->ssl_enforce) - { -@@ -332,7 +332,7 @@ - } - #endif - --#if MYSQL_VERSION_ID >= 50711 -+#if MYSQL_VERSION_ID >= 50711 && !defined(MARIADB_BASE_VERSION) - if (ds->sslmode) - { - unsigned int mode = 0; -@@ -510,7 +510,7 @@ - } - } - --#if MYSQL_VERSION_ID >= 50709 -+#if MYSQL_VERSION_ID >= 50709 && !defined(MARIADB_BASE_VERSION) - mysql_get_option(mysql, MYSQL_OPT_NET_BUFFER_LENGTH, &dbc->net_buffer_len); - #else - // for older versions just use net_buffer_length() macro diff --git a/dev-db/myodbc/files/8.0.16-cxxlinkage.patch b/dev-db/myodbc/files/8.0.16-cxxlinkage.patch deleted file mode 100644 index 326036c0b88d..000000000000 --- a/dev-db/myodbc/files/8.0.16-cxxlinkage.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff -aurN a/cmake/FindMySQL.cmake b/cmake/FindMySQL.cmake ---- a/cmake/FindMySQL.cmake 2016-11-29 07:40:13.000000000 -0500 -+++ b/cmake/FindMySQL.cmake 2017-02-17 13:59:18.115389096 -0500 -@@ -747,7 +747,7 @@ - endif() - - if(NOT MYSQL_CXXFLAGS) -- if(MYSQL_CXX_LINKAGE OR MYSQL_VERSION_ID GREATER 50603) -+ if(MYSQL_CXX_LINKAGE) - _mysql_conf(MYSQL_CXXFLAGS "--cxxflags") - set(MYSQL_CXX_LINKAGE 1) - else() -diff -aurN a/CMakeLists.txt b/CMakeLists.txt ---- a/CMakeLists.txt 2018-02-10 21:41:13.161553751 -0500 -+++ b/CMakeLists.txt 2018-02-10 21:45:20.038398824 -0500 -@@ -379,10 +379,9 @@ - SET(EXECUTABLE_OUTPUT_PATH "${CMAKE_BINARY_DIR}/bin") - SET(LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}/lib") - --SET(LIB_SUBDIR "lib") --IF(RPM_BUILD AND CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|ppc64|ppc64p7|s390x|sparc64|aarch64)") -- SET(LIB_SUBDIR "lib64") --ENDIF() -+IF(NOT LIB_SUBDIR) -+ MESSAGE(ERROR "LIB_SUBDIR is not set") -+ENDIF(NOT LIB_SUBDIR) - - MESSAGE(STATUS "Installation library subdir: ${LIB_SUBDIR}") - -diff -aurN a/driver/CMakeLists.txt b/driver/CMakeLists.txt ---- a/driver/CMakeLists.txt 2019-06-11 13:46:37.863345781 -0400 -+++ b/driver/CMakeLists.txt 2019-06-11 14:04:25.758997218 -0400 -@@ -194,29 +194,3 @@ - - ENDWHILE(${DRIVER_INDEX} LESS ${DRIVERS_COUNT}) - --IF(MYSQL8) -- SET(ssl_libs_to_find -- libcrypto.* -- libssl.* -- libeay32.* -- ssleay32.* -- ) -- -- SET(_SSL_PATH) -- -- IF(WIN32) -- SET(_SSL_PATH ${MYSQL_DIR}/bin/) -- ELSE(WIN32) -- SET(_SSL_PATH ${MYSQL_DIR}/lib/) -- ENDIF(WIN32) -- -- FOREACH(_lib_to_find IN LISTS ssl_libs_to_find) -- INSTALL(DIRECTORY ${_SSL_PATH} DESTINATION ${LIB_SUBDIR} -- FILES_MATCHING -- PATTERN "mecab" EXCLUDE -- PATTERN "pkgconfig" EXCLUDE -- PATTERN "plugin" EXCLUDE -- PATTERN ${_lib_to_find}) -- ENDFOREACH() -- --ENDIF(MYSQL8) -\ No newline at end of file diff --git a/dev-db/myodbc/files/cmake-doc-path.patch b/dev-db/myodbc/files/cmake-doc-path.patch deleted file mode 100644 index c7f7d9d37ce7..000000000000 --- a/dev-db/myodbc/files/cmake-doc-path.patch +++ /dev/null @@ -1,43 +0,0 @@ -=== modified file 'CMakeLists.txt' ---- CMakeLists.txt 2013-03-09 09:51:06 +0000 -+++ CMakeLists.txt 2013-03-09 11:05:27 +0000 -@@ -33,6 +33,12 @@ - SET(CONNECTOR_MAJOR "5") - SET(CONNECTOR_MINOR "2") - -+IF(WITH_DOCUMENTATION_INSTALL_PATH) -+ set(DOCUMENTATION_INSTALL_PATH ${WITH_DOCUMENTATION_INSTALL_PATH}) -+ELSE(WITH_DOCUMENTATION_INSTALL_PATH) -+ set(DOCUMENTATION_INSTALL_PATH ${CMAKE_INSTALL_PREFIX}/share/doc/myodbc-${CONNECTOR_MAJOR}.${CONNECTOR_MINOR}) -+ENDIF(WITH_DOCUMENTATION_INSTALL_PATH) -+ - IF(CONNECTOR_MINOR LESS 10) - SET(CONNECTOR_MINOR_PADDED "0${CONNECTOR_MINOR}") - ELSE(CONNECTOR_MINOR LESS 10) -@@ -329,19 +335,17 @@ - - ELSE(WIN32) - -- INSTALL(FILES ChangeLog DESTINATION .) -- INSTALL(FILES README DESTINATION .) -- INSTALL(FILES README.debug DESTINATION .) -- INSTALL(FILES INSTALL DESTINATION .) -+ INSTALL(FILES ChangeLog DESTINATION ${DOCUMENTATION_INSTALL_PATH}) -+ INSTALL(FILES README DESTINATION ${DOCUMENTATION_INSTALL_PATH}) -+ INSTALL(FILES README.debug DESTINATION ${DOCUMENTATION_INSTALL_PATH}) -+ INSTALL(FILES INSTALL DESTINATION ${DOCUMENTATION_INSTALL_PATH}) - IF(EXISTS "${CMAKE_SOURCE_DIR}/COPYING") -- INSTALL(FILES COPYING DESTINATION .) - ELSE() -- INSTALL(FILES LICENSE.mysql DESTINATION .) - ENDIF() - - ENDIF(WIN32) - --INSTALL(FILES Licenses_for_Third-Party_Components.txt DESTINATION .) -+INSTALL(FILES Licenses_for_Third-Party_Components.txt DESTINATION ${DOCUMENTATION_INSTALL_PATH}) - - INCLUDE(CPack) - - - diff --git a/dev-db/myodbc/myodbc-5.3.10-r3.ebuild b/dev-db/myodbc/myodbc-5.3.10-r3.ebuild deleted file mode 100644 index ffae941ae9e1..000000000000 --- a/dev-db/myodbc/myodbc-5.3.10-r3.ebuild +++ /dev/null @@ -1,130 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -# Build is broken with ninja -CMAKE_MAKEFILE_GENERATOR=emake - -inherit cmake-multilib flag-o-matic versionator - -MAJOR="$(get_version_component_range 1-2 $PV)" -MY_PN="mysql-connector-odbc" -MY_P="${MY_PN}-${PV/_p/r}-src" - -DESCRIPTION="ODBC driver for MySQL" -HOMEPAGE="http://www.mysql.com/products/myodbc/" -SRC_URI="https://dev.mysql.com/get/Downloads/Connector-ODBC/${MAJOR}/${MY_P}.tar.gz" - -LICENSE="GPL-2" -SLOT="${MAJOR}" -KEYWORDS="amd64 ppc x86" -IUSE="" - -# Does not build with libmariadb -RDEPEND=" - dev-db/unixODBC[${MULTILIB_USEDEP}] - <dev-db/mysql-connector-c-8.0:0=[${MULTILIB_USEDEP}] - !>=dev-db/mariadb-10.2.0[client-libs(+)] - !dev-db/mariadb-connector-c[mysqlcompat(-)] -" -DEPEND="${RDEPEND}" -S=${WORKDIR}/${MY_P} - -# Careful! -DRIVER_NAME="${PN}-${SLOT}" - -# Patch document path so it doesn't install files to /usr -PATCHES=( - "${FILESDIR}/${MAJOR}-cmake-doc-path.patch" - "${FILESDIR}/5.3.10-cxxlinkage.patch" - "${FILESDIR}/5.3.10-mariadb.patch" -) - -src_prepare() { - # Remove Tests - sed -i -e "s/ADD_SUBDIRECTORY(test)//" \ - "${S}/CMakeLists.txt" - - # Fix as-needed on the installer binary -# echo "TARGET_LINK_LIBRARIES(myodbc-installer odbc)" >> "${S}/installer/CMakeLists.txt" - - cmake-utils_src_prepare -} - -multilib_src_configure() { - # MYSQL_CXX_LINKAGE expects "mysql_config --cxxflags" which doesn't exist on MariaDB - mycmakeargs+=( - -DMYSQL_CXX_LINKAGE=0 - -DWITH_UNIXODBC=1 - -DWITH_DOCUMENTATION_INSTALL_PATH=/usr/share/doc/${PF} - -DMYSQL_LIB_DIR="${EPREFIX}/usr/$(get_libdir)" - -DLIB_SUBDIR="$(get_libdir)/${PN}-${MAJOR}" - -DMYSQL_INCLUDE_DIR="$(mysql_config --variable=pkgincludedir)" - -DMYSQLCLIENT_NO_THREADS=ON - -DDISABLE_GUI=ON - # The NUMA and LIBWRAP options are not really used. - # They are just copied from the server code - -DWITH_NUMA=OFF - -DWITH_LIBWRAP=OFF - ) - cmake-utils_src_configure -} - -multilib_src_install_all() { - debug-print-function ${FUNCNAME} "$@" - - dodir /usr/share/${PN}-${SLOT} - for i in odbc.ini odbcinst.ini; do - einfo "Building $i" - sed \ - -e "s,__PN__,${DRIVER_NAME},g" \ - -e "s,__PF__,${MAJOR},g" \ - -e "s,lib/libmyodbc3.so,$(get_libdir)/${PN}-${MAJOR}/libmyodbc${SLOT:0:1}a.so,g" \ - >"${D}"/usr/share/${PN}-${SLOT}/${i} \ - <"${FILESDIR}"/${i}.m4 \ - || die "Failed to build $i" - done; - mv "${D}/usr/bin/myodbc-installer" \ - "${D}/usr/bin/myodbc-installer-${MAJOR}" || die "failed to move slotted binary" -} - -pkg_config() { - - [ "${ROOT}" != "/" ] && \ - die 'Sorry, non-standard ROOT setting is not supported :-(' - - local msg='MySQL ODBC driver' - local drivers=$(/usr/bin/odbcinst -q -d) - - if echo $drivers | grep -vq "^\[${DRIVER_NAME}\]$" ; then - ebegin "Installing ${msg}" - /usr/bin/odbcinst -i -d -f /usr/share/${PN}-${SLOT}/odbcinst.ini - rc=$? - eend $rc - [ $rc -ne 0 ] && die - else - einfo "Skipping already installed ${msg}" - fi - - local sources=$(/usr/bin/odbcinst -q -s) - msg='sample MySQL ODBC DSN' - if echo $sources | grep -vq "^\[${DRIVER_NAME}-test\]$"; then - ebegin "Installing ${msg}" - /usr/bin/odbcinst -i -s -l -f /usr/share/${PN}-${SLOT}/odbc.ini - rc=$? - eend $rc - [ $rc -ne 0 ] && die - else - einfo "Skipping already installed ${msg}" - fi -} - -pkg_postinst() { - - elog "If this is a new install, please run the following command" - elog "to configure the MySQL ODBC drivers and sources:" - elog "emerge --config =${CATEGORY}/${PF}" - elog "Please note that the driver name used to form the DSN now includes the SLOT." - elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}" -} diff --git a/dev-db/myodbc/myodbc-5.3.9.ebuild b/dev-db/myodbc/myodbc-5.3.9.ebuild deleted file mode 100644 index af3037935451..000000000000 --- a/dev-db/myodbc/myodbc-5.3.9.ebuild +++ /dev/null @@ -1,112 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -MULTILIB_COMPAT=( abi_x86_{32,64} ) -inherit multilib-minimal versionator - -MAJOR="$(get_version_component_range 1-2 $PV)" -MY_PN="mysql-connector-odbc" -MY_P="${MY_PN}-${PV/_p/r}-linux-debian9-x86" - -DESCRIPTION="ODBC driver for MySQL" -HOMEPAGE="http://www.mysql.com/products/myodbc/" -BASE_URI="https://cdn.mysql.com/Downloads/Connector-ODBC/${MAJOR}/${MY_P}" -#https://cdn.mysql.com//Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.8-linux-debian8-x86-64bit.tar.gz -SRC_URI="amd64? ( ${BASE_URI}-64bit.tar.gz abi_x86_32? ( ${BASE_URI}-32bit.tar.gz ) ) - x86? ( ${BASE_URI}-32bit.tar.gz )" - -LICENSE="GPL-2" -SLOT="${MAJOR}" -KEYWORDS="-* ~amd64 ~x86" -IUSE="" - -RDEPEND=" - dev-db/unixODBC[${MULTILIB_USEDEP}] - sys-libs/zlib[${MULTILIB_USEDEP}]" -S=${WORKDIR} - -#src_configure() { :; } - -src_compile() { :; } - -multilib_src_install() { - cd "${S}" || die - local prefix - if use amd64 && multilib_is_native_abi ; then - prefix="${MY_P}-64bit" - else - prefix="${MY_P}-32bit" - fi - exeinto /usr/$(get_libdir)/${PN}-${MAJOR} - doexe ${prefix}/lib/libmyodbc5a.so ${prefix}/lib/libmyodbc5w.so -# use gtk && doexe ${prefix}/lib/libmyodbc5S.so -} - -multilib_src_install_all() { - local DRIVER_NAME="${PN}-${SLOT}" - local prefix - if use amd64 ; then - prefix="${MY_P}-64bit" - else - prefix="${MY_P}-32bit" - fi - exeinto /usr/bin - newexe "${prefix}/bin/myodbc-installer" myodbc-installer-${MAJOR} - - dodir /usr/share/${PN}-${SLOT} - for i in odbc.ini odbcinst.ini; do - einfo "Building $i" - sed \ - -e "s,__PN__,${DRIVER_NAME},g" \ - -e "s,__PF__,${MAJOR},g" \ - -e "s,libmyodbc3.so,libmyodbc${SLOT:0:1}a.so,g" \ - -e "s,lib/libmyodbc,$(get_libdir)/${DRIVER_NAME}/libmyodbc,g" \ - >"${D}/usr/share/${DRIVER_NAME}/${i}" \ - <"${FILESDIR}"/${i}.m4 \ - || die "Failed to build $i" - done; - - dodoc ${prefix}/{ChangeLog,INSTALL,README,Licenses_for_Third-Party_Components.txt} -} - -pkg_config() { - - [ "${ROOT}" != "/" ] && \ - die 'Sorry, non-standard ROOT setting is not supported :-(' - - local msg='MySQL ODBC driver' - local drivers=$(/usr/bin/odbcinst -q -d) - - if echo $drivers | grep -vq "^\[${DRIVER_NAME}\]$" ; then - ebegin "Installing ${msg}" - /usr/bin/odbcinst -i -d -f /usr/share/${PN}-${SLOT}/odbcinst.ini - rc=$? - eend $rc - [ $rc -ne 0 ] && die - else - einfo "Skipping already installed ${msg}" - fi - - local sources=$(/usr/bin/odbcinst -q -s) - msg='sample MySQL ODBC DSN' - if echo $sources | grep -vq "^\[${DRIVER_NAME}-test\]$"; then - ebegin "Installing ${msg}" - /usr/bin/odbcinst -i -s -l -f /usr/share/${PN}-${SLOT}/odbc.ini - rc=$? - eend $rc - [ $rc -ne 0 ] && die - else - einfo "Skipping already installed ${msg}" - fi -} - -pkg_postinst() { - - elog "If this is a new install, please run the following command" - elog "to configure the MySQL ODBC drivers and sources:" - elog "emerge --config =${CATEGORY}/${PF}" - elog "Please note that the driver name used to form the DSN now includes the SLOT." - elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}" -} diff --git a/dev-db/myodbc/myodbc-8.0.16.ebuild b/dev-db/myodbc/myodbc-8.0.16.ebuild deleted file mode 100644 index a5db40b27ad7..000000000000 --- a/dev-db/myodbc/myodbc-8.0.16.ebuild +++ /dev/null @@ -1,119 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cmake-multilib - -MAJOR="$(ver_cut 1-2)" -MY_PN="mysql-connector-odbc" -MY_P="${MY_PN}-${PV/_p/r}-src" - -DESCRIPTION="ODBC driver for MySQL" -HOMEPAGE="http://www.mysql.com/products/myodbc/" -SRC_URI="https://dev.mysql.com/get/Downloads/Connector-ODBC/${MAJOR}/${MY_P}.tar.gz" - -LICENSE="GPL-2" -SLOT="${MAJOR}" -KEYWORDS="~amd64 ~ppc ~x86" -IUSE="" - -# Broken when built dynamically against libmysqlclient.so -RDEPEND=" - dev-db/unixODBC[${MULTILIB_USEDEP}] - >=dev-db/mysql-connector-c-8.0:0=[static-libs,${MULTILIB_USEDEP}] -" -DEPEND="${RDEPEND}" -S=${WORKDIR}/${MY_P} - -# Careful! -DRIVER_NAME="${PN}-${SLOT}" - -# Patch document path so it doesn't install files to /usr -PATCHES=( - "${FILESDIR}/${MAJOR}-cmake-doc-path.patch" - "${FILESDIR}/8.0.16-cxxlinkage.patch" -) - -src_prepare() { - # Remove Tests - sed -i -e "s/ADD_SUBDIRECTORY(test)//" \ - "${S}/CMakeLists.txt" - - cmake-utils_src_prepare -} - -multilib_src_configure() { - mycmakeargs+=( - -DMYSQLCLIENT_STATIC_LINKING=1 - -DMYSQL_CXX_LINKAGE=1 - -DWITH_UNIXODBC=1 - -DWITH_DOCUMENTATION_INSTALL_PATH=/usr/share/doc/${PF} - -DLIB_SUBDIR="$(get_libdir)/${PN}-${MAJOR}" - -DMYSQLCLIENT_NO_THREADS=ON - -DDISABLE_GUI=ON - # The NUMA and LIBWRAP options are not really used. - # They are just copied from the server code - -DWITH_NUMA=OFF - -DWITH_LIBWRAP=OFF - ) - cmake-utils_src_configure -} - -multilib_src_install_all() { - debug-print-function ${FUNCNAME} "$@" - - dodir /usr/share/${PN}-${SLOT} - for i in odbc.ini odbcinst.ini; do - einfo "Building $i" - sed \ - -e "s,__PN__,${DRIVER_NAME},g" \ - -e "s,__PF__,${MAJOR},g" \ - -e "s,lib/libmyodbc3.so,$(get_libdir)/${PN}-${MAJOR}/libmyodbc${SLOT:0:1}a.so,g" \ - >"${D}"/usr/share/${PN}-${SLOT}/${i} \ - <"${FILESDIR}"/${i}.m4 \ - || die "Failed to build $i" - done; - mv "${D}/usr/bin/myodbc-installer" \ - "${D}/usr/bin/myodbc-installer-${MAJOR}" || die "failed to move slotted binary" -} - -pkg_config() { - - [ "${ROOT}" != "/" ] && \ - die 'Sorry, non-standard ROOT setting is not supported :-(' - - local msg='MySQL ODBC driver' - local drivers=$(/usr/bin/odbcinst -q -d) - - if echo $drivers | grep -vq "^\[${DRIVER_NAME}\]$" ; then - ebegin "Installing ${msg}" - /usr/bin/odbcinst -i -d -f /usr/share/${PN}-${SLOT}/odbcinst.ini - rc=$? - eend $rc - [ $rc -ne 0 ] && die - else - einfo "Skipping already installed ${msg}" - fi - - local sources=$(/usr/bin/odbcinst -q -s) - msg='sample MySQL ODBC DSN' - if echo $sources | grep -vq "^\[${DRIVER_NAME}-test\]$"; then - ebegin "Installing ${msg}" - /usr/bin/odbcinst -i -s -l -f /usr/share/${PN}-${SLOT}/odbc.ini - rc=$? - eend $rc - [ $rc -ne 0 ] && die - else - einfo "Skipping already installed ${msg}" - fi -} - -pkg_postinst() { - - elog "If this is a new install, please run the following command" - elog "to configure the MySQL ODBC drivers and sources:" - elog "emerge --config =${CATEGORY}/${PF}" - elog "Please note that the driver name used to form the DSN now includes the SLOT." - elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}" -} diff --git a/dev-db/myodbc/myodbc-8.0.17.ebuild b/dev-db/myodbc/myodbc-8.0.17.ebuild deleted file mode 100644 index aabca64a42ab..000000000000 --- a/dev-db/myodbc/myodbc-8.0.17.ebuild +++ /dev/null @@ -1,119 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cmake-multilib - -MAJOR="$(ver_cut 1-2)" -MY_PN="mysql-connector-odbc" -MY_P="${MY_PN}-${PV/_p/r}-src" - -DESCRIPTION="ODBC driver for MySQL" -HOMEPAGE="https://dev.mysql.com/downloads/connector/odbc/" -SRC_URI="https://dev.mysql.com/get/Downloads/Connector-ODBC/${MAJOR}/${MY_P}.tar.gz" - -LICENSE="GPL-2" -SLOT="${MAJOR}" -KEYWORDS="~amd64 ~ppc ~x86" -IUSE="" - -# Broken when built dynamically against libmysqlclient.so -RDEPEND=" - dev-db/unixODBC[${MULTILIB_USEDEP}] - >=dev-db/mysql-connector-c-8.0:0=[static-libs,${MULTILIB_USEDEP}] -" -DEPEND="${RDEPEND}" -S=${WORKDIR}/${MY_P} - -# Careful! -DRIVER_NAME="${PN}-${SLOT}" - -# Patch document path so it doesn't install files to /usr -PATCHES=( - "${FILESDIR}/${MAJOR}-cmake-doc-path.patch" - "${FILESDIR}/8.0.16-cxxlinkage.patch" -) - -src_prepare() { - # Remove Tests - sed -i -e "s/ADD_SUBDIRECTORY(test)//" \ - "${S}/CMakeLists.txt" - - cmake-utils_src_prepare -} - -multilib_src_configure() { - mycmakeargs+=( - -DMYSQLCLIENT_STATIC_LINKING=1 - -DMYSQL_CXX_LINKAGE=1 - -DWITH_UNIXODBC=1 - -DWITH_DOCUMENTATION_INSTALL_PATH=/usr/share/doc/${PF} - -DLIB_SUBDIR="$(get_libdir)/${PN}-${MAJOR}" - -DMYSQLCLIENT_NO_THREADS=ON - -DDISABLE_GUI=ON - # The NUMA and LIBWRAP options are not really used. - # They are just copied from the server code - -DWITH_NUMA=OFF - -DWITH_LIBWRAP=OFF - ) - cmake-utils_src_configure -} - -multilib_src_install_all() { - debug-print-function ${FUNCNAME} "$@" - - dodir /usr/share/${PN}-${SLOT} - for i in odbc.ini odbcinst.ini; do - einfo "Building $i" - sed \ - -e "s,__PN__,${DRIVER_NAME},g" \ - -e "s,__PF__,${MAJOR},g" \ - -e "s,lib/libmyodbc3.so,$(get_libdir)/${PN}-${MAJOR}/libmyodbc${SLOT:0:1}a.so,g" \ - >"${D}"/usr/share/${PN}-${SLOT}/${i} \ - <"${FILESDIR}"/${i}.m4 \ - || die "Failed to build $i" - done; - mv "${D}/usr/bin/myodbc-installer" \ - "${D}/usr/bin/myodbc-installer-${MAJOR}" || die "failed to move slotted binary" -} - -pkg_config() { - - [ "${ROOT}" != "/" ] && \ - die 'Sorry, non-standard ROOT setting is not supported :-(' - - local msg='MySQL ODBC driver' - local drivers=$(/usr/bin/odbcinst -q -d) - - if echo $drivers | grep -vq "^\[${DRIVER_NAME}\]$" ; then - ebegin "Installing ${msg}" - /usr/bin/odbcinst -i -d -f /usr/share/${PN}-${SLOT}/odbcinst.ini - rc=$? - eend $rc - [ $rc -ne 0 ] && die - else - einfo "Skipping already installed ${msg}" - fi - - local sources=$(/usr/bin/odbcinst -q -s) - msg='sample MySQL ODBC DSN' - if echo $sources | grep -vq "^\[${DRIVER_NAME}-test\]$"; then - ebegin "Installing ${msg}" - /usr/bin/odbcinst -i -s -l -f /usr/share/${PN}-${SLOT}/odbc.ini - rc=$? - eend $rc - [ $rc -ne 0 ] && die - else - einfo "Skipping already installed ${msg}" - fi -} - -pkg_postinst() { - - elog "If this is a new install, please run the following command" - elog "to configure the MySQL ODBC drivers and sources:" - elog "emerge --config =${CATEGORY}/${PF}" - elog "Please note that the driver name used to form the DSN now includes the SLOT." - elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}" -} diff --git a/dev-db/myodbc/myodbc-8.0.20.ebuild b/dev-db/myodbc/myodbc-8.0.20.ebuild deleted file mode 100644 index 4577fecc2341..000000000000 --- a/dev-db/myodbc/myodbc-8.0.20.ebuild +++ /dev/null @@ -1,118 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cmake-multilib - -MAJOR="$(ver_cut 1-2)" -MY_PN="mysql-connector-odbc" -MY_P="${MY_PN}-${PV/_p/r}-src" - -DESCRIPTION="ODBC driver for MySQL" -HOMEPAGE="https://dev.mysql.com/downloads/connector/odbc/" -SRC_URI="https://dev.mysql.com/get/Downloads/Connector-ODBC/${MAJOR}/${MY_P}.tar.gz" - -LICENSE="GPL-2" -SLOT="${MAJOR}" -KEYWORDS="~amd64 ~ppc ~x86" -IUSE="" - -# Broken when built dynamically against libmysqlclient.so -RDEPEND=" - dev-db/unixODBC[${MULTILIB_USEDEP}] - >=dev-db/mysql-connector-c-8.0:0=[static-libs,${MULTILIB_USEDEP}] -" -DEPEND="${RDEPEND}" -S=${WORKDIR}/${MY_P} - -# Careful! -DRIVER_NAME="${PN}-${SLOT}" - -# Patch document path so it doesn't install files to /usr -PATCHES=( - "${FILESDIR}/${MAJOR}-cmake-doc-path.patch" - "${FILESDIR}/${PN}-8.0.19-cxxlinkage.patch" -) - -src_prepare() { - # Remove Tests - sed -i -e "s/ADD_SUBDIRECTORY(test)//" \ - "${S}/CMakeLists.txt" - - cmake-utils_src_prepare -} - -multilib_src_configure() { - mycmakeargs+=( - -DMYSQLCLIENT_STATIC_LINKING=1 - -DMYSQL_CXX_LINKAGE=1 - -DWITH_UNIXODBC=1 - -DWITH_DOCUMENTATION_INSTALL_PATH=/usr/share/doc/${PF} - -DLIB_SUBDIR="$(get_libdir)/${PN}-${MAJOR}" - -DMYSQLCLIENT_NO_THREADS=ON - -DDISABLE_GUI=ON - # The NUMA and LIBWRAP options are not really used. - # They are just copied from the server code - -DWITH_NUMA=OFF - -DWITH_LIBWRAP=OFF - ) - cmake-utils_src_configure -} - -multilib_src_install_all() { - debug-print-function ${FUNCNAME} "$@" - - dodir /usr/share/${PN}-${SLOT} - for i in odbc.ini odbcinst.ini; do - einfo "Building $i" - sed \ - -e "s,__PN__,${DRIVER_NAME},g" \ - -e "s,__PF__,${MAJOR},g" \ - -e "s,lib/libmyodbc3.so,$(get_libdir)/${PN}-${MAJOR}/libmyodbc${SLOT:0:1}a.so,g" \ - >"${D}"/usr/share/${PN}-${SLOT}/${i} \ - <"${FILESDIR}"/${i}.m4 \ - || die "Failed to build $i" - done; - mv "${D}/usr/bin/myodbc-installer" \ - "${D}/usr/bin/myodbc-installer-${MAJOR}" || die "failed to move slotted binary" -} - -pkg_config() { - - [ "${ROOT}" != "/" ] && \ - die 'Sorry, non-standard ROOT setting is not supported :-(' - - local msg='MySQL ODBC driver' - local drivers=$(/usr/bin/odbcinst -q -d) - - if echo $drivers | grep -vq "^\[${DRIVER_NAME}\]$" ; then - ebegin "Installing ${msg}" - /usr/bin/odbcinst -i -d -f /usr/share/${PN}-${SLOT}/odbcinst.ini - rc=$? - eend $rc - [ $rc -ne 0 ] && die - else - einfo "Skipping already installed ${msg}" - fi - - local sources=$(/usr/bin/odbcinst -q -s) - msg='sample MySQL ODBC DSN' - if echo $sources | grep -vq "^\[${DRIVER_NAME}-test\]$"; then - ebegin "Installing ${msg}" - /usr/bin/odbcinst -i -s -l -f /usr/share/${PN}-${SLOT}/odbc.ini - rc=$? - eend $rc - [ $rc -ne 0 ] && die - else - einfo "Skipping already installed ${msg}" - fi -} - -pkg_postinst() { - elog "If this is a new install, please run the following command" - elog "to configure the MySQL ODBC drivers and sources:" - elog "emerge --config =${CATEGORY}/${PF}" - elog "Please note that the driver name used to form the DSN now includes the SLOT." - elog "The myodbc-install utility is installed as myodbc-install-${MAJOR}" -} diff --git a/dev-db/myodbc/myodbc-8.0.19.ebuild b/dev-db/myodbc/myodbc-8.0.21.ebuild index 93159f140c95..93159f140c95 100644 --- a/dev-db/myodbc/myodbc-8.0.19.ebuild +++ b/dev-db/myodbc/myodbc-8.0.21.ebuild diff --git a/dev-db/mysql++/Manifest b/dev-db/mysql++/Manifest index cd91da2d9b43..36eb46771889 100644 --- a/dev-db/mysql++/Manifest +++ b/dev-db/mysql++/Manifest @@ -1,16 +1,6 @@ -AUX mysql++-2.3.2-gcc-4.3.patch 358 BLAKE2B 708dd145194b3faed302109cfe11e48d9a65975e7ffc64e45907d92cdad9d438de20cd1101aa0e015d0f304762e03b8d4e4aac4e000bcfcd465855a5800c54ce SHA512 09ef458ea4e85e251bca585fec84b53c5b7937d06b9843ddb7d12fef9250c042a46738f6fa27866e171f0107de48df9b5b22416c0eeb86eebdff583438404a51 AUX mysql++-3.2.1-gold.patch 196 BLAKE2B d4bd1e259cdd8a4c52f0900ddc42a0001156f94e3aaf7d62515c120316b7affc821a3e7c30ecbcb7e2d4611154d54462531e4e87cf609734a0761c3d41ac41e6 SHA512 34cd99548f5f23371fd02074017329ec4814c59ab02b114a6fd4c811d30015e1e3192a8d5d6a6847f57a076dd606d44e74d69dae6f5581d5b8d252ea359ce658 -AUX mysql++-3.2.3-as-needed.patch 19502 BLAKE2B e3c65824c54c8bb0a06f88ab75a60103c47103d21b8a0de74e5f0cd0a824f27de375464c9c8b6bd0ec705f02a026f2d7ceae2656195d8d5e4b88ff10604bf708 SHA512 7b8674d6e1b3ce462e01f2f2d32782c83cdd56ec6288855ea5ff419afc8b139530e1ae4dc104475786856cda4834b11cec3342b8d0447d14f1ae3e77a61580c9 -AUX mysql++-3.2.3-mariadb-10.2.patch 630 BLAKE2B ca95d9f9d62368b91ecab34a8a78a52240908bc27536430de6d8610361e69de95746ae6f1e3f9a7ace2e995fb21d41c06a9bceec668ae9cbdc7ba1ccd034d1ac SHA512 550e5adbdaf04dd6460aeafd0e6cad6cd29124c85f4222216574cc41c7df8559b33ce3eda484eba620a7b97c16bc63e56e744770feccf92348ff066173ad8297 -AUX mysql++-3.2.4-as-needed.patch 18441 BLAKE2B e752974f029ffbf0dba21d9dff5fc3979abef49a517900345ea4ed632f854cfe5fdbe1c41760df05c5e3109ff14ee7ce7bbd30ac37c27c4d42c58e2bf84fbb45 SHA512 789e07b85d3908cc7956b29e8135653eac280de0736002566377cdf3d81ac11a13c0c7a4899343e44fb260bd49c93bb4b04a0ce3f2324f95293b74ee6de487b9 AUX mysql++-3.2.4-only-unit-tests.patch 331 BLAKE2B d3bee079ad466aa3f2e21d831a4ee77959c8a1f2d1ea9124f17dd081a7d39a99433c9c8dba10a8638fe72f4e0ccd8cf02751c3b036c9082a1351374a19e089e4 SHA512 02bb7a370a3f7eafd9111c01e6073a71d33f53d59eb7d8e04a40415ab2fc88011a1b2c79cba455b976b03613597d49f9256cdacfb3b984767959a707bf3ba7b0 AUX mysql++-3.2.5-as-needed.patch 18594 BLAKE2B 39baa700bd643205974e1e96e48f0595eb001421a6701e8905a6f2f9394b93ee1d107d984cb2df99ac8b65a97651c152fee15d2c75a56e917a488ccf3b755159 SHA512 6ece46847bccbf9612d1575eafe995f48133860c942b7acd99cd459dcd3a4964bf767b7c1963596d1c68e6738eae2fa07b699a4ec775547ee6905fa682e383f3 -DIST mysql++-2.3.2.tar.gz 1627115 BLAKE2B 058ed41485474e4283a7200aa57398e85162f697f017ccfde7974b85457bb827d17bfdd522ef46818d42a75751a0eeb6ade39ded73e0265ee6811eb2769df3ea SHA512 b546c8369550e541c1a0b1b0e301fdd298a771cb709ad6c6ea3450a8f8bbe7533989a82d1c19cd9bf9a261d7a1fc4c3760919d3d5e3e43b5d698b75b7abf07f7 -DIST mysql++-3.2.3.tar.gz 3241023 BLAKE2B 5faa5711c7ed7c64346013bd1ca6e7dc20e5b23d33983a719c892bbd1002f3986206df6cfef54316f11aa480f18dbc0a2cf6944f9572f3a7dca24cdb73099eb9 SHA512 b6b0a9856ede9e5e08be0f5ed1689b1256f8cf31c3afbb9c9e7f68d0734380e25909ef31cd04be6b253c86b2f881df10f3793a2d3e32042375dbbab4b0700d0a -DIST mysql++-3.2.4.tar.gz 4594696 BLAKE2B 7e0553b0e22bb3607a914fc7756ec192465af546749b0147a97558fb3d397e504f4552dcbc783f5bcc934e51fd1dac863e5479c4af3053d394a51c94cd825ee0 SHA512 69e23c211240854b59951bdb1cecc57f2f818d822a977942177e65195900dbdcc62d598c3e90c18f4a0a37e5340df7a149719c45b791de59c03d1f1259c5f4fd DIST mysql++-3.2.5.tar.gz 4748218 BLAKE2B ffceddb360cf6f0f38b7647f68e52ad9b659642c598c2aab7736813bf61d07316900d843749c2f9f4c753bd2087711ca712cc430f12b3a475c63ae3e5b11aff7 SHA512 5fa042a350322fa74afa28dc5e53f15cad32517001ab817493bf0d13a64e6559712f5e61184ef38a97bc8fe69f8732aaf436bc5d1663e4873f8baebee2e00892 -EBUILD mysql++-2.3.2-r1.ebuild 1410 BLAKE2B 6acbf4805dc44570d1d1b9df9a1c8769d3c13c9658b74cbad2052313d0538552693da45f2558be1afea78f80d6492ec36a9c02389ecbc054c60610ad521030eb SHA512 badefe7d214bd55b81965070b814b94c15fe3635d87c265225d2f9fef02360c3e09adeeb79a75c9990e89d596f111fc958c2a5fcec63624f14404192e4a26884 -EBUILD mysql++-3.2.3-r1.ebuild 1559 BLAKE2B f5faa6065871e79a3b87eb9ed77ee1ae1274db27b8603f69e22c8fce93176556171a92bffd95e909e1a0d8bd13e1bc6cee418f9c4eefd273e38efb504ac78c1d SHA512 c30655c82d474252029bdc09b6c75a3c9c508fd705e1623b1d4dfc8ce2daf48644b8c4158d4af28c0b5ea3f1fbed272ab4c5a49665e412d7b25ac50dba3893b8 -EBUILD mysql++-3.2.4.ebuild 1702 BLAKE2B 5b488b561b208e280ad4080a1d35786dbc79eaed1a6c130bcba2e82a8cf01144303b4cb9be5ce82dbb9c856896287d8d2739139e597111516c5ca6dbd7932bc6 SHA512 d7b0966941723d503fb8c05dfd91fa3ce0e0efbbbee469d2d036d616f499bbe2e17442deb05378f7b900824da0c4c76f144214ab93f4ce7e5af5401ec4b49401 EBUILD mysql++-3.2.5.ebuild 1699 BLAKE2B 9193f99cab83e4b9d3c37c36fc612956972bce8a0523edbf1e15d1f3224ff1c900dda7e92b89a97ab1e15ab469324abc50fe36f014ab6ff4405bf9b8494c0274 SHA512 c3872fe3d94db81dc9b1a22f75e0d121b8406aa43e466569327ef3688839c70fffb6f43e4ae1401366c7034f35003b7298f7ca04a759fa73b285dac85fcf9a1c MISC metadata.xml 239 BLAKE2B c4d6706d083b72927d239f41a644a4009c054c1c1a388af7733d3a2daf47d354009eb472573304a6be272601f05535297bcd9ceaea811a741cd905577ffe53d1 SHA512 e6e2fafe2f503db1d12e3d2368a99631ee8d014b7ea802d9879e7e3e2c0f9378675fffccd78ed09b914ae781ac3902567b1a53a721906e3ea63ceb51d0a1654b diff --git a/dev-db/mysql++/files/mysql++-2.3.2-gcc-4.3.patch b/dev-db/mysql++/files/mysql++-2.3.2-gcc-4.3.patch deleted file mode 100644 index f9456e8f88e5..000000000000 --- a/dev-db/mysql++/files/mysql++-2.3.2-gcc-4.3.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Naur mysql++-2.3.2-orig/lib/const_string.h mysql++-2.3.2/lib/const_string.h ---- mysql++-2.3.2-orig/lib/const_string.h 2008-03-22 16:16:39.000000000 -0600 -+++ mysql++-2.3.2/lib/const_string.h 2008-03-22 16:18:47.000000000 -0600 -@@ -35,6 +35,7 @@ - #include <iostream> - #include <stdexcept> - #include <string> -+#include <cstring> - - namespace mysqlpp { - diff --git a/dev-db/mysql++/files/mysql++-3.2.3-as-needed.patch b/dev-db/mysql++/files/mysql++-3.2.3-as-needed.patch deleted file mode 100644 index f4172076eec0..000000000000 --- a/dev-db/mysql++/files/mysql++-3.2.3-as-needed.patch +++ /dev/null @@ -1,254 +0,0 @@ ---- a/Makefile.in -+++ b/Makefile.in -@@ -529,87 +529,87 @@ - $(RANLIB) $@ - - ssqlsxlat$(EXEEXT): $(SSQLSXLAT_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) $(LIBPREFIX)mysqlpp_ssqls2parse$(LIBEXT) -- $(CXX) -o $@ $(SSQLSXLAT_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp -lmysqlpp_ssqls2parse -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(SSQLSXLAT_OBJECTS) $(LDFLAGS) -L. -lmysqlpp -lmysqlpp_ssqls2parse -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__ssqlsxlat___mac_setfilecmd) - - test_array_index$(EXEEXT): $(TEST_ARRAY_INDEX_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_ARRAY_INDEX_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_ARRAY_INDEX_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__test_array_index___mac_setfilecmd) - - test_cpool$(EXEEXT): $(TEST_CPOOL_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_CPOOL_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_CPOOL_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__test_cpool___mac_setfilecmd) - - test_datetime$(EXEEXT): $(TEST_DATETIME_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_DATETIME_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_DATETIME_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__test_datetime___mac_setfilecmd) - - test_inttypes$(EXEEXT): $(TEST_INTTYPES_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_INTTYPES_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_INTTYPES_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__test_inttypes___mac_setfilecmd) - - test_insertpolicy$(EXEEXT): $(TEST_INSERTPOLICY_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_INSERTPOLICY_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_INSERTPOLICY_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__test_insertpolicy___mac_setfilecmd) - - test_manip$(EXEEXT): $(TEST_MANIP_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_MANIP_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_MANIP_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__test_manip___mac_setfilecmd) - - test_null_comparison$(EXEEXT): $(TEST_NULL_COMPARISON_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_NULL_COMPARISON_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_NULL_COMPARISON_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__test_null_comparison___mac_setfilecmd) - - test_query_copy$(EXEEXT): $(TEST_QUERY_COPY_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_QUERY_COPY_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_QUERY_COPY_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__test_query_copy___mac_setfilecmd) - - test_qssqls$(EXEEXT): $(TEST_QSSQLS_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_QSSQLS_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_QSSQLS_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__test_qssqls___mac_setfilecmd) - - test_qstream$(EXEEXT): $(TEST_QSTREAM_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_QSTREAM_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_QSTREAM_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__test_qstream___mac_setfilecmd) - - test_sqlstream$(EXEEXT): $(TEST_SQLSTREAM_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_SQLSTREAM_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_SQLSTREAM_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__test_sqlstream___mac_setfilecmd) - - test_ssqls2$(EXEEXT): $(TEST_SSQLS2_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) $(LIBPREFIX)mysqlpp_ssqls2parse$(LIBEXT) -- $(CXX) -o $@ $(TEST_SSQLS2_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp -lmysqlpp_ssqls2parse -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_SSQLS2_OBJECTS) $(LDFLAGS) -L. -lmysqlpp -lmysqlpp_ssqls2parse -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__test_ssqls2___mac_setfilecmd) - - test_string$(EXEEXT): $(TEST_STRING_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_STRING_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_STRING_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__test_string___mac_setfilecmd) - - test_tcp$(EXEEXT): $(TEST_TCP_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_TCP_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_TCP_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__test_tcp___mac_setfilecmd) - - test_uds$(EXEEXT): $(TEST_UDS_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_UDS_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_UDS_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__test_uds___mac_setfilecmd) - - test_wnp$(EXEEXT): $(TEST_WNP_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_WNP_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_WNP_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__test_wnp___mac_setfilecmd) - -@@ -619,122 +619,122 @@ - $(RANLIB) $@ - - cgi_jpeg$(EXEEXT): $(CGI_JPEG_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(CGI_JPEG_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(CGI_JPEG_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__cgi_jpeg___mac_setfilecmd) - - cpool$(EXEEXT): $(CPOOL_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(CPOOL_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(CPOOL_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__cpool___mac_setfilecmd) - - dbinfo$(EXEEXT): $(DBINFO_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(DBINFO_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(DBINFO_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__dbinfo___mac_setfilecmd) - - deadlock$(EXEEXT): $(DEADLOCK_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(DEADLOCK_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(DEADLOCK_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__deadlock___mac_setfilecmd) - - fieldinf$(EXEEXT): $(FIELDINF_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(FIELDINF_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(FIELDINF_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__fieldinf___mac_setfilecmd) - - for_each$(EXEEXT): $(FOR_EACH_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(FOR_EACH_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(FOR_EACH_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__for_each___mac_setfilecmd) - - load_jpeg$(EXEEXT): $(LOAD_JPEG_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(LOAD_JPEG_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(LOAD_JPEG_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__load_jpeg___mac_setfilecmd) - - multiquery$(EXEEXT): $(MULTIQUERY_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(MULTIQUERY_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(MULTIQUERY_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__multiquery___mac_setfilecmd) - - resetdb$(EXEEXT): $(RESETDB_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(RESETDB_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(RESETDB_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__resetdb___mac_setfilecmd) - - simple1$(EXEEXT): $(SIMPLE1_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(SIMPLE1_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(SIMPLE1_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__simple1___mac_setfilecmd) - - simple2$(EXEEXT): $(SIMPLE2_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(SIMPLE2_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(SIMPLE2_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__simple2___mac_setfilecmd) - - simple3$(EXEEXT): $(SIMPLE3_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(SIMPLE3_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(SIMPLE3_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__simple3___mac_setfilecmd) - - ssqls1$(EXEEXT): $(SSQLS1_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(SSQLS1_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(SSQLS1_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__ssqls1___mac_setfilecmd) - - ssqls2$(EXEEXT): $(SSQLS2_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(SSQLS2_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(SSQLS2_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__ssqls2___mac_setfilecmd) - - ssqls3$(EXEEXT): $(SSQLS3_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(SSQLS3_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(SSQLS3_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__ssqls3___mac_setfilecmd) - - ssqls4$(EXEEXT): $(SSQLS4_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(SSQLS4_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(SSQLS4_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__ssqls4___mac_setfilecmd) - - ssqls5$(EXEEXT): $(SSQLS5_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(SSQLS5_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(SSQLS5_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__ssqls5___mac_setfilecmd) - - ssqls6$(EXEEXT): $(SSQLS6_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(SSQLS6_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(SSQLS6_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__ssqls6___mac_setfilecmd) - - store_if$(EXEEXT): $(STORE_IF_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(STORE_IF_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(STORE_IF_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__store_if___mac_setfilecmd) - - tquery1$(EXEEXT): $(TQUERY1_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TQUERY1_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TQUERY1_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__tquery1___mac_setfilecmd) - - tquery2$(EXEEXT): $(TQUERY2_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TQUERY2_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TQUERY2_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__tquery2___mac_setfilecmd) - - tquery3$(EXEEXT): $(TQUERY3_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TQUERY3_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TQUERY3_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__tquery3___mac_setfilecmd) - - tquery4$(EXEEXT): $(TQUERY4_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TQUERY4_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TQUERY4_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__tquery4___mac_setfilecmd) - - transaction$(EXEEXT): $(TRANSACTION_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TRANSACTION_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TRANSACTION_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(__transaction___mac_setfilecmd) - diff --git a/dev-db/mysql++/files/mysql++-3.2.3-mariadb-10.2.patch b/dev-db/mysql++/files/mysql++-3.2.3-mariadb-10.2.patch deleted file mode 100644 index ff814650e001..000000000000 --- a/dev-db/mysql++/files/mysql++-3.2.3-mariadb-10.2.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- a/lib/dbdriver.cpp -+++ b/lib/dbdriver.cpp -@@ -257,7 +257,11 @@ - } - - if ((n == 1) && -+#ifdef CLIENT_LONG_PASSWORD - (o >= CLIENT_LONG_PASSWORD) && -+#else -+ (o >= CLIENT_MYSQL) && -+#endif - #if MYSQL_VERSION_ID > 40000 // highest flag value varies by version - (o <= CLIENT_MULTI_RESULTS) - #else ---- a/lib/common.h -+++ b/lib/common.h -@@ -130,12 +130,6 @@ - #define MYSQLPP_PATH_SEPARATOR '/' - #endif - --#if defined(MYSQLPP_MYSQL_HEADERS_BURIED) --# include <mysql/mysql_version.h> --#else --# include <mysql_version.h> --#endif -- - namespace mysqlpp { - - /// \brief Alias for 'true', to make code requesting exceptions more diff --git a/dev-db/mysql++/files/mysql++-3.2.4-as-needed.patch b/dev-db/mysql++/files/mysql++-3.2.4-as-needed.patch deleted file mode 100644 index 0de56d992943..000000000000 --- a/dev-db/mysql++/files/mysql++-3.2.4-as-needed.patch +++ /dev/null @@ -1,178 +0,0 @@ -https://bugs.gentoo.org/635414 - ---- a/Makefile.in -+++ b/Makefile.in -@@ -408,55 +408,55 @@ $(LIBPREFIX)mysqlpp_ssqls2parse$(LIBEXT): $(SSQLS2PARSE_OBJECTS) $(DLLPREFIX)mys - $(RANLIB) $@ - - ssqlsxlat$(EXEEXT): $(SSQLSXLAT_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) $(LIBPREFIX)mysqlpp_ssqls2parse$(LIBEXT) -- $(CXX) -o $@ $(SSQLSXLAT_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp -lmysqlpp_ssqls2parse -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(SSQLSXLAT_OBJECTS) $(LDFLAGS) -L. -lmysqlpp -lmysqlpp_ssqls2parse -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - test_array_index$(EXEEXT): $(TEST_ARRAY_INDEX_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_ARRAY_INDEX_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_ARRAY_INDEX_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - test_cpool$(EXEEXT): $(TEST_CPOOL_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_CPOOL_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_CPOOL_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - test_datetime$(EXEEXT): $(TEST_DATETIME_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_DATETIME_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_DATETIME_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - test_inttypes$(EXEEXT): $(TEST_INTTYPES_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_INTTYPES_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_INTTYPES_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - test_insertpolicy$(EXEEXT): $(TEST_INSERTPOLICY_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_INSERTPOLICY_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_INSERTPOLICY_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - test_manip$(EXEEXT): $(TEST_MANIP_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_MANIP_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_MANIP_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - test_null_comparison$(EXEEXT): $(TEST_NULL_COMPARISON_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_NULL_COMPARISON_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_NULL_COMPARISON_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - test_query_copy$(EXEEXT): $(TEST_QUERY_COPY_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_QUERY_COPY_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_QUERY_COPY_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - test_qssqls$(EXEEXT): $(TEST_QSSQLS_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_QSSQLS_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_QSSQLS_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - test_qstream$(EXEEXT): $(TEST_QSTREAM_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_QSTREAM_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_QSTREAM_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - test_sqlstream$(EXEEXT): $(TEST_SQLSTREAM_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_SQLSTREAM_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_SQLSTREAM_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - test_ssqls2$(EXEEXT): $(TEST_SSQLS2_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) $(LIBPREFIX)mysqlpp_ssqls2parse$(LIBEXT) -- $(CXX) -o $@ $(TEST_SSQLS2_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp -lmysqlpp_ssqls2parse -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_SSQLS2_OBJECTS) $(LDFLAGS) -L. -lmysqlpp -lmysqlpp_ssqls2parse -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - test_string$(EXEEXT): $(TEST_STRING_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_STRING_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_STRING_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - test_tcp$(EXEEXT): $(TEST_TCP_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_TCP_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_TCP_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - test_uds$(EXEEXT): $(TEST_UDS_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_UDS_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_UDS_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - test_wnp$(EXEEXT): $(TEST_WNP_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TEST_WNP_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TEST_WNP_OBJECTS) $(LDFLAGS) -L. -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - $(LIBPREFIX)mysqlpp_excommon$(LIBEXT): $(EXCOMMON_OBJECTS) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) - rm -f $@ -@@ -464,76 +464,76 @@ $(LIBPREFIX)mysqlpp_excommon$(LIBEXT): $(EXCOMMON_OBJECTS) $(DLLPREFIX)mysqlpp$( - $(RANLIB) $@ - - cgi_jpeg$(EXEEXT): $(CGI_JPEG_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(CGI_JPEG_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(CGI_JPEG_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - cpool$(EXEEXT): $(CPOOL_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(CPOOL_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(CPOOL_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - dbinfo$(EXEEXT): $(DBINFO_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(DBINFO_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(DBINFO_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - deadlock$(EXEEXT): $(DEADLOCK_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(DEADLOCK_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(DEADLOCK_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - fieldinf$(EXEEXT): $(FIELDINF_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(FIELDINF_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(FIELDINF_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - for_each$(EXEEXT): $(FOR_EACH_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(FOR_EACH_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(FOR_EACH_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - load_jpeg$(EXEEXT): $(LOAD_JPEG_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(LOAD_JPEG_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(LOAD_JPEG_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - multiquery$(EXEEXT): $(MULTIQUERY_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(MULTIQUERY_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(MULTIQUERY_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - resetdb$(EXEEXT): $(RESETDB_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(RESETDB_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(RESETDB_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - simple1$(EXEEXT): $(SIMPLE1_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(SIMPLE1_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(SIMPLE1_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - simple2$(EXEEXT): $(SIMPLE2_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(SIMPLE2_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(SIMPLE2_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - simple3$(EXEEXT): $(SIMPLE3_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(SIMPLE3_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(SIMPLE3_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - ssqls1$(EXEEXT): $(SSQLS1_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(SSQLS1_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(SSQLS1_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - ssqls2$(EXEEXT): $(SSQLS2_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(SSQLS2_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(SSQLS2_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - ssqls3$(EXEEXT): $(SSQLS3_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(SSQLS3_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(SSQLS3_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - ssqls4$(EXEEXT): $(SSQLS4_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(SSQLS4_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(SSQLS4_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - ssqls5$(EXEEXT): $(SSQLS5_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(SSQLS5_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(SSQLS5_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - ssqls6$(EXEEXT): $(SSQLS6_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(SSQLS6_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(SSQLS6_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - store_if$(EXEEXT): $(STORE_IF_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(STORE_IF_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(STORE_IF_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - tquery1$(EXEEXT): $(TQUERY1_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TQUERY1_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TQUERY1_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - tquery2$(EXEEXT): $(TQUERY2_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TQUERY2_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TQUERY2_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - tquery3$(EXEEXT): $(TQUERY3_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TQUERY3_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TQUERY3_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - tquery4$(EXEEXT): $(TQUERY4_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TQUERY4_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TQUERY4_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - transaction$(EXEEXT): $(TRANSACTION_OBJECTS) $(LIBPREFIX)mysqlpp_excommon$(LIBEXT) $(DLLPREFIX)mysqlpp$(__mysqlpp___targetsuf3) -- $(CXX) -o $@ $(TRANSACTION_OBJECTS) -L@MYSQL_C_LIB_DIR@ -L. -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ $(LDFLAGS) -lmysqlpp_excommon -lmysqlpp $(LIBS) -+ $(CXX) -o $@ $(TRANSACTION_OBJECTS) $(LDFLAGS) -L. -lmysqlpp_excommon -lmysqlpp $(LIBS) -L@MYSQL_C_LIB_DIR@ -l@MYSQL_C_LIB_NAME@ @PTHREAD_LIBS@ @MYSQLPP_EXTRA_LIBS@ - - Makefile: configure.ac install.hta.in mysql++.bkl mysql++.spec.in doc/userman/userman.dbx.in lib/Doxyfile.in lib/mysql++.h.in ssx/Doxyfile.in - bakefile_gen diff --git a/dev-db/mysql++/mysql++-2.3.2-r1.ebuild b/dev-db/mysql++/mysql++-2.3.2-r1.ebuild deleted file mode 100644 index 6fc8b2c27451..000000000000 --- a/dev-db/mysql++/mysql++-2.3.2-r1.ebuild +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -DESCRIPTION="C++ API interface to the MySQL database" -HOMEPAGE="http://tangentsoft.net/mysqlpp/" -SRC_URI="http://www.tangentsoft.net/mysqlpp/releases/${P}.tar.gz" - -LICENSE="LGPL-2" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~sparc ~x86" -IUSE="" - -RDEPEND="dev-db/mysql-connector-c:=" -DEPEND="${RDEPEND}" - -HTML_DOCS=( doc/html/{refman,userman} ) -DOCS=( README{,.cygwin,.examples,.mingw,.unix,.vc} CREDITS ChangeLog - HACKERS Wishlist doc/pdf doc/README.devel doc/README.manuals - doc/refman doc/ssqls-pretty doc/userman ) - -src_prepare() { - eapply "${FILESDIR}"/${P}-gcc-4.3.patch - - for i in "${S}"/lib/*.h ; do - sed -i \ - -e '/#include </s,mysql.h,mysql/mysql.h,g' \ - -e '/#include </s,mysql_version.h,mysql/mysql_version.h,g' \ - "${i}" || die "Failed to sed ${i} for fixing MySQL includes" - done - sed -i 's/mysqlclient_r/mysqlclient/' "${S}/configure" || die - eapply_user -} - -src_configure() { - local myconf - # we want C++ exceptions turned on - myconf="--enable-exceptions" - # give threads a try - myconf="${myconf} --enable-thread-check" - # not including the directives to where MySQL is because it seems to - # find it just fine without - - # force the cflags into place otherwise they get totally ignored by - # configure - CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \ - econf ${myconf} -} diff --git a/dev-db/mysql++/mysql++-3.2.3-r1.ebuild b/dev-db/mysql++/mysql++-3.2.3-r1.ebuild deleted file mode 100644 index 9a15b6e90ae3..000000000000 --- a/dev-db/mysql++/mysql++-3.2.3-r1.ebuild +++ /dev/null @@ -1,55 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit autotools libtool flag-o-matic - -DESCRIPTION="C++ API interface to the MySQL database" -HOMEPAGE="http://tangentsoft.net/mysql++/" -SRC_URI="http://www.tangentsoft.net/mysqlpp/releases/${P}.tar.gz" - -LICENSE="LGPL-2" -SLOT="0/3" -KEYWORDS="~alpha amd64 hppa ~mips ppc sparc x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" -IUSE="doc" - -RDEPEND="dev-db/mysql-connector-c:=" -DEPEND="${RDEPEND}" -DOCS=( CREDITS.txt HACKERS.txt Wishlist doc/ssqls-pretty ) -PATCHES=( - "${FILESDIR}"/${PN}-3.2.1-gold.patch - "${FILESDIR}"/${PN}-3.2.3-mariadb-10.2.patch - "${FILESDIR}"/${PN}-3.2.3-as-needed.patch -) - -src_prepare() { - # Bug filed upstream about deprecated std::auto_ptr - append-cxxflags $(test-flags-CXX -Wno-deprecated-declarations) - # Bad symlink for libtool in the archive - rm "${S}/ltmain.sh" || die - - default - - _elibtoolize --auto-ltdl --install --copy --force - elibtoolize - # Current MySQL libraries are always with threads and slowly being removed - sed -i -e "s/mysqlclient_r/mysqlclient/" "${S}/configure" || die - rm "${S}/doc/"README-*-RPM.txt || die -} - -src_configure() { - local myconf=( - --enable-thread-check - --with-mysql="${EPREFIX}/usr" - --with-mysql-lib="${EPREFIX}$(mysql_config --variable=pkglibdir)" - --with-mysql-include="${EPREFIX}$(mysql_config --variable=pkgincludedir)" - ) - econf "${myconf[@]}" -} - -src_install() { - default - # install the docs and HTML pages - use doc && dodoc -r doc/pdf/ doc/refman/ doc/userman/ doc/html/ -} diff --git a/dev-db/mysql++/mysql++-3.2.4.ebuild b/dev-db/mysql++/mysql++-3.2.4.ebuild deleted file mode 100644 index 2edd2c0ee989..000000000000 --- a/dev-db/mysql++/mysql++-3.2.4.ebuild +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit autotools libtool flag-o-matic - -DESCRIPTION="C++ API interface to the MySQL database" -HOMEPAGE="https://tangentsoft.net/mysql++/" -SRC_URI="https://www.tangentsoft.net/mysqlpp/releases/${P}.tar.gz" - -LICENSE="LGPL-2" -SLOT="0/3" -KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" -IUSE="doc" - -RDEPEND="|| ( dev-db/mysql-connector-c dev-db/mariadb-connector-c )" -DEPEND="${RDEPEND}" -DOCS=( CREDITS.txt HACKERS.md doc/ssqls-pretty ) -PATCHES=( - "${FILESDIR}"/${PN}-3.2.1-gold.patch - "${FILESDIR}"/${PN}-3.2.4-as-needed.patch - "${FILESDIR}"/${PN}-3.2.4-only-unit-tests.patch -) - -src_prepare() { - # Bug filed upstream about deprecated std::auto_ptr - append-cxxflags $(test-flags-CXX -Wno-deprecated-declarations) - # Bad symlink for libtool in the archive - rm "${S}/ltmain.sh" || die - - default - - # we don't use eautoreconf to avoid dev-util/bakefile - _elibtoolize --auto-ltdl --install --copy --force - elibtoolize - - # Current MySQL libraries are always with threads and slowly being removed - sed -i -e "s/mysqlclient_r/mysqlclient/" "${S}/configure" || die - rm "${S}/doc/"README-*-RPM.txt || die -} - -src_configure() { - local myconf=( - --enable-thread-check - --with-mysql="${EPREFIX}/usr" - --with-mysql-lib="${EPREFIX}$(mysql_config --variable=pkglibdir)" - --with-mysql-include="${EPREFIX}$(mysql_config --variable=pkgincludedir)" - ) - econf "${myconf[@]}" -} - -src_test() { - ONLY_UNIT_TESTS=1 "${S}"/dtest || die -} - -src_install() { - default - # install the docs and HTML pages - use doc && dodoc -r doc/pdf/ doc/refman/ doc/userman/ doc/html/ -} diff --git a/dev-db/mysql-connector-c++/Manifest b/dev-db/mysql-connector-c++/Manifest index 70b205e2539b..f9e3570f344f 100644 --- a/dev-db/mysql-connector-c++/Manifest +++ b/dev-db/mysql-connector-c++/Manifest @@ -6,7 +6,9 @@ AUX mysql-connector-c++-8.0.20-fix-libressl-support.patch 3299 BLAKE2B a78d87ed7 DIST mysql-connector-c++-1.1.12.tar.gz 518615 BLAKE2B 386a4753ca3f03999a49a89507da1b1172b3db89797c38403fee4eea86e7108a5e4f91f24a17de86d585c2a3d9e5742a117fa84d9b14aad649f938a597f3dae9 SHA512 d7e132dbc2efda4a77f8ae00c24006a1ade1d0a50f22d89ece453505e6d206427ee7988df29c0d6ef8b396ad6b8d326b6d263a1d4fa08ef5db0966fb4f1479f4 DIST mysql-connector-c++-8.0.19-src.tar.gz 3137484 BLAKE2B 82a2900b0daa00bcfd72d562818ada25fe15901991a896a46ecdd9304e03066c4e7a3804287540559df1c74dbd1b3983b450ab783ee8cb7f0d7ec152f3cdc6b0 SHA512 5987ae31cda3a5db18ceded201ccbe66263b8ab7665ceacf70af6bb6b99130377b40514b96644b0768fd809b36ee02580520923c11c1edecccc75da15d7bb0bd DIST mysql-connector-c++-8.0.20-src.tar.gz 3774428 BLAKE2B a06114432ab21c36fd0b3b91df2382198b2a48871e8e0bfd8c7a94729ed0e29f33599c078c97670fe9d744b13042db52fb89de2294c75eae670a77112d11d251 SHA512 3edb7c3d4ccf218a3f76afcf83a6d233b7accd236c05105ab3f7a6610cfd8809a78c78142c82fb60fb0931d2ae0f0f8fdc3ce9caf5f0cde7ef54067a7e20270b +DIST mysql-connector-c++-8.0.21-src.tar.gz 3788740 BLAKE2B 1862b4f2c6e2a2bbe8e3044eea2c1d3c8fdb0a319e3758ca44686b79e917a65617e2cfd0e4b698d858ed9ef12c892b4f658eb287f2a8505a5daeeb79d9544c25 SHA512 8a64dff2efd16d2891f613fd416ec42ecba2490b428b1778e99822a3051d9c5af3b94006577e9f38a6ebd146d2f3be522cb876f1e42fbf0ac82001b0a62ffa62 EBUILD mysql-connector-c++-1.1.12-r1.ebuild 1636 BLAKE2B e0e977f956845c46bc99a003b5e74fe5d085e1d5e2b9648474f27028b0d99b1764438fb07da8008c3fdef677fc35310342ad2988ada1f54a8c7a9583f5904a41 SHA512 5a80daba3b6038b57c284e409284106b19bcbb426fc2ba56d73d3c65fbad4343d150e7714782f558a94160dec90482cd88426ba5771bafc02300fa722b065778 EBUILD mysql-connector-c++-8.0.19.ebuild 1067 BLAKE2B 8407348e0e4da0ea8acca8ec0caa33a0c2e863c9a95d6951ce500b6306b77687e76ca867eeeb580dc5e9b8a9df3dff7ca0a8cb8ae95403a9a117d50d2dc8d869 SHA512 83d72ab1104a0ebd014d8b3e1f475944f16a18dc4836386e3ebf7b16df547f35cf7db42c586411fcef80ec6273f15a0f9531b197eaecb991a62301d9a9d3ff4b EBUILD mysql-connector-c++-8.0.20.ebuild 1070 BLAKE2B bd6b438aa0a660bc19a50695ed77fa5f952aabfb6ff1996244eed5846476bb0c725cf2d4899105c88f1409725ebe80970655ac4f51b7012d1fccc3539a69a062 SHA512 d54363d3172c98ef6d500a336fc98c8d8abdd28e443e09e2ce50e85353c374cdd95739b9d6ab636d4aad3a8647bca1eb99329a761a10ff3ffb2040c1ec3796e8 +EBUILD mysql-connector-c++-8.0.21.ebuild 1055 BLAKE2B 7a85e4631367e2a34989a8fc998d80d87c5b6b0220296e7f2f75121766db9c10f66b8838e633c0fc51b43c8314e3521a7cbc1fc0ed2a6fec87e67a6a18b0e91c SHA512 7661f1404a55a3342d90c26fbc36e0f1dc060301f82aadf4b814eedfdeeb7a9698f05e3ab8c552b1be03490e6a4591ac36ca28a7a60604a98844a9136ae063cc MISC metadata.xml 378 BLAKE2B 43fdbbc8d3b6ef99e51da96ddfefbdeaa70ef5fcb2fc6067305f75f75b7ee2fd21b79ca76704d8752bf59ae057b28efb187b063770964246f93fea629b58b467 SHA512 c6e545fb60d306792421ea26a937aaa6aea53d2a4100c9cafe78cf695c9dd0620cf3e770d43ff42749ae42bbe3a35212407ea84edee9af2dcb0255c2b763ddfc diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.21.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.21.ebuild new file mode 100644 index 000000000000..679e73b030ff --- /dev/null +++ b/dev-db/mysql-connector-c++/mysql-connector-c++-8.0.21.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +CMAKE_MAKEFILE_GENERATOR=emake +inherit cmake + +DESCRIPTION="MySQL database connector for C++ (mimics JDBC 4.0 API)" +HOMEPAGE="https://dev.mysql.com/downloads/connector/cpp/" +URI_DIR="Connector-C++" +SRC_URI="https://dev.mysql.com/get/Downloads/${URI_DIR}/${P}-src.tar.gz" + +LICENSE="Artistic GPL-2" +SLOT="0" +KEYWORDS="amd64 arm ~arm64 ~ppc ~ppc64 ~sparc x86" +IUSE="+legacy libressl" + +RDEPEND=" + dev-libs/protobuf:= + legacy? ( + dev-libs/boost:= + >=dev-db/mysql-connector-c-6.1.8:= + ) + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:0= )" +DEPEND="${RDEPEND}" +S="${WORKDIR}/${P}-src" + +PATCHES=( + "${FILESDIR}"/${PN}-8.0.19-fix-build.patch + "${FILESDIR}"/${PN}-8.0.20-fix-libressl-support.patch +) + +src_configure() { + local mycmakeargs=( + -DWITH_SSL=system + -DWITH_JDBC=$(usex legacy ON OFF) + $(usex legacy '-DMYSQLCLIENT_STATIC_BINDING=0' '') + $(usex legacy '-DMYSQLCLIENT_STATIC_LINKING=0' '') + ) + + cmake_src_configure +} diff --git a/dev-db/mysql-connector-c/Manifest b/dev-db/mysql-connector-c/Manifest index 45c8544954b0..1c0d7f64fa63 100644 --- a/dev-db/mysql-connector-c/Manifest +++ b/dev-db/mysql-connector-c/Manifest @@ -1,15 +1,7 @@ -AUX 20028_all_mysql-5.6-gcc7.patch 603 BLAKE2B f03dc2e39dca4496cc084b427daa60014464876df456bf290a5de3431b481691a35ac9ac00d71cc86931efe3bca70dae012bedefc6d29ad7fec2feeb07cce014 SHA512 f9dab813418f38f3a877b8672cdec153d6f0f289144c35277e8275cc7a58195f974b7bf76b74f8dd2403643b1199f5e6d6bcde661ce5f79f614ff10347b52278 -AUX 6.1.11-openssl-1.1.patch 8987 BLAKE2B 8bd00bb778e086cbdcd04b6ac904f36bd64bbbb332f913129eb3acbaf6da4d044fdc65523626a9fed47d6bf5859826af489bd9ae7ae51664c613c966a88708ba SHA512 46af56504ed2a69ce74a5e2040ee8b3355f5ac48fb80e4668b635f01a2650d07f50dd098ad43239e8b35a80e975a5a9549bd1b1a9c1a0612ed9e4750b537bb76 -AUX mysql-connector-c-8.0.17-use-relative-include-path-for-udf_registration_types-h.patch 684 BLAKE2B 10007011b38462ffa8b539f9ac531c715fcead4e6bb1d1c04ea8055decc0aa6eda8b22e3967d91773316d04062ca231cf8561ce72ab2b5aaeaf37a0bb425c7f5 SHA512 d0e60dff5faa7b6c71878803d598b46266021029c874c8f6834d496de10ddf42d3b806fae3c6d532c1890cb5f491bbd69235bd1ac919848011a9ca57c465ce1c AUX mysql-connector-c-8.0.18-always-build-decompress-utilities.patch 874 BLAKE2B 1622ba22ebb68d8b72499efec3075bbbe157b1ceaab5651dbc6dea996c831159161878a859972119dd4d5c20bb631681efb00b8d9715b3097890def8016898f4 SHA512 02ae005e8ac710dcc75f07011006df63a6d22f030b4eff0c6d28f78b083b1d7385190c9080812b5c9c2a84ad66972594b7d79a1485285c9ad76245577d42e528 AUX mysql-connector-c-8.0.19-do-not-install-comp_err.patch 307 BLAKE2B 864c07e9d4fb9a38ac418476f4b7738caa1f2a5dc633ad5921859793983c7b42acd87263ce2703df5a8c7d3bc3d7a60efb28a3ff17c311d89cc7b12edd22574f SHA512 cbb9be24a67a649b68230fe3482063d2d16fb629233e070289eb1ab0011bd8c43b0c056e4b6ca430a62ce0e8f47bb9490cb6746b7dc3fe06a05670b078cd084f -AUX mysql-connector-c-8.0.19-libressl.patch 10501 BLAKE2B 73a31afdbbb591cadd45f158ca16c39344f540459b20683e5998f0e0f0d593dfd06e7198d3d8a5e06f8e65ff6b7a5f79435a1face9997f3316e487ef1e081459 SHA512 1d8e75e8ba6866ff4d0dced7211607e41033bbdfabd0f8a670ac221e7366e272cfc2b9c4d0f259e5d33ed486e9697bcefbdb0e6a0cd65ed2811b63e9cf1610f3 -AUX mysql-connector-c-8.0.20-libressl.patch 11923 BLAKE2B a545f2570e744cce7e4e59109daebfd2f29d2065bfeadbb48f9d910c3d2d24e5fe24064e6453e6f423a241b59a69f26492a0cd82801e81f2eec13674291a4abe SHA512 cee40efd1ce9806fb36d0d36374b2d231a45553a2ff595d5e752f1b0ae80a9bb61cfeaa7a280f51f290580de777517524eac563028c747dbc2ac7b269cc1dcb4 -AUX mysql_com.patch 1787 BLAKE2B 4fbd40325f400586926072927b3f07231d577f18c1e30951c34c36ded9b9e42b7c3dc47ca51df974265c28b40116e30274d8a73d6a843e5d9d0074430bc17b08 SHA512 340365b05d72045af0ef12fd5c260a796be547d9abb97a6ef3d6aaf30aecf29368c1dfa28f1284da544a81656f0436f11ada2f8c5cb481540d1f1c90dd354b49 -DIST mysql-boost-8.0.19.tar.gz 264147972 BLAKE2B 61a5ccbef1a7a675c85e4e6bda8e5285bdb931e6ee14d4710bf13dfd9157d1095200db2886dc93ea7251d3d59245f35c0bef5ba88ba6aac209b1e080f3b07dc4 SHA512 5ffc03f005ab2585694902e926b6cb2b10059b2b030549eccd3949f9c3b2f02626d02529f940dec003f2d69683856fd1c720ff12f89dfbdc48befaf24a9c4d01 -DIST mysql-boost-8.0.20.tar.gz 266282970 BLAKE2B 2aeb9d6c575ed9dc2d00d3e51e6391c59ffa39156491d9ed2c07e19bb2efb88a14d5a9d4b537c137d71854e39fa3a7fc2b93618118d4fd062e92ba2d83783c6f SHA512 7a962e9ddec7069008c5ab6ac2801515e2661ca2875afc6141541c03e2f941f4255b3c0d806a4df2fd2f2f1d12323aeb1e456c1d364777a18ccebefad7b22a99 -DIST mysql-connector-c-6.1.11-src.tar.gz 3489345 BLAKE2B 813512520ef660521221565a4466e81d902629d0ee731f746b68eed2b9129ea8361fcabe184537ec8ba91aed5a4b02dfb3450b36524c2e98f81fba148eee0cf1 SHA512 271395c888a93b833e0bbe1840b9987ecdb37d0f1cf89904207cc9aa99ed32e538aee8c9529ff39b6533947159776a8f5aa079da86ed51b1d26b086f4ffdd7c6 -EBUILD mysql-connector-c-6.1.11-r2.ebuild 2287 BLAKE2B 831b0960af0f087357840434bf61ef773df2a98357fec736c9279fff8f44e9d68384aca45381aa9b332137f5ba6b3ab9478fb3c21169893a520f9017508ee827 SHA512 f06aef9d2d5e2bc0a607d66d10b7cd755e34cf5167f0fb2b2ed5595f50b8f8d6f41e839879c343ec272121f4c1c1d71ff6ada70e40f7cd9ea69b8fd385b85abd -EBUILD mysql-connector-c-8.0.19.ebuild 2927 BLAKE2B 37b57beb51549b94d75bf1695b93914042303f933e5294e9b73804ab7a6bae986ac89db6e648f78e9b1fcf106cfab143f4942da76ed930cf71b5f14fde9c7709 SHA512 d6404f3558f254a08702dea0036d346155e83dc6695b1237e0da9d17cb5aa85e32a3c60195d461cf33d976be2ec9af2519abb16aab16a1b73c27c34e38bd88b2 -EBUILD mysql-connector-c-8.0.20.ebuild 2936 BLAKE2B cc7571d0d64f102259368c247f8c992997965f985b3582c72d36457798e6341844f349b4de635dd0a94bb2092505e071eff4de64b8e96f90f145123a8f6b462a SHA512 5b7b0134429713e44c6c4f98ce8b04cdd0bedc9520c72772a274cb522a3590e856455553cbb83d868b3fee606e9a00fff233a6358bb0d635811d4c2a0b1f5450 +AUX mysql-connector-c-8.0.21-libressl.patch 13288 BLAKE2B 5aad519f99103e579356d89ae92dda1e2496268cebdfe8dd3797138a5efe03370365225581399bb2373b847f61e2b4be726d940cde624d3cdda94b5c69904a3a SHA512 f4d057ce159153133e100c71c65f75bd558ba1ea914cd878023dc4e4a628d63b60d0ac671a97d26863b3f48c3dc8984317bb09362378c3b96b8ed47f08c1f6ea +AUX mysql-connector-c-8.0.21-survive-malformed-charset-files.patch 580 BLAKE2B 76ea04058e14dce1cdd057b51e17d358ff582c82f27a537fb47aa66d58c88327231ca10755a6e02d0c1dab5c67d6eb92d9e9d5d74038595a203b65d3372d4577 SHA512 d8075a712bf12697499b1da2df7f43662bcce073113193e4b29261f965f10af43b1d529f1fe14ffed6c7c9bda3d3b0a61a2b3462e865724496d3d80f10c5264e +DIST mysql-boost-8.0.21.tar.gz 278292192 BLAKE2B 9e5a14d1401f58f6f620c8691d2d4d3ada122a79a4e081380050961f0add93bf32b682c60ea2a6e58f50a4fcedbd323d8efe2d5f3e1f2bba5010e201a2df5d44 SHA512 18128edd7d9604ea69bd308f372d6663ef3629503969148e3a2117175c4ef625358b31b96e0e1b8d10a87037719e3cb61d5c71eee1e26ab0e0a1731977a2d7c1 +EBUILD mysql-connector-c-8.0.21-r2.ebuild 3002 BLAKE2B bd309386636ee9e1e6cb5f2019e06718036ada58e0dfd6b6b9f94228ea129d348dd8f08306af2ae85b3d68bcb7f936e06dfe2a889483dd62f148fa299bf57efd SHA512 ee1811c9c6c4e1dd27ece9a70d6e6ca174f2d0419704a4612a97e7421505884adee9e2db97282e9ecc341c09bd6381a3d7572d32dc4ce9031793977583720921 MISC metadata.xml 239 BLAKE2B c4d6706d083b72927d239f41a644a4009c054c1c1a388af7733d3a2daf47d354009eb472573304a6be272601f05535297bcd9ceaea811a741cd905577ffe53d1 SHA512 e6e2fafe2f503db1d12e3d2368a99631ee8d014b7ea802d9879e7e3e2c0f9378675fffccd78ed09b914ae781ac3902567b1a53a721906e3ea63ceb51d0a1654b diff --git a/dev-db/mysql-connector-c/files/20028_all_mysql-5.6-gcc7.patch b/dev-db/mysql-connector-c/files/20028_all_mysql-5.6-gcc7.patch deleted file mode 100644 index cf8caedb7f1b..000000000000 --- a/dev-db/mysql-connector-c/files/20028_all_mysql-5.6-gcc7.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/sql-common/client_authentication.cc b/sql-common/client_authentication.cc -index eaeb2d4..035ecd2 100644 ---- a/sql-common/client_authentication.cc -+++ b/sql-common/client_authentication.cc -@@ -84,7 +84,7 @@ RSA *rsa_init(MYSQL *mysql) - - if (mysql->options.extension != NULL && - mysql->options.extension->server_public_key_path != NULL && -- mysql->options.extension->server_public_key_path != '\0') -+ mysql->options.extension->server_public_key_path[0] != '\0') - { - pub_key_file= fopen(mysql->options.extension->server_public_key_path, - "r"); diff --git a/dev-db/mysql-connector-c/files/6.1.11-openssl-1.1.patch b/dev-db/mysql-connector-c/files/6.1.11-openssl-1.1.patch deleted file mode 100644 index 3459206e4f76..000000000000 --- a/dev-db/mysql-connector-c/files/6.1.11-openssl-1.1.patch +++ /dev/null @@ -1,300 +0,0 @@ -From 7961393dd45e4ad1cdc7544b4bba2e98a5d2760c Mon Sep 17 00:00:00 2001 -From: eroen <eroen@occam.eroen.eu> -Date: Fri, 20 Jan 2017 14:43:53 +0100 -Subject: [PATCH] Don't use deprecated API with openssl 1.1 - -If openssl 1.1.0 is built with `--api=1.1 disable-deprecated`, using -deprecated APIs causes build errors. - -X-Gentoo-Bug: 606600 -X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=606600 ---- - mysys_ssl/my_aes_openssl.cc | 54 ++++++++++++++++++++++++++++++++------------- - sql-common/client.c | 16 ++++++++++++-- - vio/viossl.c | 8 +++++++ - vio/viosslfactories.c | 23 +++++++++++++++++++ - 4 files changed, 84 insertions(+), 17 deletions(-) - -diff --git a/mysys_ssl/my_aes_openssl.cc b/mysys_ssl/my_aes_openssl.cc -index 261ba8a..59a95e3 100644 ---- a/mysys_ssl/my_aes_openssl.cc -+++ b/mysys_ssl/my_aes_openssl.cc -@@ -22,6 +22,12 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ - #include <openssl/evp.h> - #include <openssl/err.h> - #include <openssl/bio.h> -+#include <openssl/opensslv.h> -+ -+#if (defined LIBRESSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER == 0x20000000L) -+#undef OPENSSL_VERSION_NUMBER -+#define OPENSSL_VERSION_NUMBER 0x1000107fL -+#endif - - /* - xplugin needs BIO_new_bio_pair, but the server does not. -@@ -122,7 +128,7 @@ int my_aes_encrypt(const unsigned char *source, uint32 source_length, - enum my_aes_opmode mode, const unsigned char *iv, - bool padding) - { -- EVP_CIPHER_CTX ctx; -+ EVP_CIPHER_CTX *ctx; - const EVP_CIPHER *cipher= aes_evp_type(mode); - int u_len, f_len; - /* The real key to be used for encryption */ -@@ -132,23 +138,31 @@ int my_aes_encrypt(const unsigned char *source, uint32 source_length, - if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv)) - return MY_AES_BAD_DATA; - -- if (!EVP_EncryptInit(&ctx, cipher, rkey, iv)) -+ if (!EVP_EncryptInit(ctx, cipher, rkey, iv)) - goto aes_error; /* Error */ -- if (!EVP_CIPHER_CTX_set_padding(&ctx, padding)) -+ if (!EVP_CIPHER_CTX_set_padding(ctx, padding)) - goto aes_error; /* Error */ -- if (!EVP_EncryptUpdate(&ctx, dest, &u_len, source, source_length)) -+ if (!EVP_EncryptUpdate(ctx, dest, &u_len, source, source_length)) - goto aes_error; /* Error */ - -- if (!EVP_EncryptFinal(&ctx, dest + u_len, &f_len)) -+ if (!EVP_EncryptFinal(ctx, dest + u_len, &f_len)) - goto aes_error; /* Error */ - -- EVP_CIPHER_CTX_cleanup(&ctx); -+#if OPENSSL_VERSION_NUMBER < 0x10100000L -+ EVP_CIPHER_CTX_cleanup(ctx); -+#else -+ EVP_CIPHER_CTX_free(ctx); -+#endif - return u_len + f_len; - - aes_error: - /* need to explicitly clean up the error if we want to ignore it */ - ERR_clear_error(); -- EVP_CIPHER_CTX_cleanup(&ctx); -+#if OPENSSL_VERSION_NUMBER < 0x10100000L -+ EVP_CIPHER_CTX_cleanup(ctx); -+#else -+ EVP_CIPHER_CTX_free(ctx); -+#endif - return MY_AES_BAD_DATA; - } - -@@ -159,7 +173,7 @@ int my_aes_decrypt(const unsigned char *source, uint32 source_length, - bool padding) - { - -- EVP_CIPHER_CTX ctx; -+ EVP_CIPHER_CTX *ctx; - const EVP_CIPHER *cipher= aes_evp_type(mode); - int u_len, f_len; - -@@ -170,24 +184,34 @@ int my_aes_decrypt(const unsigned char *source, uint32 source_length, - if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv)) - return MY_AES_BAD_DATA; - -- EVP_CIPHER_CTX_init(&ctx); -+#if OPENSSL_VERSION_NUMBER < 0x10100000L -+ EVP_CIPHER_CTX_init(ctx); -+#endif - -- if (!EVP_DecryptInit(&ctx, aes_evp_type(mode), rkey, iv)) -+ if (!EVP_DecryptInit(ctx, aes_evp_type(mode), rkey, iv)) - goto aes_error; /* Error */ -- if (!EVP_CIPHER_CTX_set_padding(&ctx, padding)) -+ if (!EVP_CIPHER_CTX_set_padding(ctx, padding)) - goto aes_error; /* Error */ -- if (!EVP_DecryptUpdate(&ctx, dest, &u_len, source, source_length)) -+ if (!EVP_DecryptUpdate(ctx, dest, &u_len, source, source_length)) - goto aes_error; /* Error */ -- if (!EVP_DecryptFinal_ex(&ctx, dest + u_len, &f_len)) -+ if (!EVP_DecryptFinal_ex(ctx, dest + u_len, &f_len)) - goto aes_error; /* Error */ - -- EVP_CIPHER_CTX_cleanup(&ctx); -+#if OPENSSL_VERSION_NUMBER < 0x10100000L -+ EVP_CIPHER_CTX_cleanup(ctx); -+#else -+ EVP_CIPHER_CTX_free(ctx); -+#endif - return u_len + f_len; - - aes_error: - /* need to explicitly clean up the error if we want to ignore it */ - ERR_clear_error(); -- EVP_CIPHER_CTX_cleanup(&ctx); -+#if OPENSSL_VERSION_NUMBER < 0x10100000L -+ EVP_CIPHER_CTX_cleanup(ctx); -+#else -+ EVP_CIPHER_CTX_free(ctx); -+#endif - return MY_AES_BAD_DATA; - } - -diff --git a/sql-common/client.c b/sql-common/client.c -index 9e88e9f..fe7daf7 100644 ---- a/sql-common/client.c -+++ b/sql-common/client.c -@@ -86,6 +86,14 @@ my_bool net_flush(NET *net); - # include <sys/un.h> - #endif - -+#ifdef HAVE_OPENSSL -+#include <openssl/opensslv.h> -+#if (defined LIBRESSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER == 0x20000000L) -+#undef OPENSSL_VERSION_NUMBER -+#define OPENSSL_VERSION_NUMBER 0x1000107fL -+#endif -+#endif -+ - #ifndef _WIN32 - #include <errno.h> - #define SOCKET_ERROR -1 -@@ -2685,7 +2693,7 @@ static int ssl_verify_server_cert(Vio *vio, const char* server_hostname, const c - { - SSL *ssl; - X509 *server_cert= NULL; -- char *cn= NULL; -+ const char *cn= NULL; - int cn_loc= -1; - ASN1_STRING *cn_asn1= NULL; - X509_NAME_ENTRY *cn_entry= NULL; -@@ -2757,7 +2765,11 @@ static int ssl_verify_server_cert(Vio *vio, const char* server_hostname, const c - goto error; - } - -- cn= (char *) ASN1_STRING_data(cn_asn1); -+#if OPENSSL_VERSION_NUMBER < 0x10100000L -+ cn= (const char *) ASN1_STRING_data(cn_asn1); -+#else -+ cn= (const char *) ASN1_STRING_get0_data(cn_asn1); -+#endif - - // There should not be any NULL embedded in the CN - if ((size_t)ASN1_STRING_length(cn_asn1) != strlen(cn)) -diff --git a/vio/viossl.c b/vio/viossl.c -index 5622cb7..94b0f09 100644 ---- a/vio/viossl.c -+++ b/vio/viossl.c -@@ -24,6 +24,12 @@ - - #ifdef HAVE_OPENSSL - -+#include <openssl/opensslv.h> -+#if (defined LIBRESSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER == 0x20000000L) -+#undef OPENSSL_VERSION_NUMBER -+#define OPENSSL_VERSION_NUMBER 0x1000107fL -+#endif -+ - #ifndef DBUG_OFF - - static void -@@ -310,8 +316,10 @@ void vio_ssl_delete(Vio *vio) - } - - #ifndef HAVE_YASSL -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - ERR_remove_thread_state(0); - #endif -+#endif - - vio_delete(vio); - } -@@ -427,7 +427,12 @@ - for (j = 0; j < n; j++) - { - SSL_COMP *c = sk_SSL_COMP_value(ssl_comp_methods, j); -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - DBUG_PRINT("info", (" %d: %s\n", c->id, c->name)); -+#else /* OPENSSL_VERSION_NUMBER < 0x10100000L */ -+ DBUG_PRINT("info", -+ (" %d: %s\n", SSL_COMP_get_id(c), SSL_COMP_get0_name(c))); -+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ - } - } - #endif -diff --git a/vio/viosslfactories.c b/vio/viosslfactories.c -index da5449a..87b30c3 100644 ---- a/vio/viosslfactories.c -+++ b/vio/viosslfactories.c -@@ -16,6 +16,14 @@ - #include "vio_priv.h" - - #ifdef HAVE_OPENSSL -+#include <openssl/bn.h> -+#include <openssl/dh.h> -+#include <openssl/opensslv.h> -+ -+#if (defined LIBRESSL_VERSION_NUMBER && OPENSSL_VERSION_NUMBER == 0x20000000L) -+#undef OPENSSL_VERSION_NUMBER -+#define OPENSSL_VERSION_NUMBER 0x1000107fL -+#endif - - #define TLS_VERSION_OPTION_SIZE 256 - #define SSL_CIPHER_LIST_SIZE 4096 -@@ -121,10 +129,18 @@ static DH *get_dh2048(void) - DH *dh; - if ((dh=DH_new())) - { -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL); - dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL); - if (! dh->p || ! dh->g) - { -+#else -+ if (! DH_set0_pqg(dh, -+ BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL), -+ NULL, -+ BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL))) -+ { -+#endif - DH_free(dh); - dh=0; - } -@@ -247,6 +263,8 @@ typedef struct CRYPTO_dynlock_value - } openssl_lock_t; - - -+#if OPENSSL_VERSION_NUMBER < 0x10100000L -+ - /* Array of locks used by openssl internally for thread synchronization. - The number of locks is equal to CRYPTO_num_locks. - */ -@@ -389,9 +407,11 @@ static void deinit_lock_callback_functions() - { - set_lock_callback_functions(FALSE); - } -+#endif - - void vio_ssl_end() - { -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - int i= 0; - - if (ssl_initialized) { -@@ -409,6 +429,7 @@ void vio_ssl_end() - - ssl_initialized= FALSE; - } -+#endif - } - - #endif //OpenSSL specific -@@ -419,6 +440,7 @@ void ssl_start() - { - ssl_initialized= TRUE; - -+#if OPENSSL_VERSION_NUMBER < 0x10100000L - SSL_library_init(); - OpenSSL_add_all_algorithms(); - SSL_load_error_strings(); -@@ -427,6 +449,7 @@ void ssl_start() - init_ssl_locks(); - init_lock_callback_functions(); - #endif -+#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ - } - } - --- -2.11.0 - diff --git a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.17-use-relative-include-path-for-udf_registration_types-h.patch b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.17-use-relative-include-path-for-udf_registration_types-h.patch deleted file mode 100644 index 8fabd9952cc4..000000000000 --- a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.17-use-relative-include-path-for-udf_registration_types-h.patch +++ /dev/null @@ -1,24 +0,0 @@ -https://bugs.gentoo.org/692644 - ---- a/include/mysql.h.pp -+++ b/include/mysql.h.pp -@@ -175,7 +175,7 @@ struct rand_struct { - unsigned long seed1, seed2, max_value; - double max_value_dbl; - }; --#include <mysql/udf_registration_types.h> -+#include "mysql/udf_registration_types.h" - enum Item_result { - INVALID_RESULT = -1, - STRING_RESULT = 0, ---- a/include/mysql_com.h -+++ b/include/mysql_com.h -@@ -1002,7 +1002,7 @@ struct rand_struct { - }; - - /* Include the types here so existing UDFs can keep compiling */ --#include <mysql/udf_registration_types.h> -+#include "mysql/udf_registration_types.h" - - /** - @addtogroup group_cs_compresson_constants Constants when using compression diff --git a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.19-libressl.patch b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.19-libressl.patch deleted file mode 100644 index 1fc949ae8564..000000000000 --- a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.19-libressl.patch +++ /dev/null @@ -1,297 +0,0 @@ ---- a/cmake/ssl.cmake -+++ b/cmake/ssl.cmake -@@ -229,13 +229,14 @@ MACRO (MYSQL_CHECK_SSL) - OPENSSL_FIX_VERSION "${OPENSSL_VERSION_NUMBER}" - ) - ENDIF() -- IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0") -+ CHECK_SYMBOL_EXISTS(TLS1_3_VERSION "openssl/tls1.h" HAVE_TLS1_3_VERSION) -+ IF(HAVE_TLS1_3_VERSION) - ADD_DEFINITIONS(-DHAVE_TLSv13) - ENDIF() - IF(OPENSSL_INCLUDE_DIR AND - OPENSSL_LIBRARY AND - CRYPTO_LIBRARY AND -- OPENSSL_MAJOR_VERSION STREQUAL "1" -+ OPENSSL_MAJOR_VERSION VERSION_GREATER_EQUAL "1" - ) - SET(OPENSSL_FOUND TRUE) - FIND_PROGRAM(OPENSSL_EXECUTABLE openssl ---- a/mysys/my_md5.cc -+++ b/mysys/my_md5.cc -@@ -56,7 +56,9 @@ static void my_md5_hash(unsigned char *digest, unsigned const char *buf, - int compute_md5_hash(char *digest, const char *buf, int len) { - int retval = 0; - int fips_mode = 0; -+#ifndef LIBRESSL_VERSION_NUMBER - fips_mode = FIPS_mode(); -+#endif - /* If fips mode is ON/STRICT restricted method calls will result into abort, - * skipping call. */ - if (fips_mode == 0) { ---- a/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c -+++ b/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c -@@ -329,6 +329,7 @@ error: - return 1; - } - -+#ifndef LIBRESSL_VERSION_NUMBER - #define OPENSSL_ERROR_LENGTH 512 - static int configure_ssl_fips_mode(const uint fips_mode) { - int rc = -1; -@@ -352,6 +353,7 @@ static int configure_ssl_fips_mode(const uint fips_mode) { - EXIT: - return rc; - } -+#endif - - static int configure_ssl_ca(SSL_CTX *ssl_ctx, const char *ca_file, - const char *ca_path) { -@@ -555,10 +557,12 @@ int xcom_init_ssl(const char *server_key_file, const char *server_cert_file, - int verify_server = SSL_VERIFY_NONE; - int verify_client = SSL_VERIFY_NONE; - -+#ifndef LIBRESSL_VERSION_NUMBER - if (configure_ssl_fips_mode(ssl_fips_mode) != 1) { - G_ERROR("Error setting the ssl fips mode"); - goto error; - } -+#endif - - SSL_library_init(); - SSL_load_error_strings(); -@@ -622,7 +626,7 @@ error: - void xcom_cleanup_ssl() { - if (!xcom_use_ssl()) return; - --#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) - ERR_remove_thread_state(0); - #endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ - } ---- a/plugin/x/client/xconnection_impl.cc -+++ b/plugin/x/client/xconnection_impl.cc -@@ -520,6 +520,7 @@ XError Connection_impl::get_ssl_error(const int error_id) { - return XError(CR_SSL_CONNECTION_ERROR, buffer); - } - -+#ifndef LIBRESSL_VERSION_NUMBER - /** - Set fips mode in openssl library, - When we set fips mode ON/STRICT, it will perform following operations: -@@ -559,6 +560,7 @@ int set_fips_mode(const uint32_t fips_mode, - EXIT: - return rc; - } -+#endif - - XError Connection_impl::activate_tls() { - if (nullptr == m_vio) return get_socket_error(SOCKET_ECONNRESET); -@@ -569,12 +571,14 @@ XError Connection_impl::activate_tls() { - if (!m_context->m_ssl_config.is_configured()) - return XError{CR_SSL_CONNECTION_ERROR, ER_TEXT_TLS_NOT_CONFIGURATED, true}; - -+#ifndef LIBRESSL_VERSION_NUMBER - char err_string[OPENSSL_ERROR_LENGTH] = {'\0'}; - if (set_fips_mode( - static_cast<uint32_t>(m_context->m_ssl_config.m_ssl_fips_mode), - err_string) != 1) { - return XError{CR_SSL_CONNECTION_ERROR, err_string, true}; - } -+#endif - auto ssl_ctx_flags = process_tls_version( - details::null_when_empty(m_context->m_ssl_config.m_tls_version)); - ---- a/router/src/http/src/tls_client_context.cc -+++ b/router/src/http/src/tls_client_context.cc -@@ -54,7 +54,7 @@ void TlsClientContext::verify(TlsVerify verify) { - - void TlsClientContext::cipher_suites(const std::string &ciphers) { - // TLSv1.3 ciphers are controlled via SSL_CTX_set_ciphersuites() --#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1) -+#ifdef TLS1_3_VERSION - if (1 != SSL_CTX_set_ciphersuites(ssl_ctx_.get(), ciphers.c_str())) { - throw TlsError("set-cipher-suites"); - } ---- a/router/src/http/src/tls_context.cc -+++ b/router/src/http/src/tls_context.cc -@@ -91,7 +91,7 @@ static int o11x_version(TlsVersion version) { - return TLS1_1_VERSION; - case TlsVersion::TLS_1_2: - return TLS1_2_VERSION; --#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 1) -+#ifdef TLS1_3_VERSION - case TlsVersion::TLS_1_3: - return TLS1_3_VERSION; - #endif -@@ -120,9 +120,11 @@ void TlsContext::version_range(TlsVersion min_version, TlsVersion max_version) { - switch (min_version) { - default: - // unknown, leave all disabled -+#ifdef TLS1_3_VERSION - // fallthrough - case TlsVersion::TLS_1_3: - opts |= SSL_OP_NO_TLSv1_2; -+#endif - // fallthrough - case TlsVersion::TLS_1_2: - opts |= SSL_OP_NO_TLSv1_1; -@@ -170,8 +172,10 @@ TlsVersion TlsContext::min_version() const { - return TlsVersion::TLS_1_1; - case TLS1_2_VERSION: - return TlsVersion::TLS_1_2; -+#ifdef TLS1_3_VERSION - case TLS1_3_VERSION: - return TlsVersion::TLS_1_3; -+#endif - case 0: - return TlsVersion::AUTO; - default: -@@ -230,7 +234,8 @@ TlsContext::InfoCallback TlsContext::info_callback() const { - } - - int TlsContext::security_level() const { --#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) -+#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \ -+ !defined(LIBRESSL_VERSION_NUMBER) - return SSL_CTX_get_security_level(ssl_ctx_.get()); - #else - return 0; ---- a/router/src/http/src/tls_server_context.cc -+++ b/router/src/http/src/tls_server_context.cc -@@ -166,7 +166,8 @@ void TlsServerContext::init_tmp_dh(const std::string &dh_params) { - } - - } else { --#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) -+#if OPENSSL_VERSION_NUMBER >= ROUTER_OPENSSL_VERSION(1, 1, 0) && \ -+ !defined(LIBRESSL_VERSION_NUMBER) - dh2048.reset(DH_get_2048_256()); - #else - /* ---- a/sql-common/client.cc -+++ b/sql-common/client.cc -@@ -7730,7 +7730,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option, - #endif - break; - case MYSQL_OPT_SSL_FIPS_MODE: { --#if defined(HAVE_OPENSSL) -+#if defined(HAVE_OPENSSL) && !defined(LIBRESSL_VERSION_NUMBER) - char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'}; - ENSURE_EXTENSIONS_PRESENT(&mysql->options); - mysql->options.extension->ssl_fips_mode = *static_cast<const uint *>(arg); ---- a/sql/mysqld.cc -+++ b/sql/mysqld.cc -@@ -4818,7 +4818,7 @@ static int init_thread_environment() { - - static PSI_memory_key key_memory_openssl = PSI_NOT_INSTRUMENTED; - --#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) - #define FILE_LINE_ARGS - #else - #define FILE_LINE_ARGS , const char *, int -@@ -4854,12 +4854,14 @@ static void init_ssl() { - } - - static int init_ssl_communication() { -+#ifndef LIBRESSL_VERSION_NUMBER - char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'}; - int ret_fips_mode = set_fips_mode(opt_ssl_fips_mode, ssl_err_string); - if (ret_fips_mode != 1) { - LogErr(ERROR_LEVEL, ER_SSL_FIPS_MODE_ERROR, ssl_err_string); - return 1; - } -+#endif - if (SslAcceptorContext::singleton_init(opt_use_ssl)) return 1; - - #if OPENSSL_VERSION_NUMBER < 0x10100000L ---- a/sql/sys_vars.cc -+++ b/sql/sys_vars.cc -@@ -4417,6 +4417,7 @@ static Sys_var_ulong Sys_max_execution_time( - HINT_UPDATEABLE SESSION_VAR(max_execution_time), CMD_LINE(REQUIRED_ARG), - VALID_RANGE(0, ULONG_MAX), DEFAULT(0), BLOCK_SIZE(1)); - -+#ifndef LIBRESSL_VERSION_NUMBER - static bool update_fips_mode(sys_var *, THD *, enum_var_type) { - char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'}; - if (set_fips_mode(opt_ssl_fips_mode, ssl_err_string) != 1) { -@@ -4427,15 +4428,30 @@ static bool update_fips_mode(sys_var *, THD *, enum_var_type) { - return false; - } - } -+#endif - -+#if defined(LIBRESSL_VERSION_NUMBER) -+static const char *ssl_fips_mode_names[] = {"OFF", 0}; -+#else - static const char *ssl_fips_mode_names[] = {"OFF", "ON", "STRICT", 0}; -+#endif - static Sys_var_enum Sys_ssl_fips_mode( - "ssl_fips_mode", - "SSL FIPS mode (applies only for OpenSSL); " -+#ifndef LIBRESSL_VERSION_NUMBER - "permitted values are: OFF, ON, STRICT", -+#else -+ "permitted values are: OFF", -+#endif - GLOBAL_VAR(opt_ssl_fips_mode), CMD_LINE(REQUIRED_ARG, OPT_SSL_FIPS_MODE), - ssl_fips_mode_names, DEFAULT(0), NO_MUTEX_GUARD, NOT_IN_BINLOG, -- ON_CHECK(NULL), ON_UPDATE(update_fips_mode), NULL); -+ ON_CHECK(NULL), -+#ifndef LIBRESSL_VERSION_NUMBER -+ ON_UPDATE(update_fips_mode), -+#else -+ ON_UPDATE(NULL), -+#endif -+ NULL); - - #if defined(HAVE_OPENSSL) - static Sys_var_bool Sys_auto_generate_certs( ---- a/vio/viossl.cc -+++ b/vio/viossl.cc -@@ -45,7 +45,7 @@ - BIO_set_callback_ex was added in openSSL 1.1.1 - For older openSSL, use the deprecated BIO_set_callback. - */ --#if OPENSSL_VERSION_NUMBER >= 0x10101000L -+#if OPENSSL_VERSION_NUMBER >= 0x10101000L && !defined(LIBRESSL_VERSION_NUMBER) - #define HAVE_BIO_SET_CALLBACK_EX - #endif - -@@ -637,7 +637,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout, - #if !defined(DBUG_OFF) - { - STACK_OF(SSL_COMP) *ssl_comp_methods = NULL; -- ssl_comp_methods = SSL_COMP_get_compression_methods(); -+ ssl_comp_methods = (STACK_OF(SSL_COMP) *)SSL_COMP_get_compression_methods(); - n = sk_SSL_COMP_num(ssl_comp_methods); - DBUG_PRINT("info", ("Available compression methods:\n")); - if (n == 0) -@@ -645,7 +645,7 @@ static int ssl_do(struct st_VioSSLFd *ptr, Vio *vio, long timeout, - else - for (j = 0; j < n; j++) { - SSL_COMP *c = sk_SSL_COMP_value(ssl_comp_methods, j); --#if OPENSSL_VERSION_NUMBER < 0x10100000L -+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) - DBUG_PRINT("info", (" %d: %s\n", c->id, c->name)); - #else /* OPENSSL_VERSION_NUMBER < 0x10100000L */ - DBUG_PRINT("info", ---- a/vio/viosslfactories.cc -+++ b/vio/viosslfactories.cc -@@ -420,6 +420,7 @@ void ssl_start() { - } - } - -+#ifndef LIBRESSL_VERSION_NUMBER - /** - Set fips mode in openssl library, - When we set fips mode ON/STRICT, it will perform following operations: -@@ -473,6 +474,7 @@ EXIT: - @returns openssl current fips mode - */ - uint get_fips_mode() { return FIPS_mode(); } -+#endif - - long process_tls_version(const char *tls_version) { - const char *separator = ","; diff --git a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.20-libressl.patch b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.21-libressl.patch index 88f32419239a..78f3e78fd6d4 100644 --- a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.20-libressl.patch +++ b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.21-libressl.patch @@ -1,4 +1,4 @@ -From 2108922a8292d74874ede834158c208d81c3cf76 Mon Sep 17 00:00:00 2001 +From 4aadff7b08f6a69160a44c1742d5a12fb5abc059 Mon Sep 17 00:00:00 2001 From: Thomas Deutschmann <whissi@gentoo.org> Date: Thu, 30 Apr 2020 20:01:48 +0200 Subject: [PATCH 5/5] Add LibreSSL support @@ -7,7 +7,7 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> --- cmake/ssl.cmake | 5 +++-- mysys/my_md5.cc | 2 ++ - .../bindings/xcom/xcom/xcom_ssl_transport.c | 6 +++++- + .../bindings/xcom/xcom/xcom_ssl_transport.cc | 6 +++++- plugin/x/client/xconnection_impl.cc | 4 ++++ router/src/http/src/tls_client_context.cc | 2 +- router/src/http/src/tls_context.cc | 9 ++++++-- @@ -19,6 +19,8 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> vio/viosslfactories.cc | 2 ++ 12 files changed, 54 insertions(+), 14 deletions(-) +diff --git a/cmake/ssl.cmake b/cmake/ssl.cmake +index 52feadeaa..3b8332695 100644 --- a/cmake/ssl.cmake +++ b/cmake/ssl.cmake @@ -222,13 +222,14 @@ MACRO (MYSQL_CHECK_SSL) @@ -38,6 +40,8 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> ) SET(OPENSSL_FOUND TRUE) FIND_PROGRAM(OPENSSL_EXECUTABLE openssl +diff --git a/mysys/my_md5.cc b/mysys/my_md5.cc +index dea997b25..531696329 100644 --- a/mysys/my_md5.cc +++ b/mysys/my_md5.cc @@ -56,7 +56,9 @@ static void my_md5_hash(unsigned char *digest, unsigned const char *buf, @@ -50,9 +54,11 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> /* If fips mode is ON/STRICT restricted method calls will result into abort, * skipping call. */ if (fips_mode == 0) { ---- a/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c -+++ b/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c -@@ -329,6 +329,7 @@ error: +diff --git a/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc b/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc +index 8bf63ce14..02f91b44e 100644 +--- a/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc ++++ b/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.cc +@@ -325,6 +325,7 @@ error: return 1; } @@ -60,7 +66,7 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> #define OPENSSL_ERROR_LENGTH 512 static int configure_ssl_fips_mode(const uint fips_mode) { int rc = -1; -@@ -352,6 +353,7 @@ static int configure_ssl_fips_mode(const uint fips_mode) { +@@ -348,6 +349,7 @@ static int configure_ssl_fips_mode(const uint fips_mode) { EXIT: return rc; } @@ -68,7 +74,7 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> static int configure_ssl_ca(SSL_CTX *ssl_ctx, const char *ca_file, const char *ca_path) { -@@ -555,10 +557,12 @@ int xcom_init_ssl(const char *server_key_file, const char *server_cert_file, +@@ -544,10 +546,12 @@ int xcom_init_ssl(const char *server_key_file, const char *server_cert_file, int verify_server = SSL_VERIFY_NONE; int verify_client = SSL_VERIFY_NONE; @@ -81,7 +87,7 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> SSL_library_init(); SSL_load_error_strings(); -@@ -622,7 +626,7 @@ error: +@@ -611,7 +615,7 @@ error: void xcom_cleanup_ssl() { if (!xcom_use_ssl()) return; @@ -90,9 +96,11 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> ERR_remove_thread_state(0); #endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */ } +diff --git a/plugin/x/client/xconnection_impl.cc b/plugin/x/client/xconnection_impl.cc +index 13bc6794e..5223169db 100644 --- a/plugin/x/client/xconnection_impl.cc +++ b/plugin/x/client/xconnection_impl.cc -@@ -511,6 +511,7 @@ XError Connection_impl::get_ssl_error(const int error_id) { +@@ -498,6 +498,7 @@ XError Connection_impl::get_ssl_error(const int error_id) { return XError(CR_SSL_CONNECTION_ERROR, buffer); } @@ -100,7 +108,7 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> /** Set fips mode in openssl library, When we set fips mode ON/STRICT, it will perform following operations: -@@ -550,6 +551,7 @@ int set_fips_mode(const uint32_t fips_mode, +@@ -537,6 +538,7 @@ int set_fips_mode(const uint32_t fips_mode, EXIT: return rc; } @@ -108,7 +116,7 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> XError Connection_impl::activate_tls() { if (nullptr == m_vio) return get_socket_error(SOCKET_ECONNRESET); -@@ -560,12 +562,14 @@ XError Connection_impl::activate_tls() { +@@ -547,12 +549,14 @@ XError Connection_impl::activate_tls() { if (!m_context->m_ssl_config.is_configured()) return XError{CR_SSL_CONNECTION_ERROR, ER_TEXT_TLS_NOT_CONFIGURATED, true}; @@ -123,6 +131,8 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> auto ssl_ctx_flags = process_tls_version( details::null_when_empty(m_context->m_ssl_config.m_tls_version)); +diff --git a/router/src/http/src/tls_client_context.cc b/router/src/http/src/tls_client_context.cc +index 297ceee30..7c1157289 100644 --- a/router/src/http/src/tls_client_context.cc +++ b/router/src/http/src/tls_client_context.cc @@ -54,7 +54,7 @@ void TlsClientContext::verify(TlsVerify verify) { @@ -134,6 +144,8 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> if (1 != SSL_CTX_set_ciphersuites(ssl_ctx_.get(), ciphers.c_str())) { throw TlsError("set-cipher-suites"); } +diff --git a/router/src/http/src/tls_context.cc b/router/src/http/src/tls_context.cc +index 60ed7e6ca..388ef8f28 100644 --- a/router/src/http/src/tls_context.cc +++ b/router/src/http/src/tls_context.cc @@ -91,7 +91,7 @@ static int o11x_version(TlsVersion version) { @@ -178,6 +190,8 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> return SSL_CTX_get_security_level(ssl_ctx_.get()); #else return 0; +diff --git a/router/src/http/src/tls_server_context.cc b/router/src/http/src/tls_server_context.cc +index 0f4472419..707d7de86 100644 --- a/router/src/http/src/tls_server_context.cc +++ b/router/src/http/src/tls_server_context.cc @@ -167,7 +167,8 @@ void TlsServerContext::init_tmp_dh(const std::string &dh_params) { @@ -190,9 +204,11 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> dh2048.reset(DH_get_2048_256()); #else /* +diff --git a/sql-common/client.cc b/sql-common/client.cc +index ffb136b5b..8a0c7b834 100644 --- a/sql-common/client.cc +++ b/sql-common/client.cc -@@ -7752,6 +7752,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option, +@@ -7766,6 +7766,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option, return 1; break; case MYSQL_OPT_SSL_FIPS_MODE: { @@ -200,7 +216,7 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'}; ENSURE_EXTENSIONS_PRESENT(&mysql->options); mysql->options.extension->ssl_fips_mode = *static_cast<const uint *>(arg); -@@ -7763,6 +7764,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option, +@@ -7777,6 +7778,7 @@ int STDCALL mysql_options(MYSQL *mysql, enum mysql_option option, "Set Fips mode ON/STRICT failed, detail: '%s'.", ssl_err_string); return 1; } @@ -208,9 +224,11 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> } break; case MYSQL_OPT_SSL_MODE: ENSURE_EXTENSIONS_PRESENT(&mysql->options); +diff --git a/sql/mysqld.cc b/sql/mysqld.cc +index 682e8d5ae..96a922d7a 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc -@@ -4857,7 +4857,7 @@ static int init_thread_environment() { +@@ -5109,7 +5109,7 @@ static int init_thread_environment() { static PSI_memory_key key_memory_openssl = PSI_NOT_INSTRUMENTED; @@ -219,7 +237,7 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> #define FILE_LINE_ARGS #else #define FILE_LINE_ARGS , const char *, int -@@ -4891,12 +4891,14 @@ static void init_ssl() { +@@ -5143,12 +5143,14 @@ static void init_ssl() { } static int init_ssl_communication() { @@ -231,12 +249,14 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> return 1; } +#endif - if (SslAcceptorContext::singleton_init(opt_use_ssl)) return 1; - - #if OPENSSL_VERSION_NUMBER < 0x10100000L + if (TLS_channel::singleton_init(&mysql_main, mysql_main_channel, opt_use_ssl, + &server_main_callback, opt_initialize)) + return 1; +diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc +index 5b1a82d2f..4e2dff865 100644 --- a/sql/sys_vars.cc +++ b/sql/sys_vars.cc -@@ -4459,6 +4459,7 @@ static Sys_var_ulong Sys_max_execution_time( +@@ -4474,6 +4474,7 @@ static Sys_var_ulong Sys_max_execution_time( HINT_UPDATEABLE SESSION_VAR(max_execution_time), CMD_LINE(REQUIRED_ARG), VALID_RANGE(0, ULONG_MAX), DEFAULT(0), BLOCK_SIZE(1)); @@ -244,7 +264,7 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> static bool update_fips_mode(sys_var *, THD *, enum_var_type) { char ssl_err_string[OPENSSL_ERROR_LENGTH] = {'\0'}; if (set_fips_mode(opt_ssl_fips_mode, ssl_err_string) != 1) { -@@ -4469,15 +4470,31 @@ static bool update_fips_mode(sys_var *, THD *, enum_var_type) { +@@ -4484,15 +4485,31 @@ static bool update_fips_mode(sys_var *, THD *, enum_var_type) { return false; } } @@ -278,6 +298,8 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> static Sys_var_bool Sys_auto_generate_certs( "auto_generate_certs", +diff --git a/vio/viossl.cc b/vio/viossl.cc +index 0e9594741..3a589c64b 100644 --- a/vio/viossl.cc +++ b/vio/viossl.cc @@ -45,7 +45,7 @@ @@ -309,9 +331,11 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> DBUG_PRINT("info", (" %d: %s\n", c->id, c->name)); #else /* OPENSSL_VERSION_NUMBER < 0x10100000L */ DBUG_PRINT("info", +diff --git a/vio/viosslfactories.cc b/vio/viosslfactories.cc +index 6c04029cc..f27221463 100644 --- a/vio/viosslfactories.cc +++ b/vio/viosslfactories.cc -@@ -472,6 +472,7 @@ void ssl_start() { +@@ -473,6 +473,7 @@ void ssl_start() { } } @@ -319,7 +343,7 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> /** Set fips mode in openssl library, When we set fips mode ON/STRICT, it will perform following operations: -@@ -525,6 +526,7 @@ EXIT: +@@ -526,6 +527,7 @@ EXIT: @returns openssl current fips mode */ uint get_fips_mode() { return FIPS_mode(); } @@ -328,5 +352,5 @@ Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> long process_tls_version(const char *tls_version) { const char *separator = ","; -- -2.26.2 +2.27.0 diff --git a/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.21-survive-malformed-charset-files.patch b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.21-survive-malformed-charset-files.patch new file mode 100644 index 000000000000..72799f009c89 --- /dev/null +++ b/dev-db/mysql-connector-c/files/mysql-connector-c-8.0.21-survive-malformed-charset-files.patch @@ -0,0 +1,18 @@ +Description: don't crash on malformed charset files +Origin: https://bugs.launchpad.net/ubuntu/+source/mysql-8.0/+bug/1877504/comments/19 +Bug: https://bugs.launchpad.net/ubuntu/+source/mysql-8.0/+bug/1884809 +Bug: https://bugs.gentoo.org/737002 +Forwarded: workaround, not needed + +--- a/mysys/charset.cc ++++ b/mysys/charset.cc +@@ -922,7 +922,7 @@ size_t escape_quotes_for_mysql(CHARSET_I + + void charset_uninit() { + for (CHARSET_INFO *cs : all_charsets) { +- if (cs && cs->coll->uninit) { ++ if (cs && cs->coll && cs->coll->uninit) { + cs->coll->uninit(cs); + } + } + diff --git a/dev-db/mysql-connector-c/files/mysql_com.patch b/dev-db/mysql-connector-c/files/mysql_com.patch deleted file mode 100644 index 36a7d5a23791..000000000000 --- a/dev-db/mysql-connector-c/files/mysql_com.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- a/include/mysql_com.h 2014-06-10 23:10:43.000000000 -0400 -+++ b/include/mysql_com.h 2015-08-11 15:20:54.487091000 -0400 -@@ -179,7 +171,7 @@ - #define CLIENT_IGNORE_SIGPIPE 4096 /* IGNORE sigpipes */ - #define CLIENT_TRANSACTIONS 8192 /* Client knows about transactions */ - #define CLIENT_RESERVED 16384 /* Old flag for 4.1 protocol */ --#define CLIENT_RESERVED2 32768 /* Old flag for 4.1 authentication */ -+#define CLIENT_SECURE_CONNECTION 32768 /* New 4.1 authentication */ - #define CLIENT_MULTI_STATEMENTS (1UL << 16) /* Enable/disable multi-stmt support */ - #define CLIENT_MULTI_RESULTS (1UL << 17) /* Enable/disable multi-results */ - #define CLIENT_PS_MULTI_RESULTS (1UL << 18) /* Multi-results in PS-protocol */ -@@ -226,7 +216,7 @@ - | CLIENT_IGNORE_SIGPIPE \ - | CLIENT_TRANSACTIONS \ - | CLIENT_RESERVED \ -- | CLIENT_RESERVED2 \ -+ | CLIENT_SECURE_CONNECTION \ - | CLIENT_MULTI_STATEMENTS \ - | CLIENT_MULTI_RESULTS \ - | CLIENT_PS_MULTI_RESULTS \ ---- a/libmysql/client_settings.h 2015-02-25 16:09:49.000000000 -0500 -+++ b/libmysql/client_settings.h 2015-08-11 15:44:10.804091000 -0400 -@@ -31,7 +31,7 @@ - CLIENT_LONG_FLAG | \ - CLIENT_TRANSACTIONS | \ - CLIENT_PROTOCOL_41 | \ -- CLIENT_RESERVED2 | \ -+ CLIENT_SECURE_CONNECTION | \ - CLIENT_MULTI_RESULTS | \ - CLIENT_PS_MULTI_RESULTS | \ - CLIENT_PLUGIN_AUTH | \ diff --git a/dev-db/mysql-connector-c/mysql-connector-c-6.1.11-r2.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-6.1.11-r2.ebuild deleted file mode 100644 index 90eb839cd3e1..000000000000 --- a/dev-db/mysql-connector-c/mysql-connector-c-6.1.11-r2.ebuild +++ /dev/null @@ -1,83 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cmake-multilib - -MULTILIB_WRAPPED_HEADERS+=( - /usr/include/mysql/my_config.h -) - -# wrap the config script -MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config ) - -DESCRIPTION="C client library for MariaDB/MySQL" -HOMEPAGE="https://dev.mysql.com/downloads/connector/c/" -LICENSE="GPL-2" - -SRC_URI="https://dev.mysql.com/get/Downloads/Connector-C/${P}-src.tar.gz" -S="${WORKDIR}/${P}-src" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86" - -SUBSLOT="18" -SLOT="0/${SUBSLOT}" -IUSE="libressl static-libs" - -CDEPEND=" - sys-libs/zlib:=[${MULTILIB_USEDEP}] - libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) - !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] ) - " -RDEPEND="${CDEPEND} - !dev-db/mariadb-connector-c[mysqlcompat] - " -DEPEND="${CDEPEND}" - -DOCS=( README ) -PATCHES=( - "${FILESDIR}/mysql_com.patch" - "${FILESDIR}/20028_all_mysql-5.6-gcc7.patch" - "${FILESDIR}/6.1.11-openssl-1.1.patch" -) - -src_prepare() { - sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "${S}/scripts/CMakeLists.txt" || die - if use libressl ; then - sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \ - "${S}/cmake/ssl.cmake" || die - fi - cmake-utils_src_prepare -} - -multilib_src_configure() { - local mycmakeargs=( - -DINSTALL_LAYOUT=RPM - -DINSTALL_LIBDIR=$(get_libdir) - -DWITH_DEFAULT_COMPILER_OPTIONS=OFF - -DWITH_DEFAULT_FEATURE_SET=OFF - -DENABLED_LOCAL_INFILE=ON - -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" - -DWITH_ZLIB=system - -DENABLE_DTRACE=OFF - -DWITH_SSL=system - -DLIBMYSQL_OS_OUTPUT_NAME=mysqlclient - -DSHARED_LIB_PATCH_VERSION="0" - ) - cmake-utils_src_configure -} - -multilib_src_install_all() { - if ! use static-libs ; then - find "${ED}" -name "*.a" -delete || die - fi -} - -pkg_preinst() { - if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then - elog "Due to ABI changes when switching between different client libraries," - elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient." - elog "Please run: revdep-rebuild --library libmysqlclient.so.${SUBSLOT}" - ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" - fi -} diff --git a/dev-db/mysql-connector-c/mysql-connector-c-8.0.20.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-8.0.20.ebuild deleted file mode 100644 index db0c6dcd3c15..000000000000 --- a/dev-db/mysql-connector-c/mysql-connector-c-8.0.20.ebuild +++ /dev/null @@ -1,111 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cmake-multilib - -# wrap the config script -MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config ) - -DESCRIPTION="C client library for MariaDB/MySQL" -HOMEPAGE="https://dev.mysql.com/downloads/" -LICENSE="GPL-2" - -SRC_URI="https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-${PV}.tar.gz" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" - -SLOT="0/21" -IUSE="ldap libressl static-libs" - -RDEPEND=" - >=app-arch/lz4-0_p131:= - sys-libs/zlib:=[${MULTILIB_USEDEP}] - ldap? ( dev-libs/cyrus-sasl:=[${MULTILIB_USEDEP}] ) - libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) - !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] ) - " -DEPEND="${RDEPEND}" - -# Avoid file collisions, #692580 -RDEPEND+=" !<dev-db/mysql-5.6.45-r1" -RDEPEND+=" !=dev-db/mysql-5.7.23*" -RDEPEND+=" !=dev-db/mysql-5.7.24*" -RDEPEND+=" !=dev-db/mysql-5.7.25*" -RDEPEND+=" !=dev-db/mysql-5.7.26-r0" -RDEPEND+=" !=dev-db/mysql-5.7.27-r0" -RDEPEND+=" !<dev-db/percona-server-5.7.26.29-r1" - -DOCS=( README ) - -S="${WORKDIR}/mysql-${PV}" - -PATCHES=( - "${FILESDIR}"/${PN}-8.0.18-always-build-decompress-utilities.patch - "${FILESDIR}"/${PN}-8.0.17-use-relative-include-path-for-udf_registration_types-h.patch - "${FILESDIR}"/${PN}-8.0.19-do-not-install-comp_err.patch - "${FILESDIR}"/${PN}-8.0.20-libressl.patch -) - -src_prepare() { - sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "${S}/scripts/CMakeLists.txt" || die - - # All these are for the server only. - # Disable rpm call which would trigger sandbox, #692368 - sed -i \ - -e '/MYSQL_CHECK_LIBEVENT/d' \ - -e '/MYSQL_CHECK_RAPIDJSON/d' \ - -e '/MYSQL_CHECK_ICU/d' \ - -e '/MYSQL_CHECK_EDITLINE/d' \ - -e '/MYSQL_CHECK_CURL/d' \ - -e '/ADD_SUBDIRECTORY(man)/d' \ - -e '/ADD_SUBDIRECTORY(share)/d' \ - -e '/INCLUDE(cmake\/boost/d' \ - -e 's/MY_RPM rpm/MY_RPM rpmNOTEXISTENT/' \ - CMakeLists.txt || die - - # Skip building clients - echo > client/CMakeLists.txt || die - - # Forcefully disable auth plugin - if ! use ldap ; then - sed -i -e '/MYSQL_CHECK_SASL/d' CMakeLists.txt || die - echo > libmysql/authentication_ldap/CMakeLists.txt || die - fi - - cmake-utils_src_prepare -} - -multilib_src_configure() { - local mycmakeargs=( - -DINSTALL_LAYOUT=RPM - -DINSTALL_LIBDIR=$(get_libdir) - -DWITH_DEFAULT_COMPILER_OPTIONS=OFF - -DWITH_DEFAULT_FEATURE_SET=OFF - -DENABLED_LOCAL_INFILE=ON - -DMYSQL_UNIX_ADDR="${EPREFIX}/run/mysqld/mysqld.sock" - -DWITH_ZLIB=system - -DWITH_SSL=system - -DWITH_NUMA=OFF - -DLIBMYSQL_OS_OUTPUT_NAME=mysqlclient - -DSHARED_LIB_PATCH_VERSION="0" - -DCMAKE_POSITION_INDEPENDENT_CODE=ON - -DWITHOUT_SERVER=ON - ) - cmake-utils_src_configure -} - -multilib_src_install() { - cmake-utils_src_install -} - -multilib_src_install_all() { - doman \ - man/my_print_defaults.1 \ - man/perror.1 \ - man/zlib_decompress.1 - - if ! use static-libs ; then - find "${ED}" -name "*.a" -delete || die - fi -} diff --git a/dev-db/mysql-connector-c/mysql-connector-c-8.0.19.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-8.0.21-r2.ebuild index b48adece2a67..c79b084636c2 100644 --- a/dev-db/mysql-connector-c/mysql-connector-c-8.0.19.ebuild +++ b/dev-db/mysql-connector-c/mysql-connector-c-8.0.21-r2.ebuild @@ -19,7 +19,8 @@ SLOT="0/21" IUSE="ldap libressl static-libs" RDEPEND=" - >=app-arch/lz4-0_p131:= + >=app-arch/lz4-0_p131:=[${MULTILIB_USEDEP}] + app-arch/zstd:=[${MULTILIB_USEDEP}] sys-libs/zlib:=[${MULTILIB_USEDEP}] ldap? ( dev-libs/cyrus-sasl:=[${MULTILIB_USEDEP}] ) libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) @@ -42,9 +43,9 @@ S="${WORKDIR}/mysql-${PV}" PATCHES=( "${FILESDIR}"/${PN}-8.0.18-always-build-decompress-utilities.patch - "${FILESDIR}"/${PN}-8.0.17-use-relative-include-path-for-udf_registration_types-h.patch "${FILESDIR}"/${PN}-8.0.19-do-not-install-comp_err.patch - "${FILESDIR}"/${PN}-8.0.19-libressl.patch + "${FILESDIR}"/${PN}-8.0.21-libressl.patch + "${FILESDIR}"/${PN}-8.0.21-survive-malformed-charset-files.patch ) src_prepare() { @@ -84,9 +85,11 @@ multilib_src_configure() { -DWITH_DEFAULT_FEATURE_SET=OFF -DENABLED_LOCAL_INFILE=ON -DMYSQL_UNIX_ADDR="${EPREFIX}/run/mysqld/mysqld.sock" - -DWITH_ZLIB=system - -DWITH_SSL=system + -DWITH_LZ4=system -DWITH_NUMA=OFF + -DWITH_SSL=system + -DWITH_ZLIB=system + -DWITH_ZSTD=system -DLIBMYSQL_OS_OUTPUT_NAME=mysqlclient -DSHARED_LIB_PATCH_VERSION="0" -DCMAKE_POSITION_INDEPENDENT_CODE=ON diff --git a/dev-db/mysql-workbench/Manifest b/dev-db/mysql-workbench/Manifest index 1aebe0ec3b27..6c74e32dd9d3 100644 --- a/dev-db/mysql-workbench/Manifest +++ b/dev-db/mysql-workbench/Manifest @@ -1,8 +1,11 @@ AUX mysql-workbench-6.2.5-wbcopytables.patch 496 BLAKE2B 4666f32098ec43ad36f1c726903472e829873002521262d6781a2febfc1394dac6f9708fbb99a3fa52a032a5b8f695c9b98579b28a63e74727eac21a8ef3fbe6 SHA512 c0766315cd345893af57880eccdc2c1dd9ffa456a27d0c736af1382ca24c507de865188588753f212f35d8781305dcbd8d555f128edd6454dc2299bd0357fd5b AUX mysql-workbench-8.0.19-mysql-connector-8.patch 624 BLAKE2B 0cb899a8b0127664471877bb9cdcda946c35ed7a159646b94891a791a618c77201cc7696d6f2893e95fd78dbc13325cef752740f76e69974e10c0f88084594fb SHA512 09c2349cb42393f6d32f24804e2c3438a5d846fc9611e0684ccf2139fd30b0abcb0f2aa7b205c60a081259e073fb345cd72837dab1a216e6a8aaaba5ec3decf7 +AUX mysql-workbench-8.0.21-boost-1.73.0.patch 4579 BLAKE2B 2e39180d9c4ac6fb87b03bdb4cbff5b2f09df9334cbf83465c4a79705f060a18dc7a1a2520857ff262e8f5d599498234be84cba57f77b70659f14c7ba9d19fb6 SHA512 eab05b945c9e5217619748d3bce6909d15dc4a40e40017a735fe13610ae2731c97696c4b8bfe285d4eb62773b1534f24c8a5c50897dd61c99073ce5915be36b7 DIST antlr-4.7.1-complete.jar 2240116 BLAKE2B 3acf99b3701b2092cad2fb6e91f27791cbedd82f26888d7329e481be29fce4ec644eb57f663e515b92dea46c24222d4fb090aae5cae30c57c412a38932ea72ed SHA512 de1c230d7294e05ac7b451cbc639bab9d416a674b281e21092fb4a9329ca8b6d4b92b9ad78a9771cff475a1610f1d0419819c4619bdff36c683019da67ef13b1 DIST mysql-workbench-community-8.0.19-src.tar.gz 19391463 BLAKE2B f9374c234a75851784c940f8288a783ee1c02fe4be2973b174a0d3768a60dd5318ceea7d2dacb083376c83c33bed8fca02768bcf4f3b8ba6284ca78fc7910cfe SHA512 986a34328ec3b9aba1532cfd8792fb970fe3c71eda577988a17a6bca25e783a520878067acd097a74ca3f274f02d271af16d7d6beb6970bca48332721021eebc DIST mysql-workbench-community-8.0.20-src.tar.gz 19391920 BLAKE2B 9baf37dec18002ebf7956979fa1e3e45b69a7061bd85d6b2ef25f058ce7595a6847ea314b7443dadf7524ff985ff4e87869e91ea7a012e6cf07a6d139a6c733b SHA512 b31314fac018959a008b283c795df5a676d6c667827e87a98379ce1de172b98cfdf8dd5cac009e2fb78241358afcb318abfed0178d73840bf6b4432b85b6a4e7 +DIST mysql-workbench-community-8.0.21-src.tar.gz 19211633 BLAKE2B 452ac946d478acb1d0e358d2bc44125f0b7d1f1bc2943d2b03ce6767e659df71b7525b7a51ed1cd5560f02a7a1047e2cd35477a71ddd91f71992e5becc3d1c0d SHA512 40c1144f801424c3b46eb033c9d1174c9bd903cd17672924eacd3ff58daa91b0d09f6045af4746ce7490f5ab2b0973b6d7f44ee8ae022607057cb0f09fc59a3f EBUILD mysql-workbench-8.0.19-r1.ebuild 2629 BLAKE2B 3796fddc98646419abf3b497862b1e3eecbd3d846dc4654bb4629adab10679738d2434b48b5fbc221c3383bbc59cc94ef0bc25b22beb18a8cb73628a7560c26a SHA512 4ef8643322b88a123a0cac098f5835e64581ab21e1eefa339b92bc1d507f03a9976bfa67a75a14e58165e90cf8ad1aa16e259db32ccc22c172a82b7f15fe3df4 EBUILD mysql-workbench-8.0.20.ebuild 2639 BLAKE2B cada322f63595aaf9a6add80d1db5f160f616f4026cb65f8bd3bb968def8348ff8cc89b7fbc1f6c550780b5df332ef6f814dbf9f1578734671eedcd07276b334 SHA512 ce59a3350cae3f4714e139553f824aa29992ea374bdfcf4a9b881ef9a875f069845d4e4655597aacc7c4ed05105536b79a8dabdef430efa57703f29af7422be0 +EBUILD mysql-workbench-8.0.21.ebuild 2678 BLAKE2B b4beba334812494af029c372321999d65fe0c8b613ebd3aa3eed95f1fc85366b15159f7af27cdb35faf0d4acff5d3d06fb6f5606f25b99eeb122651716a7fae1 SHA512 077105f1bf95a827df03cd56dcbe27e3f2b953115ac3415cab2381d8bd05bfddc8df3b6b17d65b0dd3359dc8e159ee63ac1d68bc96623f3a186e5952f0f8a882 MISC metadata.xml 310 BLAKE2B b0d985e39bb17865a05907e5449723c2bf862d9f3ae7f8570173c9cff443171feef6694db26a51880f8c1a4b1e3834ca7ab9bc7c2057fd6f8930b9d1c1c02cdd SHA512 f284063d72f2218f8ed60a74b43f252d608865682b8c0447f52016a02a7cbf6d45a226787d893328dd31946ade1cca78ff7556896183b4422c4142a8935a2193 diff --git a/dev-db/mysql-workbench/files/mysql-workbench-8.0.21-boost-1.73.0.patch b/dev-db/mysql-workbench/files/mysql-workbench-8.0.21-boost-1.73.0.patch new file mode 100644 index 000000000000..85825f14c047 --- /dev/null +++ b/dev-db/mysql-workbench/files/mysql-workbench-8.0.21-boost-1.73.0.patch @@ -0,0 +1,123 @@ +Patch from Alt Linux as provided in https://bugs.gentoo.org/723432 + +diff --git a/library/forms/swig/mforms.i b/library/forms/swig/mforms.i +index cb74ba41..05535e56 100644 +--- a/library/forms/swig/mforms.i ++++ b/library/forms/swig/mforms.i +@@ -3,6 +3,7 @@ + #pragma SWIG nowarn=401,402,509 + + %{ ++#include <boost/bind.hpp> + #include <boost/signals2/signal.hpp> + #include <sstream> + #include <frameobject.h> +diff --git a/modules/db.mysql.sqlparser/src/mysql_invalid_sql_parser.cpp b/modules/db.mysql.sqlparser/src/mysql_invalid_sql_parser.cpp +index 24db3d63..d997c410 100644 +--- a/modules/db.mysql.sqlparser/src/mysql_invalid_sql_parser.cpp ++++ b//modules/db.mysql.sqlparser/src/mysql_invalid_sql_parser.cpp +@@ -31,6 +31,7 @@ + #include "base/string_utilities.h" + #include <sstream> + #include <boost/lambda/bind.hpp> ++#include <boost/bind.hpp> + + using namespace grt; + using namespace base; +diff --git a/modules/db.mysql.sqlparser/src/mysql_sql_inserts_loader.cpp b/modules/db.mysql.sqlparser/src/mysql_sql_inserts_loader.cpp +index 3da58757..a9b082ac 100644 +--- a/modules/db.mysql.sqlparser/src/mysql_sql_inserts_loader.cpp ++++ b/modules/db.mysql.sqlparser/src/mysql_sql_inserts_loader.cpp +@@ -27,6 +27,7 @@ + + #include "mysql_sql_inserts_loader.h" + #include "mysql_sql_parser_utils.h" ++#include <boost/bind.hpp> + #include <boost/foreach.hpp> + + using namespace grt; +diff --git a/modules/db.mysql.sqlparser/src/mysql_sql_normalizer.cpp b/modules/db.mysql.sqlparser/src/mysql_sql_normalizer.cpp +index 0c0f72bc..baf3d897 100644 +--- a/modules/db.mysql.sqlparser/src/mysql_sql_normalizer.cpp ++++ b/modules/db.mysql.sqlparser/src/mysql_sql_normalizer.cpp +@@ -22,6 +22,7 @@ + */ + + #include <glib.h> ++#include <boost/bind.hpp> + #include <boost/signals2.hpp> + #include <cctype> + +diff --git a/modules/db.mysql.sqlparser/src/mysql_sql_parser.cpp b/modules/db.mysql.sqlparser/src/mysql_sql_parser.cpp +index ef51d77c..68f397ae 100644 +--- a/modules/db.mysql.sqlparser/src/mysql_sql_parser.cpp ++++ b/modules/db.mysql.sqlparser/src/mysql_sql_parser.cpp +@@ -39,6 +39,7 @@ + #include "base/string_utilities.h" + #include <sstream> + #include <iterator> ++#include <boost/bind.hpp> + #include <boost/lambda/bind.hpp> + + using namespace grt; +diff --git a/modules/db.mysql.sqlparser/src/mysql_sql_parser_utils.h b/modules/db.mysql.sqlparser/src/mysql_sql_parser_utils.h +index 9e790dfb..2addd87e 100644 +--- a/modules/db.mysql.sqlparser/src/mysql_sql_parser_utils.h ++++ b/modules/db.mysql.sqlparser/src/mysql_sql_parser_utils.h +@@ -30,6 +30,8 @@ + + #include "base/string_utilities.h" + ++#include <boost/bind.hpp> ++ + using namespace grt; + + template <typename T> +diff --git a/modules/db.mysql.sqlparser/src/mysql_sql_schema_rename.cpp b/modules/db.mysql.sqlparser/src/mysql_sql_schema_rename.cpp +index 617487b5..9614ad9c 100644 +--- a/modules/db.mysql.sqlparser/src/mysql_sql_schema_rename.cpp ++++ b/modules/db.mysql.sqlparser/src/mysql_sql_schema_rename.cpp +@@ -22,6 +22,7 @@ + */ + + #include <glib.h> ++#include <boost/bind.hpp> + #include <boost/signals2.hpp> + + #include "mysql_sql_schema_rename.h" +diff --git a/modules/db.mysql.sqlparser/src/mysql_sql_specifics.cpp b/modules/db.mysql.sqlparser/src/mysql_sql_specifics.cpp +index bbbb733a..51c3215d 100644 +--- a/modules/db.mysql.sqlparser/src/mysql_sql_specifics.cpp ++++ b/modules/db.mysql.sqlparser/src/mysql_sql_specifics.cpp +@@ -28,6 +28,7 @@ + #include "mysql_sql_parser_fe.h" + #include "grtdb/charset_utils.h" + #include "base/string_utilities.h" ++#include <boost/bind.hpp> + #include <boost/scoped_array.hpp> + #include <sstream> + +diff --git a/modules/db.mysql.sqlparser/src/mysql_sql_statement_decomposer.cpp b/modules/db.mysql.sqlparser/src/mysql_sql_statement_decomposer.cpp +index b87535a0..3900b7a8 100644 +--- a/modules/db.mysql.sqlparser/src/mysql_sql_statement_decomposer.cpp ++++ b/modules/db.mysql.sqlparser/src/mysql_sql_statement_decomposer.cpp +@@ -29,6 +29,7 @@ + #include "mysql_sql_parser_fe.h" + #include "base/string_utilities.h" + #include <boost/foreach.hpp> ++#include <boost/bind.hpp> + #include <boost/lambda/bind.hpp> + + using namespace grt; +diff --git a/modules/db.mysql.sqlparser/src/mysql_sql_syntax_check.cpp b/modules/db.mysql.sqlparser/src/mysql_sql_syntax_check.cpp +index 0f9f80ad..1cb5f78a 100644 +--- a/modules/db.mysql.sqlparser/src/mysql_sql_syntax_check.cpp ++++ b/modules/db.mysql.sqlparser/src/mysql_sql_syntax_check.cpp +@@ -28,6 +28,7 @@ + #include "mysql_sql_parser_fe.h" + #include "grtdb/charset_utils.h" + #include "base/string_utilities.h" ++#include <boost/bind.hpp> + #include <boost/lambda/bind.hpp> + + using namespace grt; diff --git a/dev-db/mysql-workbench/mysql-workbench-8.0.21.ebuild b/dev-db/mysql-workbench/mysql-workbench-8.0.21.ebuild new file mode 100644 index 000000000000..d811ec775a6e --- /dev/null +++ b/dev-db/mysql-workbench/mysql-workbench-8.0.21.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +GCONF_DEBUG="no" + +PYTHON_COMPAT=( python2_7 ) +PYTHON_REQ_USE="sqlite" + +ANTLR_VERSION=4.7.1 + +inherit gnome2 flag-o-matic python-single-r1 cmake-utils + +MY_P="${PN}-community-${PV}-src" + +DESCRIPTION="MySQL Workbench" +HOMEPAGE="https://www.mysql.com/products/workbench/" +SRC_URI="https://cdn.mysql.com/Downloads/MySQLGUITools/${MY_P}.tar.gz + https://www.antlr.org/download/antlr-${ANTLR_VERSION}-complete.jar" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="debug doc" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +# glibc: deprecated mutex functions, removed in 2.36.0 +CDEPEND="${PYTHON_DEPS} + app-crypt/libsecret + dev-libs/glib:2 + dev-cpp/antlr-cpp:4 + dev-cpp/atkmm + dev-cpp/pangomm + >=dev-cpp/glibmm-2.14:2 + dev-cpp/gtkmm:3.0 + dev-libs/atk + >=net-libs/libssh-0.8.5[server] + x11-libs/pango + x11-libs/gtk+:3 + gnome-base/libglade:2.0 + >=x11-libs/cairo-1.5.12[glib,svg] + >=dev-libs/rapidjson-1.1.0 + dev-libs/libsigc++:2 + >=dev-libs/boost-1.55.0[nls] + >=dev-cpp/ctemplate-0.95 + >=dev-libs/libxml2-2.6.2:2 + dev-libs/libzip + dev-libs/libpcre[cxx] + >=sci-libs/gdal-1.11.1-r1 + virtual/opengl + || ( sys-libs/e2fsprogs-libs dev-libs/ossp-uuid ) + dev-libs/tinyxml[stl] + >=dev-db/mysql-connector-c++-1.1.8 =dev-db/mysql-connector-c++-1* + dev-db/vsqlite++ + || ( dev-db/libiodbc dev-db/unixODBC ) + dev-python/pexpect + >=dev-python/paramiko-1.7.4 +" + +RDEPEND="${CDEPEND} + app-admin/sudo + >=sys-apps/net-tools-1.60_p20120127084908" + +DEPEND="${CDEPEND} + dev-lang/swig + virtual/jre + virtual/pkgconfig" + +S="${WORKDIR}"/"${MY_P}" + +PATCHES=( + "${FILESDIR}/${PN}-6.2.5-wbcopytables.patch" + "${FILESDIR}/${PN}-8.0.19-mysql-connector-8.patch" + "${FILESDIR}/${P}-boost-1.73.0.patch" +) + +src_unpack() { + unpack ${PN}-community-${PV}-src.tar.gz +} + +src_prepare() { + ## remove hardcoded CXXFLAGS + sed -i -e 's/-O0 -g3//' ext/scintilla/gtk/CMakeLists.txt || die + ## And avoid -Werror + sed -i -e 's/-Werror//' CMakeLists.txt || die + + ## package is very fragile... + strip-flags + + cmake-utils_src_prepare +} + +src_configure() { + if has_version dev-db/libiodbc ; then + IODBC="-DIODBC_CONFIG_PATH=/usr/bin/iodbc-config" + fi + + append-cxxflags -std=c++11 + ANTLR_JAR_PATH="${DISTDIR}/antlr-${ANTLR_VERSION}-complete.jar" + local mycmakeargs=( + -DWITH_ANTLR_JAR=${ANTLR_JAR_PATH} + -DLIB_INSTALL_DIR="/usr/$(get_libdir)" + -DIODBC_INCLUDE_PATH="/usr/include/iodbc" + ${IODBC} + -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" + -DPYTHON_LIBRARY="$(python_get_library_path)" + -DMySQL_CONFIG_PATH="/usr/bin/mysql_config" + ) + cmake-utils_src_configure +} diff --git a/dev-db/mysql/Manifest b/dev-db/mysql/Manifest index eefaf29b9b6c..c905dfe757ca 100644 --- a/dev-db/mysql/Manifest +++ b/dev-db/mysql/Manifest @@ -1,24 +1,27 @@ -AUX my.cnf-5.6 4504 BLAKE2B 5d904925d12ad4c3826426e7e7790800028c9adf9b42692adf3260cd8dae910338683fbcd3e5148f113c1ab27481e5ffe61871716a069c50f295cf756b3e685c SHA512 866aa700460c2962bad6294b271efad09ef285dd428ab01551078be9972d2f961fbdf56aef7927439784711022e92a96f2eba30cd297f056f6562e8817c89aae AUX my.cnf-5.7 138 BLAKE2B 71862b4b77334ab74002237453d2c7f6b51cd1ae57dba3b00b19e216d3f10034796de9aa618efb11482cef78b7c7e50393b5f665810d03321b5ca770ac8a6144 SHA512 1d7250689005c948f4a849959baf33f5f0fda099f230611651919ed053fb563daa19d996b7ca6714e224174172fb504f4d7d08e9d449a7e1203e32cf3fdec782 AUX my.cnf-8.0.distro-client 749 BLAKE2B b01b39c85430714b5a4bfb9923c9ed1df99cdcef0583b25f28c2ebeee264732f4402198b1918e5ec5b4b1091dbda2d321baf31fe87eae00792b20042260969b3 SHA512 62aa589833126c2b78528e103f2de11ba0e339615cb00170a0f9f53bbb123a4bf99f2041819440297ab6cc34cf57333488e6ae12082fa5dcbe1b0ddef5f6108d AUX my.cnf-8.0.distro-server 1125 BLAKE2B f4d6941aad1fc29e81e6c805ac42f4c8d3c7bc250990a9c432800dbe25b5c31be08d8e3895666b57f21606ffb69e704c57ed2692fd94696b9d325a4442596587 SHA512 82d35b7bc944e5690e1f2670a3d5674845610c2d11d6d8b1c5784ccb3877c6298de70eced3d7c497c0bcaecfa9e339ac43ce0534a97e7d976e950bb1a7f5c75d AUX my.cnf.distro-client 637 BLAKE2B b0812e0e03aa9a3b2e55e08b933a0b41b6afd95ded61f4d9d7c34a2d3810ec38520abd0d89e1c6565f61d4cd8a36d653f9f3199b3dd6a91345cdb5ff962685d8 SHA512 74bd1d9a58075d0a6195be1f94db310bcbe8da532b03844e6fa1ff84676e84843fc9adf9aed06b7e4db53c9aa24ef0885d96de0ccfe4c6ad98afe4c145d43f4f AUX my.cnf.distro-server 994 BLAKE2B 41dceff58edf748f9f60ac3c0d1682d2fc2f026fc1fd14b4c2dea398814beda3c09aabea04dd3a9e145464524c629e7e69dc257d1245e0a46dd8584b7f685172 SHA512 cf172edc23d3dda49c21af6b8adef8aa13694d8ceecddf1d612d4ae34d00ba53c51ae4ae7ca4d11083eeacb5d862f59a855a9d80e9e448ab8bbf17f42aac2650 -DIST mysql-5.6.45.tar.gz 32525559 BLAKE2B 3c629aed1de808acdea6654c7413e6851507c9c5be939ca4b4f5e2796da317e9b518a749bfc03d2b0ef05bd604b39f72e24b751076b9f206b462d21fa5db4f50 SHA512 f9d8bb72e96cc83f1064fe7df2e5fe8317ca9d44c4e776cf7827a61292fbcfccec716806c80d565958383d78fef93a19d61c726687b57680d5f93299291ff168 DIST mysql-5.7.30-patches-01.tar.xz 6684 BLAKE2B 9350280094619fda0d91eacae573396198954fceb5dc039669d236b1dad98eef306702550b517ef30ee3d0e6721667b6f5549df91e3c15cef68888079c00d9ba SHA512 74e8e8794fe54b73776b38296aa42c65547311b80bfe65c88b2f961bd44083e9628eb47da4ebcf4c20e2d7c694f514223bcbf29cce27853cca500710ae97778d +DIST mysql-5.7.31-patches-01.tar.xz 6664 BLAKE2B 8225f286f0090653f9714545daa95ccdadaa58812e55284d1ee52ad2dcca18960b9266797630762595d832aa1dda1d9e2df691f0c728102f162b376346c99b3c SHA512 c6260e688da6e8f049ba7ac0553ad442e76829deaca32c1b7a101ec927a36b1571cb24982391f05545a9f62d94502efc09530d444e4abfc08350ab4c19fbfd37 DIST mysql-8.0.20-patches-01.tar.xz 7176 BLAKE2B 2fc51986c0a4da60521d0e64b9f8705caf8ec3869af930c9729359c3710059fc78aae176523fdf17d10173b404431f31f9bb23ee5c82fba7cbbb4cb39881c005 SHA512 bf8211cf3873f8672b9d3d1dc42b68a1c635690ffdc2d3393eafa83f060ada9f2eaa63f859bf8eecc24976a733d8c7c3b9632ac70f28b5facf48eae921c7ceeb +DIST mysql-8.0.21-patches-01.tar.xz 7212 BLAKE2B 2f1b38b3f84a124e3636cb726f3fcef82d71d933e90429dc78be44afeb4f456a37104359c5fd58ab50f0c03c1698e6c79f9b1e07640f0411c0024f558b4e9595 SHA512 3edcbb529b0623adaed30150d88c9b54d1a3e402faf5c7cff4ed626bbf4e5f50838d8f3c79bd2173439d748ded13412ff7fe37e3742c55879ff28907b9eb5660 DIST mysql-boost-5.7.27.tar.gz 51436383 BLAKE2B 6db64ab5fa659aae9baa3725a0de9465e48c37618ffd69f34809880c06a00ce55dce77f507810c6fa52d86901facfa42d3d1bd8db1914a779fbc88a69be82497 SHA512 573f4555f3d62bcd3dc2228bcfba023518d462bb6689114a3505ccf7c7c3061d2775a8e7a37ec3c8b9dea6e8fbc56ba599610f237abc38cedff58e75799bdc52 DIST mysql-boost-5.7.29.tar.gz 51417554 BLAKE2B 652ce9f99419387e9bcc37afeb1b46438784752e963c3aa1877f17650c31d8b058b4052da97c3a7e9454e758c259d6c311e0518f9a75909fce9741150b82164c SHA512 38acf7c2a10b20c59230ad05cd2cd6996c4c582233c1be573ead08e5c6684275790da07a036570363f89b4d61547b306589b0b98ed5fca70723a3f2cbc21fe11 DIST mysql-boost-5.7.30.tar.gz 51363998 BLAKE2B 7897ad74b685c3b30e7ecdf132fdfa72f3416c05e8d0086cb8f7674b6c4f377fff9abc51ed258cc4dfeab50a2cb393af9076d9c1f9a83a26521facbaf223afa1 SHA512 b75d41d0c72d16c6f8d5393dab6e476b7993d296eb5683c12417ce2da3db2052fdab2a152f6e7c545315d21bfa35f26a247cb6cdab83d3418b5d34ed7f5f9560 +DIST mysql-boost-5.7.31.tar.gz 51382559 BLAKE2B 86430ee01b0b066ffbd1c876c7d09afecdd57f99cfe07417f406345bcdb14cc6fd33a2d4d92dfe15e87f34ec476bf34d62508ac3f99fb3e11957458e0d6ec20b SHA512 d7fc1927c860562d121658031bcbd58d36a942340423bf7b692cef84c29e67b56d009c9f9bb10cde8acabd6f9db58c67eb542349eccc4719fb38c8570738700a DIST mysql-boost-8.0.19.tar.gz 264147972 BLAKE2B 61a5ccbef1a7a675c85e4e6bda8e5285bdb931e6ee14d4710bf13dfd9157d1095200db2886dc93ea7251d3d59245f35c0bef5ba88ba6aac209b1e080f3b07dc4 SHA512 5ffc03f005ab2585694902e926b6cb2b10059b2b030549eccd3949f9c3b2f02626d02529f940dec003f2d69683856fd1c720ff12f89dfbdc48befaf24a9c4d01 DIST mysql-boost-8.0.20.tar.gz 266282970 BLAKE2B 2aeb9d6c575ed9dc2d00d3e51e6391c59ffa39156491d9ed2c07e19bb2efb88a14d5a9d4b537c137d71854e39fa3a7fc2b93618118d4fd062e92ba2d83783c6f SHA512 7a962e9ddec7069008c5ab6ac2801515e2661ca2875afc6141541c03e2f941f4255b3c0d806a4df2fd2f2f1d12323aeb1e456c1d364777a18ccebefad7b22a99 +DIST mysql-boost-8.0.21.tar.gz 278292192 BLAKE2B 9e5a14d1401f58f6f620c8691d2d4d3ada122a79a4e081380050961f0add93bf32b682c60ea2a6e58f50a4fcedbd323d8efe2d5f3e1f2bba5010e201a2df5d44 SHA512 18128edd7d9604ea69bd308f372d6663ef3629503969148e3a2117175c4ef625358b31b96e0e1b8d10a87037719e3cb61d5c71eee1e26ab0e0a1731977a2d7c1 DIST mysql-extras-20190822-1908Z.tar.bz2 338830 BLAKE2B bc197f8e541206548d8982814e82e028d699ba9c41aec8d5191bcc46581f7880ed2741dbe2206fde44a5e8d8d54bbcf40efbd0709b357636c4c8fdb2ccc3a7bb SHA512 be469e55f7e9966638600d6836a44258c74e5600240fafe2d79eaeebe7d1695b043678184b5d18ee9946f28154bc2529586a7f860b510180a30c82454ed575c8 DIST mysql-extras-20200125-1945Z.tar.bz2 344906 BLAKE2B 0e87875efbc221ded43d6f080dc7dce4277b676b538950120c94b962e51d054093286486e5d83ea3e38e1b2d0b12cf81873df50e1cebbe4cff33b54297e6a17a SHA512 5fcc5d372998db2b8aef32661ff71290791c20c1195a6210ca79c0fda12008906e665f9dc878d3df5a38a95e23ff05b910daa861002c17a1b6de71ef0520bee1 DIST mysql-extras-20200317-0103Z.tar.bz2 344905 BLAKE2B c4c8bb2acea16663ab32cf291d0a2d52af04448a507ad3a6dc22dfdef4d6ba427582d66e5923d05cd51565286f85c8df5ccabef9a67a4a500574d21e1f708f27 SHA512 d1d34817faf0a1271f906213eea9081c204d745b14f96166f17d5c60a29ec58c05926e7216f135b6e9d5df2ceab373f10fc4e6a652514d99ba34a336571dce1f -EBUILD mysql-5.6.45-r2.ebuild 27244 BLAKE2B 09077b737c88aeb95632be7c8e92ea5e69d84763567b5d0b489d06e7b1816f246fc2461e100929a896e1ed27c7129842e36a41645289b4c4a0605e644cab1637 SHA512 3967bc8f033d64c70aebcb7e251bde7caba187ce51daa3e1865bc862f094a2489000b2fc90ae1b84425081c1430984bdb9615045d46bb8efe1fcbd2808a4c96f -EBUILD mysql-5.7.27-r1.ebuild 31684 BLAKE2B 9ff6937c77124bc8b6a01f6b56f23941599a517b1d89519045ede1c67312c78e594ece5ad0a0ce3fa2b93594dc6eaf811a85867e1c6a29c4e931f6b1c7000429 SHA512 725c6023e23d8341cc474b29c5929d920795abaa2d7d0af995eacbd4d7f8fef20bf054226f3756960e1be7f45c87242f331aa70add9af3cd43501b7dc9189148 -EBUILD mysql-5.7.29.ebuild 31420 BLAKE2B 7afa9f1af981304087cd0c1d6fbddf3031b1b0b9493e528acbc6befbf32432934a4920d6345a4ff18d3ea7973da0233d278f104295c75d232be3353960eb3922 SHA512 80a092af7eb3633973edf413ab07de355bc928648b7f42e89fc432e4143d3afcd34aec83f64329587ff4988a8d301006f43a32b1e3a2096c397e97be92b838e1 -EBUILD mysql-5.7.30.ebuild 30645 BLAKE2B 085102ee102234cc8f44754496a936a985bbb33afa3e3bc70be014ddd9daff716c40d10424814f41d4ba00b7a604cfaab9034d46df7923388f4c9ee7097b331e SHA512 d89f6a403f408c7bd1c3943be03cd5f552f59213629cf60c2a81496b5c2f9e994eee30889a671d94b592fe9a2542ccecacc2f77a62d059644845d00fb7d114d9 -EBUILD mysql-8.0.19-r1.ebuild 37911 BLAKE2B 90a40972a8cd9de954aa6c89ceb81276f68f541809ba4d0484043878163ae0ccce7144cec51a262b84a2a7bd9cd53c50f7fac48abac5cf006d01a40bb5918563 SHA512 07bdddbb4b82eed2b383c2eae03cbe1e58c06a3bdc1b595703d6e32c839d17d34e8b1c8d4d2a7c4bdde2c6a04992fe8ad4758a3124d8b432dc2c2f23048a9d17 -EBUILD mysql-8.0.20.ebuild 37179 BLAKE2B 023e2f80e351cc3ea2daf0350783e05afdd59bd655f54b57b50d30e5acd3218e430ca404b7d4eb7e70c1f800ebacc65f183a344838a5441788a54a9a04521b56 SHA512 f5c03367c7ccb1b6c5acb42a3c344d8bf7f07d4f559b7fcda6dee78b5cd932b902cbccb9d335e9b6caa5c2a6b5091c176e4148bfc283839207ae8f63975f2079 +EBUILD mysql-5.7.27-r2.ebuild 31722 BLAKE2B b19b37cb6840d6cd20d64807a2324190325cc607827173a3ee6270fa167fdeb0b370a488c3391861601323b5979fe5803a955ebcd645eaf96edf45ee2af73ca3 SHA512 0f7ffadb2841a6553f443aaca8bb133fb6e35b3af5d3781156a335baaf44c585f843bb6332e5946d333dd0455c051bd8820810814740d00efd29bec471b4ef7f +EBUILD mysql-5.7.29-r1.ebuild 31458 BLAKE2B 5f68d00d9c52432b249be3dcd5c6847d5507700e58d53381a7397babe49681dadb4c39daa59850d353855abbaef59f648cef95a19a11da815200bb60b7f6f55b SHA512 7dd0e4ce9b9b1d7d28f9dced9647664d6ec1f50d9f2a31b41c7f67be4bb8cd2018638fb9b15d06ef5ec29a78b3258dec18757f404717e01d57a7c04caa137c5c +EBUILD mysql-5.7.30-r1.ebuild 30683 BLAKE2B fb6c808884b175e231c782c80e7fb6993ee6bed6fec8263fef23d5e1b2e92e2d990b9ed45bc2fb6aba06620e6825fbd9d60a1fd48c68ad1b2fe251089ee9280c SHA512 9fe9e04a60e3aa4945861c13a5f828325cbc23311d9a412e5434551ca384479e5b72d181292c0cb4730b3da1d331eec6379ff483f6da66dd682754680851377a +EBUILD mysql-5.7.31.ebuild 37543 BLAKE2B 7f6917087e7adc41aebf4957a3cdfdaefd0dcf0c9fc5d039acc56cba70f4c31c0fe26e534e5c8a3d6d8e14505f4e797c8b102f8f24709bca4a6661323f88502f SHA512 b708b8901ae990765a94c31b2362bec5f2178684573caad7a7805f1f50f1f4b947b2cf23cc42d42275fd7f301ce065b35e0089bea5f8940bcdbbce8046252f2c +EBUILD mysql-8.0.19-r2.ebuild 37949 BLAKE2B c0ae41237387d4c58bac1f0f218fa467eba25a79e44605489f3835a1508c94423ea31c7d7d3f39e00f91a56a2320ffcca4fd968a425a3f898c9b7c2b9713f902 SHA512 434b40517a183a8bbb877ad79661ccc3ee1a89d40a374823c8778d87f75593f295c7a635496be1cb6376036da9c3acd5f82bfa2b62a88165b9c4b4b0ffd6469f +EBUILD mysql-8.0.20-r1.ebuild 37217 BLAKE2B 2aef6bce1bd7f8e5e55b64caa304b427c84fcd365e265a6ce0d2458491349cd8c04c17a50644d1be7fca9218e17ad748b9307fe7b32270c6ba936077e2746d9b SHA512 ca65ad63a374696e4adc2d73176de71a0b27e267b91dfba20641303c4b9e8cfa1241375c7cd69af660b2d2632c629ab0658d1ed6e2454032a689f2995a2c505c +EBUILD mysql-8.0.21-r1.ebuild 38166 BLAKE2B 8ccb2b69f0073fe4f4ebbcd6ebe3ea40a3459c91a5b38af9136631b5aebab07dce9a7ab61ae4e7febaeabc24a239b09e9fb71f86c728610e057d63c6044f0c4a SHA512 473a44a1e5f7333d6e7683da0396384e3f1b800211ce851d094504f8864f77dfd436ccef3f740464dda729ef211df6023e17e8e8ae8d1f6abd2168a406a74091 MISC metadata.xml 1470 BLAKE2B 09754bc9a1cf5584588c4f69700919fd72a860175ae1c045ce90a644a1360d5abccedd5b2649e16fcd189e82df659ceb96fd71ab2aeccdac6256af4f80e46a0d SHA512 d96f6a133611f50b80116221e2586eff899210255efac58d9f6ef7ccd0ee0854a3322b4d4d1db15b3b2e410525f5d73e43f52a833f3ce358f6708b88b3cf00c7 diff --git a/dev-db/mysql/files/my.cnf-5.6 b/dev-db/mysql/files/my.cnf-5.6 deleted file mode 100644 index df462ab69a14..000000000000 --- a/dev-db/mysql/files/my.cnf-5.6 +++ /dev/null @@ -1,139 +0,0 @@ -# @GENTOO_PORTAGE_EPREFIX@/etc/mysql/my.cnf: The global mysql configuration file. - -# The following options will be passed to all MySQL clients -[client] -#password = your_password -port = 3306 -socket = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.sock - -[mysql] -character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets -default-character-set=utf8 - -[mysqladmin] -character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets -default-character-set=utf8 - -[mysqlcheck] -character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets -default-character-set=utf8 - -[mysqldump] -character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets -default-character-set=utf8 - -[mysqlimport] -character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets -default-character-set=utf8 - -[mysqlshow] -character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets -default-character-set=utf8 - -[myisamchk] -character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets - -[myisampack] -character-sets-dir=@GENTOO_PORTAGE_EPREFIX@/usr/share/mysql/charsets - -# use [safe_mysqld] with mysql-3 -[mysqld_safe] -err-log = @GENTOO_PORTAGE_EPREFIX@/var/log/mysql/mysql.err - -# add a section [mysqld-4.1] or [mysqld-5.0] for specific configurations -[mysqld] -character-set-server = utf8 -user = mysql -port = 3306 -socket = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.sock -pid-file = @GENTOO_PORTAGE_EPREFIX@/var/run/mysqld/mysqld.pid -log-error = @GENTOO_PORTAGE_EPREFIX@/var/log/mysql/mysqld.err -basedir = @GENTOO_PORTAGE_EPREFIX@/usr -datadir = @DATADIR@ -skip-external-locking -key_buffer_size = 16M -max_allowed_packet = 4M -table_open_cache = 400 -sort_buffer_size = 512K -net_buffer_length = 16K -read_buffer_size = 256K -read_rnd_buffer_size = 512K -myisam_sort_buffer_size = 8M -lc_messages_dir = @GENTOO_PORTAGE_EPREFIX@/usr/share/mysql -#Set this to your desired error message language -lc_messages = en_US - -# security: -# using "localhost" in connects uses sockets by default -# skip-networking -bind-address = 127.0.0.1 - -log-bin -server-id = 1 - -# point the following paths to different dedicated disks -tmpdir = @GENTOO_PORTAGE_EPREFIX@/tmp/ -#log-update = @GENTOO_PORTAGE_EPREFIX@/path-to-dedicated-directory/hostname - -# you need the debug USE flag enabled to use the following directives, -# if needed, uncomment them, start the server and issue -# #tail -f @GENTOO_PORTAGE_EPREFIX@/tmp/mysqld.sql @GENTOO_PORTAGE_EPREFIX@/tmp/mysqld.trace -# this will show you *exactly* what's happening in your server ;) - -#log = @GENTOO_PORTAGE_EPREFIX@/tmp/mysqld.sql -#gdb -#debug = d:t:i:o,/tmp/mysqld.trace -#one-thread - -# the rest of the innodb config follows: -# don't eat too much memory, we're trying to be safe on 64Mb boxes -# you might want to bump this up a bit on boxes with more RAM -innodb_buffer_pool_size = 128M -# -# i'd like to use @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/innodb, but that is seen as a database :-( -# and upstream wants things to be under @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/, so that's the route -# we have to take for the moment -#innodb_data_home_dir = @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/ -#innodb_log_group_home_dir = @GENTOO_PORTAGE_EPREFIX@/var/lib/mysql/ -# you may wish to change this size to be more suitable for your system -# the max is there to avoid run-away growth on your machine -innodb_data_file_path = ibdata1:10M:autoextend:max:128M -# we keep this at around 25% of of innodb_buffer_pool_size -# sensible values range from 1MB to (1/innodb_log_files_in_group*innodb_buffer_pool_size) -innodb_log_file_size = 48M -# this is the default, increase it if you have very large transactions going on -innodb_log_buffer_size = 8M -# this is the default and won't hurt you -# you shouldn't need to tweak it -innodb_log_files_in_group=2 -# see the innodb config docs, the other options are not always safe -innodb_flush_log_at_trx_commit = 1 -innodb_lock_wait_timeout = 50 -innodb_file_per_table - -# Uncomment this to get FEDERATED engine support -#plugin-load=federated=ha_federated.so -loose-federated - -[mysqldump] -quick -max_allowed_packet = 16M - -[mysql] -# uncomment the next directive if you are not familiar with SQL -#safe-updates - -[isamchk] -key_buffer_size = 20M -sort_buffer_size = 20M -read_buffer = 2M -write_buffer = 2M - -[myisamchk] -key_buffer_size = 20M -sort_buffer_size = 20M -read_buffer_size = 2M -write_buffer_size = 2M - -[mysqlhotcopy] -interactive-timeout diff --git a/dev-db/mysql/mysql-5.6.45-r2.ebuild b/dev-db/mysql/mysql-5.6.45-r2.ebuild deleted file mode 100644 index 87c3e81d6358..000000000000 --- a/dev-db/mysql/mysql-5.6.45-r2.ebuild +++ /dev/null @@ -1,855 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" -MY_EXTRAS_VER="20190822-1908Z" - -CMAKE_MAKEFILE_GENERATOR=emake - -# Keeping eutils in EAPI=6 for emktemp in pkg_config - -inherit eutils flag-o-matic prefix toolchain-funcs \ - cmake-utils multilib-build - -SRC_URI="http://cdn.mysql.com/Downloads/MySQL-5.6/${P}.tar.gz - https://cdn.mysql.com/archives/mysql-5.6/${P}.tar.gz - http://downloads.mysql.com/archives/MySQL-5.6/${P}.tar.gz" - -# Gentoo patches to MySQL -if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then - SRC_URI="${SRC_URI} - mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 - https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" -fi - -HOMEPAGE="https://www.mysql.com/" -DESCRIPTION="A fast, multi-threaded, multi-user SQL database server" -LICENSE="GPL-2" -SLOT="0/18" -IUSE="client-libs cracklib debug jemalloc latin1 libressl numa +perl profiling selinux - +server static static-libs systemtap tcmalloc test yassl" - -# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests -RESTRICT="!test? ( test ) libressl? ( test )" - -REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )" - -KEYWORDS="amd64 arm ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" - -# Shorten the path because the socket path length must be shorter than 107 chars -# and we will run a mysql server during test phase -S="${WORKDIR}/mysql" - -if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git" - EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras" - EGIT_CLONE_TYPE=shallow - MY_PATCH_DIR="${WORKDIR}/mysql-extras" -else - MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}" -fi - -PATCHES=( - "${MY_PATCH_DIR}"/01050_all_mysql_config_cleanup-5.6.patch - "${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch - "${MY_PATCH_DIR}"/20006_all_cmake_elib-mysql-5.6.35.patch - "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.6.22.patch - "${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.6.37.patch - "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.6.patch - "${MY_PATCH_DIR}"/20018_all_mysql-5.6.25-without-clientlibs-tools.patch - "${MY_PATCH_DIR}"/20027_all_mysql-5.5-perl5.26-includes.patch - "${MY_PATCH_DIR}"/20031_all_mysql-5.6-fix-monitor.test.patch - "${MY_PATCH_DIR}"/20036_all_mysql-5.6-fix-rpl_semi_sync_shutdown_hang.test.patch - "${MY_PATCH_DIR}"/20018_all_mysql-5.6.44-fix-libressl-support.patch - "${MY_PATCH_DIR}"/20018_all_mysql-5.6.44-add-openssl-1.1-support.patch -) - -# Be warned, *DEPEND are version-dependant -# These are used for both runtime and compiletime -COMMON_DEPEND=" - kernel_linux? ( - sys-process/procps:0= - dev-libs/libaio:0= - ) - net-misc/curl - >=sys-apps/sed-4 - >=sys-apps/texinfo-4.7-r1 - jemalloc? ( dev-libs/jemalloc:0= ) - tcmalloc? ( dev-util/google-perftools:0= ) - systemtap? ( >=dev-util/systemtap-1.3:0= ) - !yassl? ( - !libressl? ( >=dev-libs/openssl-1.0.0:0= ) - libressl? ( =dev-libs/libressl-2.6.5*:0= ) - ) - >=sys-libs/zlib-1.2.3:0= - sys-libs/ncurses:0= - server? ( - numa? ( sys-process/numactl ) - ) - !client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] ) -" -DEPEND="virtual/yacc - static? ( sys-libs/ncurses[static-libs] ) - test? ( - acct-group/mysql acct-user/mysql - dev-perl/JSON - ) - || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) - ${COMMON_DEPEND}" -RDEPEND="selinux? ( sec-policy/selinux-mysql ) - client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c ) - !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster - server? ( - !prefix? ( - acct-group/mysql acct-user/mysql - dev-db/mysql-init-scripts - ) - ) - ${COMMON_DEPEND} -" -# For other stuff to bring us in -# dev-perl/DBD-mysql is needed by some scripts installed by MySQL -PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - local GCC_MAJOR_SET=$(gcc-major-version) - local GCC_MINOR_SET=$(gcc-minor-version) - # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on - # non x86{,_64} arches - if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ - ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then - eerror "${PN} needs to be built with gcc-4.7 or later." - eerror "Please use gcc-config to switch to gcc-4.7 or later version." - die - fi - fi - if has test ${FEATURES} && \ - use server && ! has userpriv ${FEATURES} ; then - eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." - fi -} - -pkg_preinst() { - # Here we need to see if the implementation switched client libraries - # We check if this is a new instance of the package and a client library already exists - local SHOW_ABI_MESSAGE libpath - if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT%/}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then - libpath=$(readlink "${EROOT%/}/usr/$(get_libdir)/libmysqlclient.so") - elog "Due to ABI changes when switching between different client libraries," - elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient." - elog "Please run: revdep-rebuild --library ${libpath}" - ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" - fi -} - -pkg_postinst() { - # Make sure the vars are correctly initialized - mysql_init_vars - - # Create log directory securely if it does not exist - [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" - - if use server ; then - if [[ -z "${REPLACING_VERSIONS}" ]] ; then - einfo - elog "You might want to run:" - elog "\"emerge --config =${CATEGORY}/${PF}\"" - elog "if this is a new install." - elog - elog "If you are switching server implentations, you should run the" - elog "mysql_upgrade tool." - einfo - else - einfo - elog "If you are upgrading major versions, you should run the" - elog "mysql_upgrade tool." - einfo - fi - fi -} - -src_unpack() { - unpack ${A} - # Grab the patches - [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack - - mv -f "${WORKDIR}/${P}" "${S}" || die -} - -src_prepare() { - _disable_engine() { - echo > "${S%/}/storage/${1}/CMakeLists.txt" || die - } - - _disable_plugin() { - echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die - } - - if use jemalloc ; then - echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die - fi - if use tcmalloc; then - echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die - fi - # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux - if [[ -d "${S}/support-files/SELinux" ]] ; then - echo > "${S}/support-files/SELinux/CMakeLists.txt" || die - fi - - # Don't clash with dev-db/mysql-connector-c - rm \ - man/my_print_defaults.1 \ - man/perror.1 \ - || die - - if use libressl ; then - sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \ - "${S}/cmake/ssl.cmake" || die - fi - - sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die - - local plugin - local server_plugins=( semisync ) - local test_plugins=( audit_null daemon_example fulltext ) - if ! use server; then # These plugins are for the server - for plugin in "${server_plugins[@]}" ; do - _disable_plugin "${plugin}" - done - fi - - if ! use test; then # These plugins are only used during testing - for plugin in "${test_plugins[@]}" ; do - _disable_plugin "${plugin}" - done - fi - - # Don't build example - _disable_engine example - _disable_engine ndb - _disable_plugin innodb_memcached - - cmake-utils_src_prepare -} - -src_configure() { - # bug 508724 mariadb cannot use ld.gold - tc-ld-disable-gold - # Bug #114895, bug #110149 - filter-flags "-O" "-O[01]" - - append-cxxflags -felide-constructors - - # bug #283926, with GCC4.4, this is required to get correct behavior. - append-flags -fno-strict-aliasing - - CMAKE_BUILD_TYPE="RelWithDebInfo" - - # debug hack wrt #497532 - mycmakeargs=( - -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" - -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" - -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" - -DSYSCONFDIR="${EPREFIX}/etc/mysql" - -DINSTALL_BINDIR=bin - -DINSTALL_DOCDIR=share/doc/${PF} - -DINSTALL_DOCREADMEDIR=share/doc/${PF} - -DINSTALL_INCLUDEDIR=include/mysql - -DINSTALL_INFODIR=share/info - -DINSTALL_LIBDIR=$(get_libdir) - -DINSTALL_MANDIR=share/man - -DINSTALL_MYSQLSHAREDIR=share/mysql - -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin - -DINSTALL_SCRIPTDIR=share/mysql/scripts - -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" - -DINSTALL_SBINDIR=sbin - -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql" - -DCOMPILATION_COMMENT="Gentoo Linux ${PF}" - -DWITH_UNIT_TESTS=$(usex test ON OFF) - ### TODO: make this system but issues with UTF-8 prevent it - -DWITH_EDITLINE=bundled - -DWITH_ZLIB=system - -DWITH_LIBWRAP=0 - -DENABLED_LOCAL_INFILE=1 - -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" - -DWITH_DEFAULT_COMPILER_OPTIONS=0 - -DWITH_DEFAULT_FEATURE_SET=0 - # The build forces this to be defined when cross-compiling. We pass it - # all the time for simplicity and to make sure it is actually correct. - -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) - -DWITH_LIBEVENT=NO - -DWITHOUT_CLIENTLIBS=YES - -DENABLE_DTRACE=$(usex systemtap) - -DWITH_SSL=$(usex yassl bundled system) - -DINSTALL_MYSQLTESTDIR=$(usex test 'share/mysql/mysql-test' '') - -DWITHOUT_VALIDATE_PASSWORD=1 - ) - - if use server ; then - - if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then - ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" - ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." - ewarn "You MUST file bugs without these variables set." - - mycmakeargs+=( - -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} - -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} - ) - - elif ! use latin1 ; then - mycmakeargs+=( - -DDEFAULT_CHARSET=utf8 - -DDEFAULT_COLLATION=utf8_general_ci - ) - else - mycmakeargs+=( - -DDEFAULT_CHARSET=latin1 - -DDEFAULT_COLLATION=latin1_swedish_ci - ) - fi - mycmakeargs+=( - -DWITH_NUMA=$(usex numa ON OFF) - -DEXTRA_CHARSETS=all - -DDISABLE_SHARED=$(usex static YES NO) - -DWITH_DEBUG=$(usex debug) - -DWITH_EMBEDDED_SERVER=OFF - ) - - if use profiling ; then - # Setting to OFF doesn't work: Once set, profiling options will be added - # to `mysqld --help` output via sql/sys_vars.cc causing - # "main.mysqld--help-notwin" test to fail - mycmakeargs+=( -DENABLED_PROFILING=ON ) - fi - - if use static; then - mycmakeargs+=( -DWITH_PIC=1 ) - fi - - # Storage engines - mycmakeargs+=( - -DWITH_ARCHIVE_STORAGE_ENGINE=1 - -DWITH_BLACKHOLE_STORAGE_ENGINE=1 - -DWITH_CSV_STORAGE_ENGINE=1 - -DWITH_HEAP_STORAGE_ENGINE=1 - -DWITH_INNOBASE_STORAGE_ENGINE=1 - -DWITH_MYISAMMRG_STORAGE_ENGINE=1 - -DWITH_MYISAM_STORAGE_ENGINE=1 - -DWITH_PARTITION_STORAGE_ENGINE=1 - -DWITH_INNODB_MEMCACHED=0 - ) - - else - mycmakeargs+=( - -DWITHOUT_SERVER=1 - -DWITH_EMBEDDED_SERVER=OFF - -DEXTRA_CHARSETS=none - ) - fi - - cmake-utils_src_configure -} - -src_compile() { - cmake-utils_src_compile -} - -src_install() { - cmake-utils_src_install - - # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them. - find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die - # Make sure the vars are correctly initialized - mysql_init_vars - - # Convenience links - einfo "Making Convenience links for mysqlcheck multi-call binary" - dosym "mysqlcheck" "/usr/bin/mysqlanalyze" - dosym "mysqlcheck" "/usr/bin/mysqlrepair" - dosym "mysqlcheck" "/usr/bin/mysqloptimize" - - # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir - if [[ -d "${ED}/usr/data" ]] ; then - rm -Rf "${ED}/usr/data" || die - fi - - if [[ -d "${ED%/}/usr/sql-bench" ]] ; then - mv "${ED%/}/usr/sql-bench" "${ED%/}/usr/share/mysql/" || die - fi - - # Unless they explicitly specific USE=test, then do not install the - # testsuite. It DOES have a use to be installed, esp. when you want to do a - # validation of your database configuration after tuning it. - if ! use test ; then - rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" - fi - - # Configuration stuff - einfo "Building default configuration ..." - insinto "${MY_SYSCONFDIR#${EPREFIX}}" - [[ -f "${S%/}/scripts/mysqlaccess.conf" ]] && doins "${S%/}"/scripts/mysqlaccess.conf - local mycnf_src="my.cnf-5.6" - sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ - "${FILESDIR%/}/${mycnf_src}" \ - > "${TMPDIR%/}/my.cnf.ok" || die - use prefix && sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' "${TMPDIR%/}/my.cnf.ok" - if use latin1 ; then - sed -i \ - -e "/character-set/s|utf8|latin1|g" \ - "${TMPDIR%/}/my.cnf.ok" || die - fi - eprefixify "${TMPDIR%/}/my.cnf.ok" - newins "${TMPDIR}/my.cnf.ok" my.cnf - - if use server ; then - einfo "Including support files and sample configurations" - docinto "support-files" - local script - for script in \ - "${S}"/support-files/magic - do - [[ -f "$script" ]] && dodoc "${script}" - done - - docinto "scripts" - for script in "${S}"/scripts/mysql* ; do - [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}" - done - fi - - #Remove mytop if perl is not selected - [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" -} - -# Official test instructions: -# USE='perl server static-libs' \ -# FEATURES='test userpriv -usersandbox' \ -# ebuild mysql-X.X.XX.ebuild \ -# digest clean package -src_test() { - - _disable_test() { - local rawtestname reason - rawtestname="${1}" ; shift - reason="${@}" - ewarn "test '${rawtestname}' disabled: '${reason}'" - echo ${rawtestname} : ${reason} >> "${T}/disabled.def" - } - - local TESTDIR="${BUILD_DIR}/mysql-test" - local retstatus_unit - local retstatus_tests - - if ! use server ; then - einfo "Skipping server tests due to minimal build." - return 0 - fi - - # Bug #213475 - MySQL _will_ object strenously if your machine is named - # localhost. Also causes weird failures. - [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - - if [[ $UID -eq 0 ]]; then - die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." - fi - has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox" - - einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" - - # Run CTest (test-units) - cmake-utils_src_test - retstatus_unit=$? - - # Ensure that parallel runs don't die - export MTR_BUILD_THREAD="$((${RANDOM} % 100))" - # Enable parallel testing, auto will try to detect number of cores - # You may set this by hand. - # The default maximum is 8 unless MTR_MAX_PARALLEL is increased - export MTR_PARALLEL="${MTR_PARALLEL:-auto}" - - # create directories because mysqladmin might run out of order - mkdir -p "${T}"/var-tests{,/log} || die - - # Run mysql tests - pushd "${TESTDIR}" > /dev/null || die - - touch "${T}/disabled.def" - # These are failing in MySQL 5.6 for now and are believed to be - # false positives: - # - local t - - for t in auth_sec.keyring_udf federated.federated_plugin ; do - _disable_test "$t" "False positives in Gentoo" - done - - if ! use latin1 ; then - for t in \ - binlog.binlog_mysqlbinlog_filter \ - binlog.binlog_statement_insert_delayed \ - funcs_1.is_columns_mysql \ - funcs_1.is_tables_mysql \ - funcs_1.is_triggers \ - main.information_schema \ - main.mysql_client_test \ - main.mysqld--help-notwin \ - perfschema.binlog_edge_mix \ - perfschema.binlog_edge_stmt \ - ; do - _disable_test "$t" "Requires DEFAULT_CHARSET=latin1 but USE=-latin1 is set" - done - fi - - if has_version '>=dev-libs/openssl-1.1.0' ; then - # Tests are expecting <openssl-1.1 default cipher - for t in \ - main.openssl_1 \ - main.plugin_auth_sha256_tls \ - main.ssl \ - main.ssl_8k_key \ - main.ssl_ca \ - main.ssl_cipher\ - main.ssl_compress \ - main.ssl_crl \ - main.ssl-sha512 \ - ; do - _disable_test "$t" "Requires <dev-libs/openssl-1.1.0" - done - fi - - _disable_test main.gis-precise "Known rounding error with latest AMD processors" - - # run mysql-test tests - perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" - retstatus_tests=$? - - popd > /dev/null || die - - # Cleanup is important for these testcases. - pkill -9 -f "${S}/ndb" 2>/dev/null - pkill -9 -f "${S}/sql" 2>/dev/null - - local failures="" - [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" - [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" - - [[ -z "$failures" ]] || die "Test failures: $failures" - einfo "Tests successfully completed" -} - -mysql_init_vars() { - MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"} - MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} - MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} - MY_LOGDIR=${MY_LOGDIR="${EPREFIX}/var/log/mysql"} - - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR="" - if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then - MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ - | sed -ne '/datadir/s|^--datadir=||p' \ - | tail -n1` - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ - | sed -e 's/.*=\s*//' \ - | tail -n1` - fi - fi - if [[ -z "${MY_DATADIR}" ]] ; then - MY_DATADIR="${MY_LOCALSTATEDIR}" - einfo "Using default MY_DATADIR" - fi - elog "MySQL MY_DATADIR is ${MY_DATADIR}" - - if [[ -z "${PREVIOUS_DATADIR}" ]] ; then - if [[ -e "${MY_DATADIR}" ]] ; then - # If you get this and you're wondering about it, see bug #207636 - elog "MySQL datadir found in ${MY_DATADIR}" - elog "A new one will not be created." - PREVIOUS_DATADIR="yes" - else - PREVIOUS_DATADIR="no" - fi - export PREVIOUS_DATADIR - fi - else - if [[ ${EBUILD_PHASE} == "config" ]]; then - local new_MY_DATADIR - new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ - | sed -ne '/datadir/s|^--datadir=||p' \ - | tail -n1` - - if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then - ewarn "MySQL MY_DATADIR has changed" - ewarn "from ${MY_DATADIR}" - ewarn "to ${new_MY_DATADIR}" - MY_DATADIR="${new_MY_DATADIR}" - fi - fi - fi - - export MY_SHAREDSTATEDIR MY_SYSCONFDIR - export MY_LOCALSTATEDIR MY_LOGDIR - export MY_DATADIR -} - -pkg_config() { - _getoptval() { - local section="$1" - local flag="--${2}=" - local extra_options="${3}" - local cmd=( - "${EROOT%/}/usr/bin/my_print_defaults" - "${extra_options}" - "${section}" - ) - local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") ) - - if [[ ${#results[@]} -gt 0 ]] ; then - # When option is set multiple times only return last value - echo "${results[-1]}" - fi - } - local old_MY_DATADIR="${MY_DATADIR}" - local old_HOME="${HOME}" - # my_print_defaults needs to read stuff in $HOME/.my.cnf - export HOME=${EPREFIX}/root - - # Make sure the vars are correctly initialized - mysql_init_vars - - [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" - if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then - die "Minimal builds do NOT include the MySQL server" - fi - - if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then - local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}" - MY_DATADIR_s="${MY_DATADIR_s%%/}" - local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}" - old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}" - - if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then - if [[ -d "${MY_DATADIR_s}" ]]; then - ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist" - ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}" - else - elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}" - mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \ - || die "Moving MY_DATADIR failed" - fi - else - ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist" - if [[ -d "${MY_DATADIR_s}" ]]; then - ewarn "Attempting to use ${MY_DATADIR_s}" - else - eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist" - die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}" - fi - fi - fi - - local pwd1="a" - local pwd2="b" - local maxtry=15 - - if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then - local tmp_mysqld_password_source= - - for tmp_mysqld_password_source in mysql client; do - einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." - MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" - if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then - if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then - ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" - MYSQL_ROOT_PASSWORD= - continue - fi - - einfo "Found password in '${tmp_mysqld_password_source}' section!" - break - fi - done - - # Sometimes --show is required to display passwords in some implementations of my_print_defaults - if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then - MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" - fi - - unset tmp_mysqld_password_source - fi - MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)" - # These are dir+prefix - MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)" - MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} - MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)" - MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} - - if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]]; then - einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" - install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR" - fi - if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]]; then - einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" - install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN" - fi - if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]]; then - einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" - install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG" - fi - - if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then - ewarn "You have already a MySQL database in place." - ewarn "(${ROOT%/}/${MY_DATADIR}/*)" - ewarn "Please rename or delete it if you wish to replace it." - die "MySQL database already exists!" - fi - - # Bug #213475 - MySQL _will_ object strenously if your machine is named - # localhost. Also causes weird failures. - [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - - if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then - - einfo "Please provide a password for the mysql 'root' user now" - einfo "or through the ${HOME}/.my.cnf file." - ewarn "Avoid [\"'\\_%] characters in the password" - read -rsp " >" pwd1 ; echo - - einfo "Retype the password" - read -rsp " >" pwd2 ; echo - - if [[ "x$pwd1" != "x$pwd2" ]] ; then - die "Passwords are not the same" - fi - MYSQL_ROOT_PASSWORD="${pwd1}" - unset pwd1 pwd2 - fi - - local options - local sqltmp="$(emktemp "${EROOT%/}/tmp")" - - # Fix bug 446200. Don't reference host my.cnf, needs to come first, - # see http://bugs.mysql.com/bug.php?id=31312 - use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" - - local help_tables="${EROOT%/}${MY_SHAREDSTATEDIR}/fill_help_tables.sql" - [[ -r "${help_tables}" ]] \ - && cp "${help_tables}" "${TMPDIR}/fill_help_tables.sql" \ - || touch "${TMPDIR}/fill_help_tables.sql" - help_tables="${TMPDIR}/fill_help_tables.sql" - - # Figure out which options we need to disable to do the setup - local helpfile="${TMPDIR%/}/mysqld-help" - "${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null - for opt in host-cache name-resolve networking slave-start \ - federated ssl log-bin relay-log slow-query-log external-locking \ - log-slave-updates \ - ; do - optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" - egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" - done - - einfo "Creating the mysql database and setting proper permissions on it ..." - - # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it - PID_DIR="${EROOT%/}/var/run/mysqld" - if [[ ! -d "${PID_DIR}" ]]; then - install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" - fi - - if [[ ! -d "${MY_DATADIR}" ]]; then - install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory" - fi - - pushd "${TMPDIR}" &>/dev/null || die - - # Filling timezones, see - # http://dev.mysql.com/doc/mysql/en/time-zone-support.html - "${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null - chown mysql "${sqltmp}" || die - - local cmd=( "${EROOT%/}/usr/share/mysql/scripts/mysql_install_db" ) - [[ -f "${cmd}" ]] || cmd=( "${EROOT%/}/usr/bin/mysql_install_db" ) - if [[ -r "${help_tables}" ]] ; then - cat "${help_tables}" >> "${sqltmp}" - fi - cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT%/}${MY_DATADIR}" "--tmpdir=${ROOT%/}${MYSQL_TMPDIR}" ) - einfo "Command: ${cmd[*]}" - su -s /bin/sh -c "${cmd[*]}" mysql \ - >"${TMPDIR%/}"/mysql_install_db.log 2>&1 - if [ $? -ne 0 ]; then - grep -B5 -A999 -i "ERROR" "${TMPDIR%/}"/mysql_install_db.log 1>&2 - die "Failed to initialize mysqld. Please review ${EPREFIX}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log" - fi - popd &>/dev/null || die - [[ -f "${ROOT%/}/${MY_DATADIR}/mysql/user.frm" ]] \ - || die "MySQL databases not installed" - - use prefix || options="${options} --user=mysql" - - local socket="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.sock" - local pidfile="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.pid" - local mysqld="${EROOT%/}/usr/sbin/mysqld \ - ${options} \ - $(use prefix || echo --user=mysql) \ - --log-warnings=0 \ - --basedir=${EROOT%/}/usr \ - --datadir=${ROOT%/}/${MY_DATADIR} \ - --max_allowed_packet=8M \ - --net_buffer_length=16K \ - --socket=${socket} \ - --pid-file=${pidfile} \ - --tmpdir=${ROOT}/${MYSQL_TMPDIR}" - #einfo "About to start mysqld: ${mysqld}" - ebegin "Starting mysqld" - einfo "Command ${mysqld}" - ${mysqld} & - rc=$? - while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do - maxtry=$((${maxtry}-1)) - echo -n "." - sleep 1 - done - eend $rc - - if ! [[ -S "${socket}" ]]; then - die "Completely failed to start up mysqld with: ${mysqld}" - fi - - ebegin "Setting root password" - # Do this from memory, as we don't want clear text passwords in temp files - local sql="SET PASSWORD FOR 'root'@'localhost' = PASSWORD('${MYSQL_ROOT_PASSWORD}');" - "${EROOT%/}/usr/bin/mysql" \ - --no-defaults \ - "--socket=${socket}" \ - -hlocalhost \ - -e "${sql}" - eend $? - - if [[ -n "${sqltmp}" ]] ; then - ebegin "Loading \"zoneinfo\", this step may require a few seconds" - "${EROOT%/}/usr/bin/mysql" \ - --socket="${socket}" \ - -hlocalhost \ - -uroot \ - --password="${MYSQL_ROOT_PASSWORD}" \ - mysql < "${sqltmp}" - rc=$? - eend $? - [[ $rc -ne 0 ]] && ewarn "Failed to load zoneinfo!" - fi - - # Stop the server and cleanup - einfo "Stopping the server ..." - kill $(< "${pidfile}" ) - rm -f "${sqltmp}" - wait %1 - einfo "Done" -} diff --git a/dev-db/mysql/mysql-5.7.27-r1.ebuild b/dev-db/mysql/mysql-5.7.27-r2.ebuild index 39229edf0528..7a585b7a7032 100644 --- a/dev-db/mysql/mysql-5.7.27-r1.ebuild +++ b/dev-db/mysql/mysql-5.7.27-r2.ebuild @@ -25,7 +25,7 @@ fi HOMEPAGE="https://www.mysql.com/" DESCRIPTION="A fast, multi-threaded, multi-user SQL database server" LICENSE="GPL-2" -SLOT="0/18" +SLOT="5.7/18" IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling selinux +server static static-libs systemtap tcmalloc test yassl" @@ -119,6 +119,8 @@ DEPEND="${COMMON_DEPEND} " RDEPEND="${COMMON_DEPEND} !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + !dev-db/mysql:0 + !dev-db/mysql:8.0 client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= ) selinux? ( sec-policy/selinux-mysql ) server? ( diff --git a/dev-db/mysql/mysql-5.7.29.ebuild b/dev-db/mysql/mysql-5.7.29-r1.ebuild index 1bab98a18ca1..87956f8d8f85 100644 --- a/dev-db/mysql/mysql-5.7.29.ebuild +++ b/dev-db/mysql/mysql-5.7.29-r1.ebuild @@ -25,7 +25,7 @@ fi HOMEPAGE="https://www.mysql.com/" DESCRIPTION="A fast, multi-threaded, multi-user SQL database server" LICENSE="GPL-2" -SLOT="0/18" +SLOT="5.7/18" IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling selinux +server static static-libs systemtap tcmalloc test" @@ -115,6 +115,8 @@ DEPEND="${COMMON_DEPEND} " RDEPEND="${COMMON_DEPEND} !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + !dev-db/mysql:0 + !dev-db/mysql:8.0 client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= ) selinux? ( sec-policy/selinux-mysql ) server? ( diff --git a/dev-db/mysql/mysql-5.7.30.ebuild b/dev-db/mysql/mysql-5.7.30-r1.ebuild index 71716b437ae5..8220f3146cae 100644 --- a/dev-db/mysql/mysql-5.7.30.ebuild +++ b/dev-db/mysql/mysql-5.7.30-r1.ebuild @@ -21,7 +21,7 @@ SRC_URI="https://cdn.mysql.com/Downloads/MySQL-5.7/${PN}-boost-${PV}.tar.gz HOMEPAGE="https://www.mysql.com/" DESCRIPTION="A fast, multi-threaded, multi-user SQL database server" LICENSE="GPL-2" -SLOT="0/18" +SLOT="5.7/18" IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling selinux +server static static-libs systemtap tcmalloc test" @@ -90,6 +90,8 @@ DEPEND="${COMMON_DEPEND} " RDEPEND="${COMMON_DEPEND} !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + !dev-db/mysql:0 + !dev-db/mysql:8.0 client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= ) selinux? ( sec-policy/selinux-mysql ) server? ( diff --git a/dev-db/mysql/mysql-5.7.31.ebuild b/dev-db/mysql/mysql-5.7.31.ebuild new file mode 100644 index 000000000000..3dc370d1040e --- /dev/null +++ b/dev-db/mysql/mysql-5.7.31.ebuild @@ -0,0 +1,1235 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +CMAKE_MAKEFILE_GENERATOR=emake + +inherit check-reqs cmake flag-o-matic linux-info \ + multiprocessing prefix toolchain-funcs multilib-minimal + +# Patch version +PATCH_SET="https://dev.gentoo.org/~whissi/dist/mysql/${PN}-5.7.31-patches-01.tar.xz" + +SRC_URI="https://cdn.mysql.com/Downloads/MySQL-5.7/${PN}-boost-${PV}.tar.gz + https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-${PV}.tar.gz + http://downloads.mysql.com/archives/MySQL-5.7/${PN}-boost-${PV}.tar.gz + ${PATCH_SET}" + +HOMEPAGE="https://www.mysql.com/" +DESCRIPTION="A fast, multi-threaded, multi-user SQL database server" +LICENSE="GPL-2" +SLOT="5.7/18" +IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa +perl profiling + selinux +server static static-libs systemtap tcmalloc test" + +# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests +RESTRICT="!test? ( test ) libressl? ( test )" + +REQUIRED_USE="?? ( tcmalloc jemalloc )" + +KEYWORDS="~amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" + +# Shorten the path because the socket path length must be shorter than 107 chars +# and we will run a mysql server during test phase +S="${WORKDIR}/mysql" + +# Be warned, *DEPEND are version-dependant +# These are used for both runtime and compiletime +# MULTILIB_USEDEP only set for libraries used by the client library +COMMON_DEPEND=" + sys-libs/ncurses:0= + client-libs? ( + >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?] + !libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] ) + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] ) + ) + !client-libs? ( + dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] + >=sys-libs/zlib-1.2.3:0= + !libressl? ( >=dev-libs/openssl-1.0.0:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + server? ( + >=app-arch/lz4-0_p131:= + cjk? ( app-text/mecab:= ) + experimental? ( + dev-libs/libevent:= + dev-libs/protobuf:= + net-libs/libtirpc:= + ) + jemalloc? ( dev-libs/jemalloc:0= ) + kernel_linux? ( + dev-libs/libaio:0= + sys-process/procps:0= + ) + numa? ( sys-process/numactl ) + ) + systemtap? ( >=dev-util/systemtap-1.3:0= ) + tcmalloc? ( dev-util/google-perftools:0= ) +" +DEPEND="${COMMON_DEPEND} + || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) + dev-libs/protobuf + virtual/yacc + server? ( + dev-libs/libevent + experimental? ( net-libs/rpcsvc-proto ) + ) + static? ( sys-libs/ncurses[static-libs] ) + test? ( + acct-group/mysql acct-user/mysql + dev-perl/JSON + ) +" +RDEPEND="${COMMON_DEPEND} + !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + !dev-db/mysql:0 + !dev-db/mysql:8.0 + client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= ) + selinux? ( sec-policy/selinux-mysql ) + server? ( + !prefix? ( + acct-group/mysql acct-user/mysql + dev-db/mysql-init-scripts + ) + ) +" +# For other stuff to bring us in +# dev-perl/DBD-mysql is needed by some scripts installed by MySQL +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" + +mysql_init_vars() { + : ${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"} + : ${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} + : ${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} + : ${MY_LOGDIR="${EPREFIX}/var/log/mysql"} + MY_DATADIR="${MY_LOCALSTATEDIR}" + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use server ; then + CHECKREQS_DISK_BUILD="3G" + + if has test $FEATURES ; then + CHECKREQS_DISK_BUILD="9G" + fi + + check-reqs_pkg_pretend + fi + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + CHECKREQS_DISK_BUILD="3G" + + if has test ${FEATURES} ; then + CHECKREQS_DISK_BUILD="9G" + + # Bug #213475 - MySQL _will_ object strenuously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if ! has userpriv ${FEATURES} ; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + + local aio_max_nr=$(sysctl -n fs.aio-max-nr 2>/dev/null) + [[ -z "${aio_max_nr}" || ${aio_max_nr} -lt 250000 ]] \ + && die "FEATURES=test will require fs.aio-max-nr=250000 at minimum!" + + if use latin1 ; then + # Upstream only supports tests with default charset + die "Testing with USE=latin1 is not supported." + fi + fi + + if use kernel_linux ; then + if use numa ; then + linux-info_get_any_version + + local CONFIG_CHECK="~NUMA" + + local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;" + WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support" + + check_extra_config + fi + fi + + use server && check-reqs_pkg_setup + fi +} + +pkg_preinst() { + # Here we need to see if the implementation switched client libraries + # We check if this is a new instance of the package and a client library already exists + local SHOW_ABI_MESSAGE libpath + if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then + libpath=$(readlink "${EROOT}/usr/$(get_libdir)/libmysqlclient.so") + elog "Due to ABI changes when switching between different client libraries," + elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient." + elog "Please run: revdep-rebuild --library ${libpath}" + ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" + fi +} + +pkg_postinst() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Create log directory securely if it does not exist + [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" + + if use server ; then + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + einfo + elog "You might want to run:" + elog "\"emerge --config =${CATEGORY}/${PF}\"" + elog "if this is a new install." + elog + elog "If you are switching server implentations, you should run the" + elog "mysql_upgrade tool." + einfo + else + einfo + elog "If you are upgrading major versions, you should run the" + elog "mysql_upgrade tool." + einfo + fi + fi + + # Note about configuration change + einfo + elog "This version of ${PN} reorganizes the configuration from a single my.cnf" + elog "to several files in /etc/mysql/mysql.d." + elog "Please backup any changes you made to /etc/mysql/my.cnf" + elog "and add them as a new file under /etc/mysql/mysql.d with a .cnf extension." + elog "You may have as many files as needed and they are read alphabetically." + elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." + einfo +} + +src_unpack() { + unpack ${A} + + mv -f "${WORKDIR}/${P}" "${S}" || die +} + +src_prepare() { + eapply "${WORKDIR}"/mysql-patches + + if use jemalloc ; then + echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die + fi + + if use tcmalloc ; then + echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die + fi + + # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux + if [[ -d "${S}/support-files/SELinux" ]] ; then + echo > "${S}/support-files/SELinux/CMakeLists.txt" || die + fi + + # Remove bundled libs so we cannot accidentally use them + # We keep extra/lz4 directory because we use extra/lz4/xxhash.c via sql/CMakeLists.txt:394 + rm -rv \ + "${S}"/extra/protobuf \ + "${S}"/extra/libevent \ + "${S}"/zlib \ + || die + + # Don't clash with dev-db/mysql-connector-c + rm \ + man/my_print_defaults.1 \ + man/perror.1 \ + man/zlib_decompress.1 \ + || die + + if use libressl ; then + sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \ + "${S}/cmake/ssl.cmake" || die + fi + + sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die + + cmake_src_prepare +} + +src_configure() { + # Bug #114895, bug #110149 + filter-flags "-O" "-O[01]" + + append-cxxflags -felide-constructors + + # bug #283926, with GCC4.4, this is required to get correct behavior. + append-flags -fno-strict-aliasing + + if use client-libs ; then + multilib-minimal_src_configure + else + multilib_src_configure + fi +} + +multilib_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + if ! multilib_is_native_abi && ! use client-libs ; then + return + fi + + CMAKE_BUILD_TYPE="RelWithDebInfo" + + # debug hack wrt #497532 + mycmakeargs=( + -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" + -DSYSCONFDIR="${EPREFIX}/etc/mysql" + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLSHAREDIR=share/mysql + -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin + -DINSTALL_SCRIPTDIR=share/mysql/scripts + -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql" + -DCOMPILATION_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + ### TODO: make this system but issues with UTF-8 prevent it + -DWITH_EDITLINE=bundled + -DWITH_ZLIB=system + -DWITH_SSL=system + -DWITH_LIBWRAP=0 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DWITH_DEFAULT_FEATURE_SET=0 + # The build forces this to be defined when cross-compiling. We pass it + # all the time for simplicity and to make sure it is actually correct. + -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) + -DWITH_CURL=system + -DWITH_BOOST="${S}/boost" + ) + if use test ; then + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test ) + else + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) + fi + + if ! use client-libs ; then + mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES ) + fi + + # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION + # systemtap only works on native ABI, bug 530132 + if multilib_is_native_abi ; then + mycmakeargs+=( + -DENABLE_DTRACE=$(usex systemtap) + ) + else + mycmakeargs+=( + -DWITHOUT_TOOLS=1 + -DWITH_READLINE=1 + -DENABLE_DTRACE=0 + ) + fi + + if multilib_is_native_abi && use server ; then + mycmakeargs+=( + -DWITH_LIBEVENT=system + -DWITH_LZ4=system + -DWITH_PROTOBUF=system + -DWITH_MECAB=$(usex cjk system OFF) + -DWITH_NUMA=$(usex numa ON OFF) + -DWITH_RAPID=$(usex experimental ON OFF) + ) + + if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]] ; then + ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" + ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." + ewarn "You MUST file bugs without these variables set." + + mycmakeargs+=( + -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} + -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} + ) + elif ! use latin1 ; then + mycmakeargs+=( + -DDEFAULT_CHARSET=utf8 + -DDEFAULT_COLLATION=utf8_general_ci + ) + else + mycmakeargs+=( + -DDEFAULT_CHARSET=latin1 + -DDEFAULT_COLLATION=latin1_swedish_ci + ) + fi + + mycmakeargs+=( + -DEXTRA_CHARSETS=all + -DDISABLE_SHARED=$(usex static YES NO) + -DWITH_DEBUG=$(usex debug) + -DWITH_EMBEDDED_SERVER=OFF + ) + + if use profiling ; then + # Setting to OFF doesn't work: Once set, profiling options will be added + # to `mysqld --help` output via sql/sys_vars.cc causing + # "main.mysqld--help-notwin" test to fail + mycmakeargs+=( -DENABLED_PROFILING=ON ) + fi + + if use static ; then + mycmakeargs+=( -DWITH_PIC=1 ) + fi + + # Storage engines + mycmakeargs+=( + -DWITH_EXAMPLE_STORAGE_ENGINE=0 + -DWITH_ARCHIVE_STORAGE_ENGINE=1 + -DWITH_BLACKHOLE_STORAGE_ENGINE=1 + -DWITH_CSV_STORAGE_ENGINE=1 + -DWITH_FEDERATED_STORAGE_ENGINE=1 + -DWITH_HEAP_STORAGE_ENGINE=1 + -DWITH_INNOBASE_STORAGE_ENGINE=1 + -DWITH_INNODB_MEMCACHED=0 + -DWITH_MYISAMMRG_STORAGE_ENGINE=1 + -DWITH_MYISAM_STORAGE_ENGINE=1 + -DWITH_PARTITION_STORAGE_ENGINE=1 + ) + + else + mycmakeargs+=( + -DWITHOUT_SERVER=1 + -DWITH_EMBEDDED_SERVER=OFF + -DEXTRA_CHARSETS=none + ) + fi + + cmake_src_configure +} + +src_compile() { + if use client-libs ; then + multilib-minimal_src_compile + else + multilib_src_compile + fi +} + +multilib_src_compile() { + cmake_src_compile +} + +# Official test instructions: +# ulimit -n 16500 && \ +# USE='latin1 perl server' \ +# FEATURES='test userpriv -usersandbox' \ +# ebuild mysql-X.X.XX.ebuild \ +# digest clean package +src_test() { + _disable_test() { + local rawtestname reason + rawtestname="${1}" ; shift + reason="${@}" + ewarn "test '${rawtestname}' disabled: '${reason}'" + echo ${rawtestname} : ${reason} >> "${T}/disabled.def" + } + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + if ! use server ; then + einfo "Skipping server tests due to minimal build." + return 0 + fi + + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" + + # Run CTest (test-units) + cmake_src_test + retstatus_unit=$? + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + + if [[ -z "${MTR_PARALLEL}" ]] ; then + local -x MTR_PARALLEL=$(makeopts_jobs) + + if [[ ${MTR_PARALLEL} -gt 4 ]] ; then + # Running multiple tests in parallel usually require higher ulimit + # and fs.aio-max-nr setting. In addition, tests like main.multi_update + # are known to hit timeout when system is busy. + # To avoid test failure we will limit MTR_PARALLEL to 4 instead of + # using "auto". + local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})" + info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!" + einfo "${info_msg}" + unset info_msg + MTR_PARALLEL=4 + fi + else + einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'" + fi + + # create directories because mysqladmin might run out of order + mkdir -p "${T}"/var-tests{,/log} || die + + # Run mysql tests + pushd "${TESTDIR}" &>/dev/null || die + + touch "${T}/disabled.def" + # These are failing in MySQL 5.7 for now and are believed to be + # false positives: + # + local t + + for t in auth_sec.keyring_udf ; do + _disable_test "$t" "False positives in Gentoo" + done + + # Unstable tests + # - main.xa_prepared_binlog_off: https://bugs.mysql.com/bug.php?id=83340 + # - rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch: https://bugs.mysql.com/bug.php?id=89223 + # - rpl.rpl_non_direct_stm_mixing_engines: MDEV-14489 + for t in \ + main.xa_prepared_binlog_off \ + rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch \ + rpl.rpl_non_direct_stm_mixing_engines \ + ; do + _disable_test "$t" "Unstable test" + done + + for t in \ + gis.geometry_class_attri_prop \ + gis.geometry_property_function_issimple \ + gis.gis_bugs_crashes \ + gis.spatial_op_testingfunc_mix \ + gis.spatial_analysis_functions_buffer \ + gis.spatial_analysis_functions_distance \ + gis.spatial_utility_function_distance_sphere \ + gis.spatial_utility_function_simplify \ + gis.spatial_analysis_functions_centroid \ + main.with_recursive \ + ; do + _disable_test "$t" "Known rounding error with latest AMD processors" + done + + if ! hash zip 1>/dev/null 2>&1 ; then + # no need to force dep app-arch/zip for one test + _disable_test "innodb.partition_upgrade_create" "Requires app-arch/zip" + fi + + if use numa && use kernel_linux ; then + # bug 584880 + if ! linux_config_exists || ! linux_chkconfig_present NUMA ; then + for t in sys_vars.innodb_numa_interleave_basic ; do + _disable_test "$t" "Test $t requires system with NUMA support" + done + fi + fi + + if ! use latin1 ; then + # The following tests will fail if DEFAULT_CHARSET + # isn't set to latin1: + for t in \ + binlog.binlog_mysqlbinlog_filter \ + binlog.binlog_xa_prepared_disconnect \ + funcs_1.is_columns_mysql \ + funcs_1.is_tables_mysql \ + funcs_1.is_triggers \ + innodb.innodb_pagesize_max_recordsize \ + innodb.innodb-system-table-view \ + innodb.mysqldump_max_recordsize \ + main.mysql_client_test \ + main.mysqld--help-notwin \ + main.type_string \ + main.information_schema \ + perfschema.binlog_edge_mix \ + perfschema.binlog_edge_stmt \ + rpl.rpl_xa_survive_disconnect \ + rpl.rpl_xa_survive_disconnect_lsu_off \ + rpl.rpl_xa_survive_disconnect_table \ + ; do + _disable_test "$t" "Requires DEFAULT_CHARSET=latin1 but USE=-latin1 is set" + done + fi + + if has_version '>=dev-libs/openssl-1.1.1' ; then + # Tests are expecting <openssl-1.1.1 default cipher + for t in \ + auth_sec.cert_verify \ + auth_sec.mysql_ssl_connection \ + auth_sec.openssl_cert_generation \ + auth_sec.ssl_auto_detect \ + auth_sec.ssl_mode \ + auth_sec.tls \ + binlog.binlog_grant_alter_user \ + encryption.innodb_onlinealter_encryption \ + main.grant_alter_user_qa \ + main.grant_user_lock_qa \ + main.mysql_ssl_default \ + main.openssl_1 \ + main.plugin_auth_sha256_tls \ + main.ssl \ + main.ssl_8k_key \ + main.ssl_bug75311 \ + main.ssl_ca \ + main.ssl_cipher \ + main.ssl_compress \ + main.ssl_crl \ + main.ssl_ecdh \ + main.ssl_verify_identity \ + x.connection_tls_version \ + x.connection_openssl \ + ; do + _disable_test "$t" "Requires <dev-libs/openssl-1.1.1" + done + fi + + # Try to increase file limits to increase test coverage + if ! ulimit -n 16500 1>/dev/null 2>&1 ; then + # Upper limit comes from parts.partition_* tests + ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager." + + if ! ulimit -n 4162 1>/dev/null 2>&1 ; then + # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)' + ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager." + + if ! ulimit -n 3000 1>/dev/null 2>&1 ; then + ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager." + else + einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 4162 (medium test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 16500 (best test coverage)." + fi + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" + retstatus_tests=$? + + popd &>/dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + local failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" +} + +src_install() { + local MULTILIB_WRAPPED_HEADERS + local MULTILIB_CHOST_TOOLS + if use client-libs ; then + # headers with ABI specific data + MULTILIB_WRAPPED_HEADERS=( + /usr/include/mysql/server/my_config.h + /usr/include/mysql/server/mysql_version.h ) + + # wrap the config scripts + MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config ) + multilib-minimal_src_install + else + multilib_src_install + multilib_src_install_all + fi +} + +# Intentionally override eclass function +multilib_src_install() { + cmake_src_install + + # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them. + find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die +} + +multilib_src_install_all() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Convenience links + einfo "Making Convenience links for mysqlcheck multi-call binary" + dosym "mysqlcheck" "/usr/bin/mysqlanalyze" + dosym "mysqlcheck" "/usr/bin/mysqlrepair" + dosym "mysqlcheck" "/usr/bin/mysqloptimize" + + # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir + if [[ -d "${ED}/usr/data" ]] ; then + rm -Rf "${ED}/usr/data" || die + fi + + # Unless they explicitly specific USE=test, then do not install the + # testsuite. It DOES have a use to be installed, esp. when you want to do a + # validation of your database configuration after tuning it. + if ! use test ; then + rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" + fi + + # Configuration stuff + einfo "Building default configuration ..." + insinto "${MY_SYSCONFDIR#${EPREFIX}}" + [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf + cp "${FILESDIR}/my.cnf-5.7" "${TMPDIR}/my.cnf" || die + eprefixify "${TMPDIR}/my.cnf" + doins "${TMPDIR}/my.cnf" + insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d" + cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die + eprefixify "${TMPDIR}/50-distro-client.cnf" + doins "${TMPDIR}/50-distro-client.cnf" + + if use server ; then + mycnf_src="my.cnf.distro-server" + sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ + "${FILESDIR}/${mycnf_src}" \ + > "${TMPDIR}/my.cnf.ok" || die + + if use prefix ; then + sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ + "${TMPDIR}/my.cnf.ok" || die + fi + + if use latin1 ; then + sed -i \ + -e "/character-set/s|utf8|latin1|g" \ + "${TMPDIR}/my.cnf.ok" || die + fi + + eprefixify "${TMPDIR}/my.cnf.ok" + + newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf + fi + + #Remove mytop if perl is not selected + [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" +} + +pkg_config() { + _getoptval() { + local section="$1" + local flag="--${2}=" + local extra_options="${3}" + local cmd=( + "${my_print_defaults_binary}" + "${extra_options}" + "${section}" + ) + local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") ) + + if [[ ${#results[@]} -gt 0 ]] ; then + # When option is set multiple times only return last value + echo "${results[-1]}" + fi + } + + _mktemp_dry() { + # emktemp has no --dry-run option + local template="${1}" + + if [[ -z "${template}" ]] ; then + if [[ -z "${T}" ]] ; then + template="/tmp/XXXXXXX" + else + template="${T}/XXXXXXX" + fi + fi + + local template_wo_X=${template//X/} + local n_X + let n_X=${#template}-${#template_wo_X} + if [[ ${n_X} -lt 3 ]] ; then + echo "${FUNCNAME[0]}: too few X's in template ‘${template}’" >&2 + return + fi + + local attempts=0 + local character tmpfile + while [[ true ]] ; do + let attempts=attempts+1 + + new_file= + while read -n1 character ; do + if [[ "${character}" == "X" ]] ; then + tmpfile+="${RANDOM:0:1}" + else + tmpfile+="${character}" + fi + done < <(echo -n "${template}") + + if [[ ! -f "${tmpfile}" ]] + then + echo "${tmpfile}" + return + fi + + if [[ ${attempts} -ge 100 ]] ; then + echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2 + return + fi + done + } + + local mysqld_binary="${EROOT}/usr/sbin/mysqld" + if [[ ! -x "${mysqld_binary}" ]] ; then + die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!" + fi + + local mysql_binary="${EROOT}/usr/bin/mysql" + if [[ ! -x "${mysql_binary}" ]] ; then + die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!" + fi + + local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults" + if [[ ! -x "${my_print_defaults_binary}" ]] ; then + die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!" + fi + + if [[ -z "${MYSQL_USER}" ]] ; then + MYSQL_USER=mysql + if use prefix ; then + MYSQL_USER=$(id -u -n 2>/dev/null) + if [[ -z "${MYSQL_USER}" ]] ; then + die "Failed to determine current username!" + fi + fi + fi + + if [[ -z "${MYSQL_GROUP}" ]] ; then + MYSQL_GROUP=mysql + if use prefix ; then + MYSQL_GROUP=$(id -g -n 2>/dev/null) + if [[ -z "${MYSQL_GROUP}" ]] ; then + die "Failed to determine current user groupname!" + fi + fi + fi + + # my_print_defaults needs to read stuff in $HOME/.my.cnf + local -x HOME="${EROOT}/root" + + # Make sure the vars are correctly initialized + mysql_init_vars + + # Read currently set data directory + MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ -z "${MY_DATADIR}" ]] ; then + die "Sorry, unable to find MY_DATADIR!" + elif [[ -d "${MY_DATADIR}/mysql" ]] ; then + ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!" + ewarn "Please rename or delete its content if you wish to initialize a new data directory." + die "${PN} data directory at '${MY_DATADIR}' looks already initialized!" + fi + + MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_TMPDIR=${MYSQL_TMPDIR%/} + # These are dir+prefix + MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} + MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + + # Create missing directories. + # Always check if mysql user can write to directory even if we just + # created directory because a parent directory might be not + # accessible for that user. + PID_DIR="${EROOT}/run/mysqld" + if [[ ! -d "${PID_DIR}" ]] ; then + einfo "Creating ${PN} PID directory '${PID_DIR}' ..." + install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \ + || die "Failed to create PID directory '${PID_DIR}'!" + fi + + local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_pid_dir_testfile}" ]] \ + && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_pid_dir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!" + else + rm "${_pid_dir_testfile}" || die + unset _pid_dir_testfile + fi + + if [[ ! -d "${MY_DATADIR}" ]] ; then + einfo "Creating ${PN} data directory '${MY_DATADIR}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \ + || die "Failed to create ${PN} data directory '${MY_DATADIR}'!" + fi + + local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_datadir_testfile}" ]] \ + && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_datadir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!" + else + rm "${_my_datadir_testfile}" || die + unset _my_datadir_testfile + fi + + if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then + einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \ + || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!" + fi + + if [[ -z "${MYSQL_TMPDIR}" ]] ; then + MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")" + [[ -z "${MYSQL_TMPDIR}" ]] \ + && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!" + + mkdir "${MYSQL_TMPDIR}" || die + chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die + fi + + # Now we need to test MYSQL_TMPDIR... + local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_tmpdir_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_tmpdir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!" + else + rm "${_my_tmpdir_testfile}" || die + unset _my_tmpdir_testfile + fi + + if [[ -n "${MYSQL_LOG_BIN}" && ! -d "${MYSQL_LOG_BIN}" ]] ; then + einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \ + || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'" + fi + + if [[ -n "${MYSQL_LOG_BIN}" ]] ; then + local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_logbin_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_logbin_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!" + else + rm "${_my_logbin_testfile}" || die + unset _my_logbin_testfile + fi + fi + + if [[ -n "${MYSQL_RELAY_LOG}" && ! -d "${MYSQL_RELAY_LOG}" ]] ; then + einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \ + || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!" + fi + + if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then + local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_relaylog_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_relaylog_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!" + else + rm "${_my_relaylog_testfile}" || die + unset _my_relaylog_testfile + fi + fi + + local mysql_install_log="$(_mktemp_dry "${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log")" + if [[ -z "${mysql_install_log}" ]] ; then + die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log' failed!" + else + # make sure file is writable for MYSQL_USER... + touch "${mysql_install_log}" || die + chown ${MYSQL_USER} "${mysql_install_log}" || die + fi + + local mysqld_logfile="$(_mktemp_dry "${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log")" + if [[ -z "${mysqld_logfile}" ]] ; then + die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log' failed!" + else + # make sure file is writable for MYSQL_USER... + touch "${mysqld_logfile}" || die + chown ${MYSQL_USER} "${mysqld_logfile}" || die + fi + + echo "" + einfo "Detected settings:" + einfo "==================" + einfo "MySQL User:\t\t\t\t${MYSQL_USER}" + einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}" + einfo "MySQL DATA directory:\t\t${MY_DATADIR}" + einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}" + + if [[ -n "${MYSQL_LOG_BIN}" ]] ; then + einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}" + fi + + if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then + einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}" + fi + + einfo "PID DIR:\t\t\t\t${PID_DIR}" + einfo "Install db log:\t\t\t${mysql_install_log}" + einfo "Install server log:\t\t\t${mysqld_logfile}" + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + local tmp_mysqld_password_source= + + for tmp_mysqld_password_source in mysql client ; do + einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" + if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then + if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then + ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" + MYSQL_ROOT_PASSWORD= + continue + fi + + einfo "Found password in '${tmp_mysqld_password_source}' section!" + break + fi + done + + # Sometimes --show is required to display passwords in some implementations of my_print_defaults + if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" + fi + + unset tmp_mysqld_password_source + fi + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + local pwd1="a" + local pwd2="b" + + echo + einfo "No password for mysql 'root' user was specified via environment" + einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config" + einfo "file like '${HOME}/.my.cnf'." + einfo "To continue please provide a password for the mysql 'root' user" + einfo "now on console:" + ewarn "NOTE: Please avoid [\"'\\_%] characters in the password!" + read -rsp " >" pwd1 ; echo + + einfo "Retype the password" + read -rsp " >" pwd2 ; echo + + if [[ "x$pwd1" != "x$pwd2" ]] ; then + die "Passwords are not the same!" + fi + + MYSQL_ROOT_PASSWORD="${pwd1}" + unset pwd1 pwd2 + + echo + fi + + local -a mysqld_options + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see http://bugs.mysql.com/bug.php?id=31312 + use prefix && mysqld_options+=( "--defaults-file='${MY_SYSCONFDIR}/my.cnf'" ) + + # Figure out which options we need to disable to do the setup + local helpfile="${TMPDIR}/mysqld-help" + "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null + + local opt optexp optfull + for opt in host-cache name-resolve networking slave-start \ + federated ssl log-bin relay-log slow-query-log external-locking \ + log-slave-updates \ + ; do + optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" + egrep -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" ) + done + + # Prepare timezones, see + # https://dev.mysql.com/doc/mysql/en/time-zone-support.html + local tz_sql="$(_mktemp_dry "${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql")" + [[ -z "${tz_sql}" ]] \ + && die "_mktemp_dry() for '${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql' failed!" + + echo "USE mysql;" >"${tz_sql}" + "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null + if [[ $? -ne 0 ]] ; then + die "mysql_tzinfo_to_sql failed!" + fi + + # --initialize-insecure will not set root password + # --initialize would set a random one in the log which we don't need as we set it ourselves + local cmd=( + "${mysqld_binary}" + "${mysqld_options[@]}" + "--initialize-insecure" + "--init-file='${tz_sql}'" + "--basedir='${EROOT}/usr'" + "--datadir='${MY_DATADIR}'" + "--tmpdir='${MYSQL_TMPDIR}'" + "--log-error='${mysql_install_log}'" + "--user=${MYSQL_USER}" + ) + + einfo "Initializing ${PN} data directory: ${cmd[@]}" + eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1 + + if [[ $? -ne 0 ]] ; then + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2 + die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!" + fi + + rm "${tz_sql}" || die + + local x=${RANDOM} + local socket="${EROOT}${PID_DIR}/mysqld${x}.sock" + local pidfile="${EROOT}${PID_DIR}/mysqld${x}.pid" + unset x + + cmd=( + "${mysqld_binary}" + "${mysqld_options[@]}" + "--basedir='${EROOT}/usr'" + "--datadir='${MY_DATADIR}'" + "--tmpdir='${MYSQL_TMPDIR}'" + --max_allowed_packet=8M + --net_buffer_length=16K + "--socket='${socket}'" + "--pid-file='${pidfile}'" + "--log-error='${mysqld_logfile}'" + "--user=${MYSQL_USER}" + ) + + einfo "Starting mysqld to finalize initialization: ${cmd[@]}" + eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 & + + echo -n "Waiting for mysqld to accept connections " + local maxtry=15 + while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + + if [[ -S "${socket}" ]] ; then + # Even with a socket we don't know if mysqld will abort + # start due to an error so just wait a little bit more... + maxtry=5 + while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + fi + + echo + + if [[ ! -S "${socket}" ]] ; then + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2 + die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!" + fi + + local mysql_logfile="${TMPDIR}/set_root_pw.log" + touch "${mysql_logfile}" || die + + ebegin "Setting root password" + # Do this from memory, as we don't want clear text passwords in temp files + local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'" + cmd=( + "${mysql_binary}" + --no-defaults + "--socket='${socket}'" + -hlocalhost + "-e \"${sql}\"" + ) + eval "${cmd[@]}" >"${mysql_logfile}" 2>&1 + local rc=$? + eend ${rc} + + if [[ ${rc} -ne 0 ]] ; then + # Poor man's solution which tries to avoid having password + # in log. NOTE: sed can fail if user didn't follow advice + # and included character which will require escaping... + sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null + + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}" + die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!" + fi + + # Stop the server + if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then + echo -n "Stopping the server " + pkill -F "${pidfile}" &>/dev/null + + maxtry=10 + while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + + echo + + if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then + # We somehow failed to stop server. + # However, not a fatal error. Just warn the user. + ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!" + fi + fi + + einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!" +} diff --git a/dev-db/mysql/mysql-8.0.19-r1.ebuild b/dev-db/mysql/mysql-8.0.19-r2.ebuild index 827c57daf940..b81fdbc4fc1b 100644 --- a/dev-db/mysql/mysql-8.0.19-r1.ebuild +++ b/dev-db/mysql/mysql-8.0.19-r2.ebuild @@ -28,7 +28,7 @@ fi HOMEPAGE="https://www.mysql.com/" DESCRIPTION="A fast, multi-threaded, multi-user SQL database server" LICENSE="GPL-2" -SLOT="0" +SLOT="8.0" IUSE="cjk cracklib debug jemalloc latin1 libressl numa +perl profiling router selinux +server tcmalloc test" @@ -102,6 +102,8 @@ DEPEND="${COMMON_DEPEND} " RDEPEND="${COMMON_DEPEND} !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + !dev-db/mysql:0 + !dev-db/mysql:5.7 selinux? ( sec-policy/selinux-mysql ) !prefix? ( acct-group/mysql acct-user/mysql diff --git a/dev-db/mysql/mysql-8.0.20.ebuild b/dev-db/mysql/mysql-8.0.20-r1.ebuild index 055853424359..0bddb13566ea 100644 --- a/dev-db/mysql/mysql-8.0.20.ebuild +++ b/dev-db/mysql/mysql-8.0.20-r1.ebuild @@ -22,7 +22,7 @@ SRC_URI="https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-boost-${MY_PV}.tar.gz HOMEPAGE="https://www.mysql.com/" DESCRIPTION="A fast, multi-threaded, multi-user SQL database server" LICENSE="GPL-2" -SLOT="0" +SLOT="8.0" IUSE="cjk cracklib debug jemalloc latin1 libressl numa +perl profiling router selinux +server tcmalloc test" @@ -77,6 +77,8 @@ DEPEND="${COMMON_DEPEND} " RDEPEND="${COMMON_DEPEND} !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + !dev-db/mysql:0 + !dev-db/mysql:5.7 selinux? ( sec-policy/selinux-mysql ) !prefix? ( acct-group/mysql acct-user/mysql diff --git a/dev-db/mysql/mysql-8.0.21-r1.ebuild b/dev-db/mysql/mysql-8.0.21-r1.ebuild new file mode 100644 index 000000000000..be1a0381245a --- /dev/null +++ b/dev-db/mysql/mysql-8.0.21-r1.ebuild @@ -0,0 +1,1168 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +CMAKE_MAKEFILE_GENERATOR=emake + +inherit check-reqs cmake flag-o-matic linux-info \ + multiprocessing prefix toolchain-funcs + +MY_PV="${PV//_pre*}" +MY_P="${PN}-${MY_PV}" + +# Patch version +PATCH_SET="https://dev.gentoo.org/~whissi/dist/mysql/${PN}-8.0.21-patches-01.tar.xz" + +SRC_URI="https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-boost-${MY_PV}.tar.gz + https://cdn.mysql.com/archives/mysql-8.0/mysql-boost-${MY_PV}.tar.gz + http://downloads.mysql.com/archives/MySQL-8.0/${PN}-boost-${MY_PV}.tar.gz + ${PATCH_SET}" + +HOMEPAGE="https://www.mysql.com/" +DESCRIPTION="A fast, multi-threaded, multi-user SQL database server" +LICENSE="GPL-2" +SLOT="8.0" +IUSE="cjk cracklib debug jemalloc latin1 libressl numa +perl profiling + router selinux +server tcmalloc test" + +# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests +RESTRICT="!test? ( test ) libressl? ( test )" + +REQUIRED_USE="?? ( tcmalloc jemalloc ) + cjk? ( server ) + jemalloc? ( server ) + numa? ( server ) + profiling? ( server ) + router? ( server ) + tcmalloc? ( server )" + +KEYWORDS="~amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" + +# Shorten the path because the socket path length must be shorter than 107 chars +# and we will run a mysql server during test phase +S="${WORKDIR}/mysql" + +# Be warned, *DEPEND are version-dependant +# These are used for both runtime and compiletime +COMMON_DEPEND=" + >=app-arch/lz4-0_p131:= + app-arch/zstd:= + sys-libs/ncurses:0= + >=sys-libs/zlib-1.2.3:0= + libressl? ( dev-libs/libressl:0= ) + !libressl? ( >=dev-libs/openssl-1.0.0:0= ) + server? ( + dev-libs/icu:= + dev-libs/libevent:= + >=dev-libs/protobuf-3.8:= + net-libs/libtirpc:= + cjk? ( app-text/mecab:= ) + jemalloc? ( dev-libs/jemalloc:0= ) + kernel_linux? ( + dev-libs/libaio:0= + sys-process/procps:0= + ) + numa? ( sys-process/numactl ) + tcmalloc? ( dev-util/google-perftools:0= ) + ) +" +DEPEND="${COMMON_DEPEND} + || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) + virtual/yacc + server? ( net-libs/rpcsvc-proto ) + test? ( + acct-group/mysql acct-user/mysql + dev-perl/JSON + ) +" +RDEPEND="${COMMON_DEPEND} + !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + !dev-db/mysql:0 + !dev-db/mysql:5.7 + selinux? ( sec-policy/selinux-mysql ) + !prefix? ( + acct-group/mysql acct-user/mysql + dev-db/mysql-init-scripts + ) +" +# For other stuff to bring us in +# dev-perl/DBD-mysql is needed by some scripts installed by MySQL +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" + +mysql_init_vars() { + : ${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"} + : ${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} + : ${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} + : ${MY_LOGDIR="${EPREFIX}/var/log/mysql"} + MY_DATADIR="${MY_LOCALSTATEDIR}" + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use server ; then + CHECKREQS_DISK_BUILD="3G" + + if has test $FEATURES ; then + CHECKREQS_DISK_BUILD="9G" + fi + + check-reqs_pkg_pretend + fi + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + CHECKREQS_DISK_BUILD="3G" + + if has test ${FEATURES} ; then + CHECKREQS_DISK_BUILD="9G" + + # Bug #213475 - MySQL _will_ object strenuously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if ! has userpriv ${FEATURES} ; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + + local aio_max_nr=$(sysctl -n fs.aio-max-nr 2>/dev/null) + [[ -z "${aio_max_nr}" || ${aio_max_nr} -lt 250000 ]] \ + && die "FEATURES=test will require fs.aio-max-nr=250000 at minimum!" + + if use latin1 ; then + # Upstream only supports tests with default charset + die "Testing with USE=latin1 is not supported." + fi + fi + + if use kernel_linux ; then + if use numa ; then + linux-info_get_any_version + + local CONFIG_CHECK="~NUMA" + + local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;" + WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support" + + check_extra_config + fi + fi + + use server && check-reqs_pkg_setup + fi +} + +src_unpack() { + unpack ${A} + + mv -f "${WORKDIR}/${MY_P}" "${S}" || die +} + +src_prepare() { + eapply "${WORKDIR}"/mysql-patches + + # Avoid rpm call which would trigger sandbox, #692368 + sed -i \ + -e 's/MY_RPM rpm/MY_RPM rpmNOTEXISTENT/' \ + CMakeLists.txt || die + + if use jemalloc ; then + echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die + fi + + if use tcmalloc ; then + echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die + fi + + # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux + if [[ -d "${S}/support-files/SELinux" ]] ; then + echo > "${S}/support-files/SELinux/CMakeLists.txt" || die + fi + + # Remove man pages for client-lib tools we don't install + rm \ + man/my_print_defaults.1 \ + man/perror.1 \ + man/zlib_decompress.1 \ + || die + + cmake_src_prepare +} + +src_configure() { + # Bug #114895, bug #110149 + filter-flags "-O" "-O[01]" + + append-cxxflags -felide-constructors + + # bug #283926, with GCC4.4, this is required to get correct behavior. + append-flags -fno-strict-aliasing + + CMAKE_BUILD_TYPE="RelWithDebInfo" + + # debug hack wrt #497532 + mycmakeargs=( + -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" + -DSYSCONFDIR="${EPREFIX}/etc/mysql" + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLSHAREDIR=share/mysql + -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin + -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql" + -DCOMPILATION_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + # Using bundled editline to get CTRL+C working + -DWITH_EDITLINE=bundled + -DWITH_ZLIB=system + -DWITH_SSL=system + -DWITH_LIBWRAP=0 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DWITH_DEFAULT_FEATURE_SET=0 + # The build forces this to be defined when cross-compiling. We pass it + # all the time for simplicity and to make sure it is actually correct. + -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) + -DCMAKE_POSITION_INDEPENDENT_CODE=ON + -DWITH_CURL=system + -DWITH_BOOST="${S}/boost" + -DWITH_ROUTER=$(usex router ON OFF) + ) + + if is-flagq -fno-lto ; then + einfo "LTO disabled via {C,CXX,F,FC}FLAGS" + mycmakeargs+=( -DWITH_LTO=OFF ) + elif is-flagq -flto ; then + einfo "LTO forced via {C,CXX,F,FC}FLAGS" + myconf+=( -DWITH_LTO=ON ) + else + # Disable automagic + myconf+=( -DWITH_LTO=OFF ) + fi + + if use test ; then + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test ) + else + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) + fi + + mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES ) + + mycmakeargs+=( + -DWITH_ICU=system + -DWITH_LZ4=system + # Our dev-libs/rapidjson doesn't carry necessary fixes for std::regex + -DWITH_RAPIDJSON=bundled + -DWITH_ZSTD=system + ) + + if [[ -n "${MYSQL_DEFAULT_CHARSET}" && -n "${MYSQL_DEFAULT_COLLATION}" ]] ; then + ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" + ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." + ewarn "You MUST file bugs without these variables set." + ewarn "Tests will probably fail!" + + mycmakeargs+=( + -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} + -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} + ) + elif use latin1 ; then + mycmakeargs+=( + -DDEFAULT_CHARSET=latin1 + -DDEFAULT_COLLATION=latin1_swedish_ci + ) + else + mycmakeargs+=( + -DDEFAULT_CHARSET=utf8mb4 + -DDEFAULT_COLLATION=utf8mb4_0900_ai_ci + ) + fi + + if use server ; then + mycmakeargs+=( + -DWITH_EXTRA_CHARSETS=all + -DWITH_DEBUG=$(usex debug) + -DWITH_MECAB=$(usex cjk system OFF) + -DWITH_LIBEVENT=system + -DWITH_PROTOBUF=system + -DWITH_NUMA=$(usex numa ON OFF) + ) + + if use profiling ; then + # Setting to OFF doesn't work: Once set, profiling options will be added + # to `mysqld --help` output via sql/sys_vars.cc causing + # "main.mysqld--help-notwin" test to fail + mycmakeargs+=( -DENABLED_PROFILING=ON ) + fi + + # Storage engines + mycmakeargs+=( + -DWITH_EXAMPLE_STORAGE_ENGINE=0 + -DWITH_ARCHIVE_STORAGE_ENGINE=1 + -DWITH_BLACKHOLE_STORAGE_ENGINE=1 + -DWITH_CSV_STORAGE_ENGINE=1 + -DWITH_FEDERATED_STORAGE_ENGINE=1 + -DWITH_HEAP_STORAGE_ENGINE=1 + -DWITH_INNOBASE_STORAGE_ENGINE=1 + -DWITH_INNODB_MEMCACHED=0 + -DWITH_MYISAMMRG_STORAGE_ENGINE=1 + -DWITH_MYISAM_STORAGE_ENGINE=1 + ) + else + mycmakeargs+=( + -DWITHOUT_SERVER=1 + -DWITH_SYSTEMD=no + ) + fi + + cmake_src_configure +} + +# Official test instructions: +# ulimit -n 16500 && \ +# USE='perl server' \ +# FEATURES='test userpriv' \ +# ebuild mysql-X.X.XX.ebuild \ +# digest clean package +src_test() { + _disable_test() { + local rawtestname bug reason + rawtestname="${1}" ; shift + bug="${1}" ; shift + reason="${@}" + ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})" + echo ${rawtestname} : BUG#${bug} ${reason} >> "${T}/disabled.def" + } + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + # Run CTest (test-units) + cmake_src_test + retstatus_unit=$? + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + + if [[ -z "${MTR_PARALLEL}" ]] ; then + local -x MTR_PARALLEL=$(makeopts_jobs) + + if [[ ${MTR_PARALLEL} -gt 4 ]] ; then + # Running multiple tests in parallel usually require higher ulimit + # and fs.aio-max-nr setting. In addition, tests like main.multi_update + # are known to hit timeout when system is busy. + # To avoid test failure we will limit MTR_PARALLEL to 4 instead of + # using "auto". + local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})" + info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!" + einfo "${info_msg}" + unset info_msg + MTR_PARALLEL=4 + fi + else + einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'" + fi + + # create directories because mysqladmin might run out of order + mkdir -p "${T}"/var-tests{,/log} || die + + # Run mysql tests + pushd "${TESTDIR}" &>/dev/null || die + + touch "${T}/disabled.def" + + local -a disabled_tests + disabled_tests+=( "auth_sec.keyring_file_data_qa;0;Won't work with user privileges" ) + disabled_tests+=( "gis.spatial_analysis_functions_buffer;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.gis_bugs_crashes;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.geometry_class_attri_prop;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.spatial_utility_function_distance_sphere;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.geometry_property_function_issimple;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.spatial_analysis_functions_centroid;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.spatial_operators_intersection;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.spatial_utility_function_simplify;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.spatial_op_testingfunc_mix;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.spatial_analysis_functions_distance;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "main.mysql_load_data_local_dir;0;Known test failure - no upstream bug yet" ) + disabled_tests+=( "main.window_std_var;0;Known rounding error with latest AMD processors -- no upstream bug yet" ) + disabled_tests+=( "main.window_std_var_optimized;0;Known rounding error with latest AMD processors -- no upstream bug yet" ) + disabled_tests+=( "main.with_recursive;0;Known rounding error with latest AMD processors -- no upstream bug yet" ) + disabled_tests+=( "rpl_gtid.rpl_gtid_stm_drop_table;90612;Known test failure" ) + disabled_tests+=( "rpl_gtid.rpl_multi_source_mtr_includes;0;Known failure - no upstream bug yet" ) + disabled_tests+=( "sys_vars.myisam_data_pointer_size_func;87935;Test will fail on slow hardware") + disabled_tests+=( "x.connection;0;Known failure - no upstream bug yet" ) + disabled_tests+=( "main.mysqlpump_basic_lz4;0;Extra tool output causes false positive" ) + disabled_tests+=( "x.message_compressed_payload;0;False positive caused by protobuff-3.11+" ) + disabled_tests+=( "x.message_protobuf_nested;0;False positive caused by protobuff-3.11+" ) + + # Known test failures due to expired SSL certificates -- fixed in 8.0.22 + disabled_tests+=( "auth_sec.admin_ssl_crl_crlpath;100055;Fixed in 8.0.22" ) + disabled_tests+=( "auth_sec.admin_ssl_crl;100055;Fixed in 8.0.22" ) + disabled_tests+=( "auth_sec.server_withssl_client_withssl;100055;Fixed in 8.0.22" ) + disabled_tests+=( "main.ssl_crl_clients_valid;100055;Fixed in 8.0.22" ) + disabled_tests+=( "main.ssl_crl;100055;Fixed in 8.0.22" ) + disabled_tests+=( "main.ssl_crl_crlpath;100055;Fixed in 8.0.22" ) + disabled_tests+=( "main.ssl_ca;100055;Fixed in 8.0.22" ) + + if ! hash zip 1>/dev/null 2>&1 ; then + # no need to force dep app-arch/zip for one test + disabled_tests+=( "innodb.discarded_partition_create;0;Requires app-arch/zip" ) + disabled_tests+=( "innodb.partition_upgrade_create;0;Requires app-arch/zip" ) + fi + + local test_infos_str test_infos_arr + for test_infos_str in "${disabled_tests[@]}" ; do + IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}" + + if [[ ${#test_infos_arr[@]} != 3 ]] ; then + die "Invalid test data set, not matching format: ${test_infos_str}" + fi + + _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}" + done + unset test_infos_str test_infos_arr + + # Try to increase file limits to increase test coverage + if ! ulimit -n 16500 1>/dev/null 2>&1 ; then + # Upper limit comes from parts.partition_* tests + ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager." + + if ! ulimit -n 4162 1>/dev/null 2>&1 ; then + # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)' + ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager." + + if ! ulimit -n 3000 1>/dev/null 2>&1 ; then + ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager." + else + einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 4162 (medium test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 16500 (best test coverage)." + fi + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" + retstatus_tests=$? + + popd &>/dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + local failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" +} + +src_install() { + cmake_src_install + + # Make sure the vars are correctly initialized + mysql_init_vars + + # Convenience links + einfo "Making Convenience links for mysqlcheck multi-call binary" + dosym "mysqlcheck" "/usr/bin/mysqlanalyze" + dosym "mysqlcheck" "/usr/bin/mysqlrepair" + dosym "mysqlcheck" "/usr/bin/mysqloptimize" + + # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir + if [[ -d "${ED}/usr/data" ]] ; then + rm -Rf "${ED}/usr/data" || die + fi + + # Unless they explicitly specific USE=test, then do not install the + # testsuite. It DOES have a use to be installed, esp. when you want to do a + # validation of your database configuration after tuning it. + if ! use test ; then + rm -rf "${ED}/${MY_SHAREDSTATEDIR#${EPREFIX}}/mysql-test" + fi + + # Configuration stuff + einfo "Building default configuration ..." + insinto "${MY_SYSCONFDIR#${EPREFIX}}" + [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf + cp "${FILESDIR}/my.cnf-5.7" "${TMPDIR}/my.cnf" || die + eprefixify "${TMPDIR}/my.cnf" + doins "${TMPDIR}/my.cnf" + insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d" + cp "${FILESDIR}/my.cnf-8.0.distro-client" "${TMPDIR}/50-distro-client.cnf" || die + eprefixify "${TMPDIR}/50-distro-client.cnf" + doins "${TMPDIR}/50-distro-client.cnf" + + mycnf_src="my.cnf-8.0.distro-server" + sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ + "${FILESDIR}/${mycnf_src}" \ + > "${TMPDIR}/my.cnf.ok" || die + + if use prefix ; then + sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ + "${TMPDIR}/my.cnf.ok" || die + fi + + if use latin1 ; then + sed -i \ + -e "/character-set/s|utf8mb4|latin1|g" \ + "${TMPDIR}/my.cnf.ok" || die + fi + + eprefixify "${TMPDIR}/my.cnf.ok" + + newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf + + #Remove mytop if perl is not selected + [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" + + if use router ; then + rm -rf \ + "${ED}/usr/LICENSE.router" \ + "${ED}/usr/README.router" \ + "${ED}/usr/run" \ + "${ED}/usr/var" \ + || die + fi + + # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them. + find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die +} + +pkg_postinst() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Create log directory securely if it does not exist + # NOTE: $MY_LOGDIR contains $EPREFIX by default + [[ -d "${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${MY_LOGDIR}" + + # Note about configuration change + einfo + elog "This version of ${PN} reorganizes the configuration from a single my.cnf" + elog "to several files in /etc/mysql/mysql.d." + elog "Please backup any changes you made to /etc/mysql/my.cnf" + elog "and add them as a new file under /etc/mysql/mysql.d with a .cnf extension." + elog "You may have as many files as needed and they are read alphabetically." + elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." + einfo + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + einfo + elog "You might want to run:" + elog " \"emerge --config =${CATEGORY}/${PF}\"" + elog "if this is a new install." + einfo + else + einfo + elog "Upgrade process for ${PN}-8.x has changed. Please read" + elog "https://dev.mysql.com/doc/refman/8.0/en/upgrade-binary-package.html" + einfo + fi +} + +pkg_config() { + _getoptval() { + local section="$1" + local flag="--${2}=" + local extra_options="${3}" + local cmd=( + "${my_print_defaults_binary}" + "${extra_options}" + "${section}" + ) + local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") ) + + if [[ ${#results[@]} -gt 0 ]] ; then + # When option is set multiple times only return last value + echo "${results[-1]}" + fi + } + + _mktemp_dry() { + # emktemp has no --dry-run option + local template="${1}" + + if [[ -z "${template}" ]] ; then + if [[ -z "${T}" ]] ; then + template="/tmp/XXXXXXX" + else + template="${T}/XXXXXXX" + fi + fi + + local template_wo_X=${template//X/} + local n_X + let n_X=${#template}-${#template_wo_X} + if [[ ${n_X} -lt 3 ]] ; then + echo "${FUNCNAME[0]}: too few X's in template ‘${template}’" >&2 + return + fi + + local attempts=0 + local character tmpfile + while [[ true ]] ; do + let attempts=attempts+1 + + new_file= + while read -n1 character ; do + if [[ "${character}" == "X" ]] ; then + tmpfile+="${RANDOM:0:1}" + else + tmpfile+="${character}" + fi + done < <(echo -n "${template}") + + if [[ ! -f "${tmpfile}" ]] + then + echo "${tmpfile}" + return + fi + + if [[ ${attempts} -ge 100 ]] ; then + echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2 + return + fi + done + } + + local mysqld_binary="${EROOT}/usr/sbin/mysqld" + if [[ ! -x "${mysqld_binary}" ]] ; then + die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!" + fi + + local mysql_binary="${EROOT}/usr/bin/mysql" + if [[ ! -x "${mysql_binary}" ]] ; then + die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!" + fi + + local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults" + if [[ ! -x "${my_print_defaults_binary}" ]] ; then + die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!" + fi + + if [[ -z "${MYSQL_USER}" ]] ; then + MYSQL_USER=mysql + if use prefix ; then + MYSQL_USER=$(id -u -n 2>/dev/null) + if [[ -z "${MYSQL_USER}" ]] ; then + die "Failed to determine current username!" + fi + fi + fi + + if [[ -z "${MYSQL_GROUP}" ]] ; then + MYSQL_GROUP=mysql + if use prefix ; then + MYSQL_GROUP=$(id -g -n 2>/dev/null) + if [[ -z "${MYSQL_GROUP}" ]] ; then + die "Failed to determine current user groupname!" + fi + fi + fi + + # my_print_defaults needs to read stuff in $HOME/.my.cnf + local -x HOME="${EROOT}/root" + + # Make sure the vars are correctly initialized + mysql_init_vars + + # Read currently set data directory + MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ -z "${MY_DATADIR}" ]] ; then + die "Sorry, unable to find MY_DATADIR!" + elif [[ -d "${MY_DATADIR}/mysql" ]] ; then + ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!" + ewarn "Please rename or delete its content if you wish to initialize a new data directory." + die "${PN} data directory at '${MY_DATADIR}' looks already initialized!" + fi + + MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_TMPDIR=${MYSQL_TMPDIR%/} + # These are dir+prefix + MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} + MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + + # Create missing directories. + # Always check if mysql user can write to directory even if we just + # created directory because a parent directory might be not + # accessible for that user. + PID_DIR="${EROOT}/run/mysqld" + if [[ ! -d "${PID_DIR}" ]] ; then + einfo "Creating ${PN} PID directory '${PID_DIR}' ..." + install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \ + || die "Failed to create PID directory '${PID_DIR}'!" + fi + + local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_pid_dir_testfile}" ]] \ + && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_pid_dir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!" + else + rm "${_pid_dir_testfile}" || die + unset _pid_dir_testfile + fi + + if [[ ! -d "${MY_DATADIR}" ]] ; then + einfo "Creating ${PN} data directory '${MY_DATADIR}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \ + || die "Failed to create ${PN} data directory '${MY_DATADIR}'!" + fi + + local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_datadir_testfile}" ]] \ + && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_datadir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!" + else + rm "${_my_datadir_testfile}" || die + unset _my_datadir_testfile + fi + + if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then + einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \ + || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!" + fi + + if [[ -z "${MYSQL_TMPDIR}" ]] ; then + MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")" + [[ -z "${MYSQL_TMPDIR}" ]] \ + && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!" + + mkdir "${MYSQL_TMPDIR}" || die + chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die + fi + + # Now we need to test MYSQL_TMPDIR... + local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_tmpdir_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_tmpdir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!" + else + rm "${_my_tmpdir_testfile}" || die + unset _my_tmpdir_testfile + fi + + if [[ -n "${MYSQL_LOG_BIN}" && ! -d "${MYSQL_LOG_BIN}" ]] ; then + einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \ + || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'" + fi + + if [[ -n "${MYSQL_LOG_BIN}" ]] ; then + local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_logbin_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_logbin_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!" + else + rm "${_my_logbin_testfile}" || die + unset _my_logbin_testfile + fi + fi + + if [[ -n "${MYSQL_RELAY_LOG}" && ! -d "${MYSQL_RELAY_LOG}" ]] ; then + einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \ + || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!" + fi + + if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then + local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_relaylog_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_relaylog_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!" + else + rm "${_my_relaylog_testfile}" || die + unset _my_relaylog_testfile + fi + fi + + local mysql_install_log="$(_mktemp_dry "${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log")" + if [[ -z "${mysql_install_log}" ]] ; then + die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log' failed!" + else + # make sure file is writable for MYSQL_USER... + touch "${mysql_install_log}" || die + chown ${MYSQL_USER} "${mysql_install_log}" || die + fi + + local mysqld_logfile="$(_mktemp_dry "${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log")" + if [[ -z "${mysqld_logfile}" ]] ; then + die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log' failed!" + else + # make sure file is writable for MYSQL_USER... + touch "${mysqld_logfile}" || die + chown ${MYSQL_USER} "${mysqld_logfile}" || die + fi + + echo "" + einfo "Detected settings:" + einfo "==================" + einfo "MySQL User:\t\t\t\t${MYSQL_USER}" + einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}" + einfo "MySQL DATA directory:\t\t${MY_DATADIR}" + einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}" + + if [[ -n "${MYSQL_LOG_BIN}" ]] ; then + einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}" + fi + + if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then + einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}" + fi + + einfo "PID DIR:\t\t\t\t${PID_DIR}" + einfo "Install db log:\t\t\t${mysql_install_log}" + einfo "Install server log:\t\t\t${mysqld_logfile}" + + local -a config_files + + local config_file="${EROOT}/etc/mysql/mysql.d/50-distro-client.cnf" + if [[ -f "${config_file}" ]] ; then + config_files+=( "${config_file}" ) + else + ewarn "Client configuration '${config_file}' not found; Skipping configuration of default authentication plugin for client ..." + fi + + config_file="${EROOT}/etc/mysql/mysql.d/50-distro-server.cnf" + if [[ -f "${config_file}" ]] ; then + config_files+=( "${config_file}" ) + else + ewarn "Server configuration '${config_file}' not found; Skipping configuration of default authentication plugin for mysqld ..." + fi + + if [[ ${#config_files[@]} -gt 0 ]] ; then + if [[ -z "${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" ]] ; then + local user_answer + + echo + einfo "Please select default authentication plugin (enter number or plugin name):" + einfo "1) caching_sha2_password [MySQL 8.0 default]" + einfo "2) mysql_native_password [MySQL 5.7 default]" + einfo + einfo "For details see:" + einfo "https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password" + read -p " >" user_answer + echo + + case "${user_answer}" in + 1|caching_sha2_password) + MYSQL_DEFAULT_AUTHENTICATION_PLUGIN=caching_sha2_password + ;; + 2|mysql_native_password) + MYSQL_DEFAULT_AUTHENTICATION_PLUGIN=mysql_native_password + ;; + '') + die "No authentication plugin selected!" + ;; + *) + die "Authentication plugin '${user_answer}' is unknown/unsupported!" + ;; + esac + + echo "Selected authentication plugin: ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" >> "${mysql_install_log}" + + unset user_answer + fi + + local cfg_option cfg_option_tabs cfg_section + for config_file in "${config_files[@]}" ; do + cfg_option="default-authentication-plugin" + cfg_section="mysqld" + cfg_option_tabs="\t\t" + if [[ "${config_file}" == *client.cnf ]] ; then + cfg_option="default-auth" + cfg_section="client" + cfg_option_tabs="\t\t\t\t" + fi + + if grep -qE "^(loose-)?${cfg_option}\b.*=" "${config_file}" 2>/dev/null ; then + einfo "Ensuring that ${cfg_option} is set to '${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}' in '${config_file}' ..." + sed -i \ + -e "s/^\(loose-\)\?${cfg_option}\b.*=.*/loose-${cfg_option}${cfg_option_tabs}= ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}/" \ + "${config_file}" || die "Failed to change ${cfg_option} in '${config_file}'!" + else + einfo "Setting ${cfg_option} to '${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}' in '${config_file}' ..." + sed -i \ + -e "/^\[${cfg_section}\]$/a loose-${cfg_option}${cfg_option_tabs}= ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" \ + "${config_file}" || die "Failed to add ${cfg_option} to '${config_file}'!" + fi + done + unset cfg_option cfg_option_tabs cfg_section + fi + unset config_files config_file + + echo + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + local tmp_mysqld_password_source= + + for tmp_mysqld_password_source in mysql client ; do + einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" + if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then + if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then + ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" + MYSQL_ROOT_PASSWORD= + continue + fi + + einfo "Found password in '${tmp_mysqld_password_source}' section!" + break + fi + done + + # Sometimes --show is required to display passwords in some implementations of my_print_defaults + if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" + fi + + unset tmp_mysqld_password_source + fi + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + local pwd1="a" + local pwd2="b" + + echo + einfo "No password for mysql 'root' user was specified via environment" + einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config" + einfo "file like '${HOME}/.my.cnf'." + einfo "To continue please provide a password for the mysql 'root' user" + einfo "now on console:" + ewarn "NOTE: Please avoid [\"'\\_%] characters in the password!" + read -rsp " >" pwd1 ; echo + + einfo "Retype the password" + read -rsp " >" pwd2 ; echo + + if [[ "x$pwd1" != "x$pwd2" ]] ; then + die "Passwords are not the same!" + fi + + MYSQL_ROOT_PASSWORD="${pwd1}" + unset pwd1 pwd2 + + echo + fi + + local -a mysqld_options + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see http://bugs.mysql.com/bug.php?id=31312 + use prefix && mysqld_options+=( "--defaults-file='${MY_SYSCONFDIR}/my.cnf'" ) + + # Figure out which options we need to disable to do the setup + local helpfile="${TMPDIR}/mysqld-help" + "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null + + local opt optexp optfull + for opt in host-cache name-resolve networking slave-start \ + federated ssl log-bin relay-log slow-query-log external-locking \ + log-slave-updates \ + ; do + optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" + egrep -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" ) + done + + # Prepare timezones, see + # https://dev.mysql.com/doc/mysql/en/time-zone-support.html + local tz_sql="$(_mktemp_dry "${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql")" + [[ -z "${tz_sql}" ]] \ + && die "_mktemp_dry() for '${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql' failed!" + + echo "USE mysql;" >"${tz_sql}" + "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null + if [[ $? -ne 0 ]] ; then + die "mysql_tzinfo_to_sql failed!" + fi + + # --initialize-insecure will not set root password + # --initialize would set a random one in the log which we don't need as we set it ourselves + local cmd=( + "${mysqld_binary}" + "${mysqld_options[@]}" + "--initialize-insecure" + "--init-file='${tz_sql}'" + "--basedir='${EROOT}/usr'" + "--datadir='${MY_DATADIR}'" + "--tmpdir='${MYSQL_TMPDIR}'" + "--log-error='${mysql_install_log}'" + "--user=${MYSQL_USER}" + ) + + einfo "Initializing ${PN} data directory: ${cmd[@]}" + eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1 + + if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql.ibd" ]] ; then + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2 + die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!" + fi + + rm "${tz_sql}" || die + + local x=${RANDOM} + local socket="${EROOT}${PID_DIR}/mysqld${x}.sock" + local pidfile="${EROOT}${PID_DIR}/mysqld${x}.pid" + unset x + + cmd=( + "${mysqld_binary}" + "${mysqld_options[@]}" + "--basedir='${EROOT}/usr'" + "--datadir='${MY_DATADIR}'" + "--tmpdir='${MYSQL_TMPDIR}'" + --max_allowed_packet=8M + --net_buffer_length=16K + "--socket='${socket}'" + "--pid-file='${pidfile}'" + "--log-error='${mysqld_logfile}'" + "--user=${MYSQL_USER}" + ) + + einfo "Starting mysqld to finalize initialization: ${cmd[@]}" + eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 & + + echo -n "Waiting for mysqld to accept connections " + local maxtry=15 + while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + + if [[ -S "${socket}" ]] ; then + # Even with a socket we don't know if mysqld will abort + # start due to an error so just wait a little bit more... + maxtry=5 + while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + fi + + echo + + if [[ ! -S "${socket}" ]] ; then + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2 + die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!" + fi + + local mysql_logfile="${TMPDIR}/set_root_pw.log" + touch "${mysql_logfile}" || die + + ebegin "Setting root password" + # Do this from memory, as we don't want clear text passwords in temp files + local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'" + cmd=( + "${mysql_binary}" + --no-defaults + "--socket='${socket}'" + -hlocalhost + "-e \"${sql}\"" + ) + eval "${cmd[@]}" >"${mysql_logfile}" 2>&1 + local rc=$? + eend ${rc} + + if [[ ${rc} -ne 0 ]] ; then + # Poor man's solution which tries to avoid having password + # in log. NOTE: sed can fail if user didn't follow advice + # and included character which will require escaping... + sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null + + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}" + die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!" + fi + + # Stop the server + if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then + echo -n "Stopping the server " + pkill -F "${pidfile}" &>/dev/null + + maxtry=10 + while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + + echo + + if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then + # We somehow failed to stop server. + # However, not a fatal error. Just warn the user. + ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!" + fi + fi + + einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!" +} diff --git a/dev-db/percona-server/Manifest b/dev-db/percona-server/Manifest index eeb22d98068c..63a9178225c8 100644 --- a/dev-db/percona-server/Manifest +++ b/dev-db/percona-server/Manifest @@ -9,6 +9,9 @@ DIST mysql-extras-20190822-1908Z.tar.bz2 338830 BLAKE2B bc197f8e541206548d898281 DIST percona-server-5.7.27-30.tar.gz 84672298 BLAKE2B 8431d231f602b704195868110e8eb73adb3db7c761906c15eff182e54634ef091a3ffa0d4f3498a93dbfbf65cd5cdd12102871abaaaa0f32378ba3068d083b2b SHA512 d62c66de3128df87dce52292ad1671e01fe2c923e668ef0faf9cb663c11c9cd0b976345aea1de6ea2bc458d0e1066b42c022849e422121d96cea082ed12c8f4b DIST percona-server-8.0.19-10.tar.gz 490703179 BLAKE2B 731e9498c4934eb53451c202e8b1de93618190d9b6334b761428ab223756d515d958db77515517e6b5db3ba6cd908c8b238c18b63f4c73b256ec251f8b161ff3 SHA512 39aa805474c6655980e70c97e0d2c0f21ae16e2c1e2e9c7e1d615f46320f1615620368fbdfc24f5d1784aae856090856c3ccda3d6f09ed86c6c9ffe3197be90e DIST percona-server-8.0.19.10-patches-01.tar.xz 8288 BLAKE2B 2f79c538ac1512b052210439a27b71491917cb9eab08ac3a3b21c188458c2989f0c998d973b8dd654a7d7606acd70ccf374f1e2f5e0088d0c6b96a794dc4c4a5 SHA512 43313797ec405be82f15745185bfab25fda093045f981a8caa8a019522e432415e4b3cca4ca5ffb735d102f98b3c2fccafccbd4695bd2d1f011707f709fcc2b3 -EBUILD percona-server-5.7.27.30.ebuild 37216 BLAKE2B 980cf1ea9aeb005335ea7f7fe8d373b8b0b5c663525cfa69b6df043baa7a4e669e4c1b94d4d9b220290654761f33115ec477ac45f1a482af2baa6ee15a1e5200 SHA512 673a01611f23a5b47be6eebf42c8654d9863b167a1ec7fd35deee59336386021a4fe11391e892e68f50dd44cb2b2025f1187726ad586443ba2992027c8eb2866 -EBUILD percona-server-8.0.19.10.ebuild 38953 BLAKE2B c49bb1aa4e07ac2b191e676aab2ee4ba573768e973708d002e6b72e9815d39a21b7209acff39faf9f41d87fccafdd10a4eb5e3cd701fbab3ae6c7da4e13ead3f SHA512 6732fdfb9a226f5a582a83a3efe429a40da715b152b62c30742ebc809cb659c6869fdb9f1b97c25ea5a05922e7eda682bc0b7fef6f5276a2e3d20caa846fbaf2 +DIST percona-server-8.0.20-11.tar.gz 494288758 BLAKE2B 202f0cbd7395a6b8ae367ed96d1b6d2c6ae2a56ba6d85e8aad55a6b36a6966a0c3285836dc829e1583a46e28fd2903540e520f6347b1e8c18d99b08f58daef8b SHA512 cf8aa999bd0205bded526838246d023eae5dfadeec1aaf0be99565def5a1cdcc8041bcff90ba6a49f5e903e4f436d416181a9f134555d5c71b7cf44d2ba58a6d +DIST percona-server-8.0.20.11-patches-01.tar.xz 8668 BLAKE2B 1f598c1b381de3efe8b8605d915b0b63d04214ba4f6e51ce154a020f3e2c4d76a3b4e96b4c9c958c6949b4bdf8cc2b754875049beccdafc99b3a3ad8abf0b315 SHA512 4ca0f58bf1cbf6e7a5a33b46efa5250c28226fa7f23c1327bda050e7de3ec0f16dc46c1cd1c481d50f8b167a4c07653db8a3daf44e8f3f96bbb0aa8f8f66d5b2 +EBUILD percona-server-5.7.27.30-r1.ebuild 37272 BLAKE2B 637049d8fcae905ad4cb4d41651e53fcc0980cf307602879e8d5f0d6bcf0505ff0a9c38a7450f539db0106f4ed406f96e1e212bd2f34eb2510bb137714cd69fd SHA512 feda2f9ccb3b58a03577126aabe0483c3217ce5e0618028d442c98aa2ace7ba527dd10aafde2f679ddabe9f86c65648ea445081d78eb360d02e42cb072733425 +EBUILD percona-server-8.0.19.10-r1.ebuild 39009 BLAKE2B d7ff1b52a7e04d3158461494503cf2af8f3bf7775fbeb9d91e58a3cd85094d093aef085522af221e3b6037ec958cf4ffafbbdaf808343b8a23f5b1be40e82750 SHA512 4ffb5d0e7611cd5b388cc5846d12d2eb020325d99a14c10e42c204425360f6d5109352ea8d6dad8926fadba84df810fb10a8f21179ebd79c0e1e0b18e4c3c3e4 +EBUILD percona-server-8.0.20.11-r1.ebuild 40211 BLAKE2B d3ab946880a0ef1b96a93e740af4c10ab615df6aaea3b9655f7afd894e5ddf1e7fbfe5a1b7ef64567a9fddf52c9fc107b7ff68dd7b44a14e31f6a72fcbc8723b SHA512 df0eba7a543aec9bde21b1329c976442cc86989b838602d7beca1b9d2d0f1b91cbf6f1a778743e52c46ac44f48f01231f77956224688cfbb0878e9530cc3ed7d MISC metadata.xml 1476 BLAKE2B 45302733bbb03e6e999d60db72bed7382f664d9b46772904a35a1a8bfceccc89008e739fcead55bfb6a056523f0ff84fd22c638de859236f47a01eb8ac6c45eb SHA512 e53b29f9d78e895a26f228b7719a023dbd5957d1e10f384376b75b539a211425be143c229378af2ade5314f6b414d891bafc7e1fffde9bb88b59ff24de31a2c2 diff --git a/dev-db/percona-server/percona-server-5.7.27.30.ebuild b/dev-db/percona-server/percona-server-5.7.27.30-r1.ebuild index 300c67c70366..86283b34ba4b 100644 --- a/dev-db/percona-server/percona-server-5.7.27.30.ebuild +++ b/dev-db/percona-server/percona-server-5.7.27.30-r1.ebuild @@ -34,7 +34,7 @@ fi HOMEPAGE="https://www.percona.com/software/mysql-database/percona-server" DESCRIPTION="A fast, multi-threaded, multi-user SQL database server" LICENSE="GPL-2" -SLOT="0/18" +SLOT="5.7/18" IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa pam +perl profiling rocksdb selinux +server static static-libs systemtap tcmalloc test tokudb tokudb-backup-plugin yassl" @@ -142,6 +142,8 @@ DEPEND="${COMMON_DEPEND} " RDEPEND="${COMMON_DEPEND} !dev-db/mariadb !dev-db/mariadb-galera !dev-db/mysql !dev-db/mysql-cluster + !dev-db/percona-server:0 + !dev-db/percona-server:8.0 client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= ) selinux? ( sec-policy/selinux-mysql ) server? ( diff --git a/dev-db/percona-server/percona-server-8.0.19.10.ebuild b/dev-db/percona-server/percona-server-8.0.19.10-r1.ebuild index 58abf336ca0c..44544aaf5cc7 100644 --- a/dev-db/percona-server/percona-server-8.0.19.10.ebuild +++ b/dev-db/percona-server/percona-server-8.0.19.10-r1.ebuild @@ -27,7 +27,7 @@ SRC_URI="https://www.percona.com/downloads/${MY_PN}-${MY_MAJOR_PV}/${MY_PN}-${MY HOMEPAGE="https://www.percona.com/software/mysql-database/percona-server https://github.com/percona/percona-server" DESCRIPTION="Fully compatible, enhanced and open source drop-in replacement for MySQL" LICENSE="GPL-2" -SLOT="0" +SLOT="8.0" IUSE="cjk cracklib debug jemalloc latin1 libressl numa pam +perl profiling rocksdb router selinux +server tcmalloc test tokudb tokudb-backup-plugin" @@ -84,6 +84,8 @@ DEPEND="${COMMON_DEPEND} " RDEPEND="${COMMON_DEPEND} !dev-db/mariadb !dev-db/mariadb-galera !dev-db/mysql !dev-db/mysql-cluster + !dev-db/percona-server:0 + !dev-db/percona-server:5.7 selinux? ( sec-policy/selinux-mysql ) !prefix? ( acct-group/mysql acct-user/mysql diff --git a/dev-db/percona-server/percona-server-8.0.20.11-r1.ebuild b/dev-db/percona-server/percona-server-8.0.20.11-r1.ebuild new file mode 100644 index 000000000000..dd3addaa154d --- /dev/null +++ b/dev-db/percona-server/percona-server-8.0.20.11-r1.ebuild @@ -0,0 +1,1214 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +CMAKE_MAKEFILE_GENERATOR=emake + +inherit cmake flag-o-matic linux-info \ + multiprocessing prefix toolchain-funcs check-reqs + +MY_BOOST_VERSION="1.70.0" +MY_PV=$(ver_rs 3 '-') +MY_PV="${MY_PV//_pre*}" +MY_PN="Percona-Server" +MY_P="${PN}-${MY_PV}" +MY_MAJOR_PV=$(ver_cut 1-2) +MY_RELEASE_NOTES_URI="https://www.percona.com/doc/percona-server/${MY_MAJOR_PV}/" + +# Patch version +PATCH_SET="https://dev.gentoo.org/~whissi/dist/percona-server/${PN}-8.0.20.11-patches-01.tar.xz" + +SRC_URI="https://www.percona.com/downloads/${MY_PN}-${MY_MAJOR_PV}/${MY_PN}-${MY_PV}/source/tarball/${PN}-${MY_PV}.tar.gz + https://dl.bintray.com/boostorg/release/${MY_BOOST_VERSION}/source/boost_$(ver_rs 1- _ ${MY_BOOST_VERSION}).tar.bz2 + ${PATCH_SET} +" + +HOMEPAGE="https://www.percona.com/software/mysql-database/percona-server https://github.com/percona/percona-server" +DESCRIPTION="Fully compatible, enhanced and open source drop-in replacement for MySQL" +LICENSE="GPL-2" +SLOT="8.0" +IUSE="cjk cracklib debug jemalloc latin1 ldap libressl numa pam +perl profiling + rocksdb router selinux +server tcmalloc test tokudb tokudb-backup-plugin" + +# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests +RESTRICT="!test? ( test ) libressl? ( test )" + +REQUIRED_USE="?? ( tcmalloc jemalloc ) + cjk? ( server ) + jemalloc? ( server ) + numa? ( server ) + profiling? ( server ) + router? ( server ) + tcmalloc? ( server )" + +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" + +# Shorten the path because the socket path length must be shorter than 107 chars +# and we will run a mysql server during test phase +S="${WORKDIR}/mysql" + +# Be warned, *DEPEND are version-dependant +# These are used for both runtime and compiletime +COMMON_DEPEND=" + >=app-arch/lz4-0_p131:= + sys-libs/ncurses:0= + >=sys-libs/zlib-1.2.3:0= + libressl? ( dev-libs/libressl:0= ) + !libressl? ( >=dev-libs/openssl-1.0.0:0= ) + server? ( + dev-libs/icu:= + dev-libs/libevent:= + >=dev-libs/protobuf-3.8:= + net-libs/libtirpc:= + net-misc/curl:= + cjk? ( app-text/mecab:= ) + ldap? ( + dev-libs/cyrus-sasl + net-nds/openldap + ) + jemalloc? ( dev-libs/jemalloc:0= ) + kernel_linux? ( + dev-libs/libaio:0= + sys-process/procps:0= + ) + numa? ( sys-process/numactl ) + pam? ( sys-libs/pam:0= ) + tcmalloc? ( dev-util/google-perftools:0= ) + ) +" +DEPEND="${COMMON_DEPEND} + || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) + virtual/yacc + server? ( net-libs/rpcsvc-proto ) + test? ( + acct-group/mysql acct-user/mysql + dev-perl/JSON + ) +" +RDEPEND="${COMMON_DEPEND} + !dev-db/mariadb !dev-db/mariadb-galera !dev-db/mysql !dev-db/mysql-cluster + !dev-db/percona-server:0 + !dev-db/percona-server:5.7 + selinux? ( sec-policy/selinux-mysql ) + !prefix? ( + acct-group/mysql acct-user/mysql + dev-db/mysql-init-scripts + ) +" +# For other stuff to bring us in +# dev-perl/DBD-mysql is needed by some scripts installed by MySQL +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" + +CHECKREQS_DISK_BUILD="9G" + +mysql_init_vars() { + : ${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mysql"} + : ${MY_SYSCONFDIR="${EPREFIX}/etc/mysql"} + : ${MY_LOCALSTATEDIR="${EPREFIX}/var/lib/mysql"} + : ${MY_LOGDIR="${EPREFIX}/var/log/mysql"} + MY_DATADIR="${MY_LOCALSTATEDIR}" + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use server ; then + CHECKREQS_DISK_BUILD="3G" + + if has test $FEATURES ; then + CHECKREQS_DISK_BUILD="9G" + fi + + check-reqs_pkg_pretend + fi + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + CHECKREQS_DISK_BUILD="3G" + + if has test ${FEATURES} ; then + CHECKREQS_DISK_BUILD="9G" + + # Bug #213475 - MySQL _will_ object strenuously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if ! has userpriv ${FEATURES} ; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + + local aio_max_nr=$(sysctl -n fs.aio-max-nr 2>/dev/null) + [[ -z "${aio_max_nr}" || ${aio_max_nr} -lt 250000 ]] \ + && die "FEATURES=test will require fs.aio-max-nr=250000 at minimum!" + + if use latin1 ; then + # Upstream only supports tests with default charset + die "Testing with USE=latin1 is not supported." + fi + fi + + if use kernel_linux ; then + if use numa ; then + linux-info_get_any_version + + local CONFIG_CHECK="~NUMA" + + local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;" + WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support" + + check_extra_config + fi + fi + + use server && check-reqs_pkg_setup + fi +} + +src_unpack() { + unpack ${A} + + mv -f "${WORKDIR}/${MY_P}" "${S}" || die +} + +src_prepare() { + eapply "${WORKDIR}"/mysql-patches + + # Avoid rpm call which would trigger sandbox, #692368 + sed -i \ + -e 's/MY_RPM rpm/MY_RPM rpmNOTEXISTENT/' \ + CMakeLists.txt || die + + if use jemalloc ; then + echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die + fi + + if use tcmalloc ; then + echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die + fi + + # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux + if [[ -d "${S}/support-files/SELinux" ]] ; then + echo > "${S}/support-files/SELinux/CMakeLists.txt" || die + fi + + # Remove man pages for client-lib tools we don't install + rm \ + man/my_print_defaults.1 \ + man/perror.1 \ + man/zlib_decompress.1 \ + || die + + cmake_src_prepare +} + +src_configure() { + # Bug #114895, bug #110149 + filter-flags "-O" "-O[01]" + + append-cxxflags -felide-constructors + + # bug #283926, with GCC4.4, this is required to get correct behavior. + append-flags -fno-strict-aliasing + + CMAKE_BUILD_TYPE="RelWithDebInfo" + + # debug hack wrt #497532 + mycmakeargs=( + -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" + -DSYSCONFDIR="${EPREFIX}/etc/mysql" + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLSHAREDIR=share/mysql + -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin + -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql" + -DCOMPILATION_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + # Using bundled editline to get CTRL+C working + -DWITH_EDITLINE=bundled + -DWITH_ZLIB=system + -DWITH_SSL=system + -DWITH_LIBWRAP=0 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DWITH_DEFAULT_FEATURE_SET=0 + # The build forces this to be defined when cross-compiling. We pass it + # all the time for simplicity and to make sure it is actually correct. + -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) + -DCMAKE_POSITION_INDEPENDENT_CODE=ON + -DWITH_CURL=system + -DWITH_BOOST="${WORKDIR}/boost_$(ver_rs 1- _ ${MY_BOOST_VERSION})" + -DWITH_ROUTER=$(usex router ON OFF) + ) + + if is-flagq -fno-lto ; then + einfo "LTO disabled via {C,CXX,F,FC}FLAGS" + mycmakeargs+=( -DWITH_LTO=OFF ) + elif is-flagq -flto ; then + einfo "LTO forced via {C,CXX,F,FC}FLAGS" + myconf+=( -DWITH_LTO=ON ) + else + # Disable automagic + myconf+=( -DWITH_LTO=OFF ) + fi + + if use test ; then + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test ) + else + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) + fi + + mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES ) + + mycmakeargs+=( + -DWITH_ICU=system + -DWITH_LZ4=system + # Our dev-libs/rapidjson doesn't carry necessary fixes for std::regex + -DWITH_RAPIDJSON=bundled + ) + + if [[ -n "${MYSQL_DEFAULT_CHARSET}" && -n "${MYSQL_DEFAULT_COLLATION}" ]] ; then + ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" + ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." + ewarn "You MUST file bugs without these variables set." + ewarn "Tests will probably fail!" + + mycmakeargs+=( + -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} + -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} + ) + elif use latin1 ; then + mycmakeargs+=( + -DDEFAULT_CHARSET=latin1 + -DDEFAULT_COLLATION=latin1_swedish_ci + ) + else + mycmakeargs+=( + -DDEFAULT_CHARSET=utf8mb4 + -DDEFAULT_COLLATION=utf8mb4_0900_ai_ci + ) + fi + + if use server ; then + mycmakeargs+=( + -DWITH_AUTHENTICATION_LDAP=$(usex ldap system OFF) + -DWITH_EXTRA_CHARSETS=all + -DWITH_DEBUG=$(usex debug) + -DWITH_MECAB=$(usex cjk system OFF) + -DWITH_LIBEVENT=system + -DWITH_PROTOBUF=system + -DWITH_NUMA=$(usex numa ON OFF) + -DWITH_PAM=$(usex pam) + ) + + if use profiling ; then + # Setting to OFF doesn't work: Once set, profiling options will be added + # to `mysqld --help` output via sql/sys_vars.cc causing + # "main.mysqld--help-notwin" test to fail + mycmakeargs+=( -DENABLED_PROFILING=ON ) + fi + + # Storage engines + mycmakeargs+=( + -DWITH_EXAMPLE_STORAGE_ENGINE=0 + -DWITH_ARCHIVE_STORAGE_ENGINE=1 + -DWITH_BLACKHOLE_STORAGE_ENGINE=1 + -DWITH_CSV_STORAGE_ENGINE=1 + -DWITH_FEDERATED_STORAGE_ENGINE=1 + -DWITH_HEAP_STORAGE_ENGINE=1 + -DWITH_INNOBASE_STORAGE_ENGINE=1 + -DWITH_INNODB_MEMCACHED=0 + -DWITH_MYISAMMRG_STORAGE_ENGINE=1 + -DWITH_MYISAM_STORAGE_ENGINE=1 + -DWITH_ROCKSDB=$(usex rocksdb 1 0) + -DWITH_TOKUDB=$(usex tokudb 1 0) + ) + else + mycmakeargs+=( + -DWITHOUT_SERVER=1 + -DWITH_SYSTEMD=no + ) + fi + + cmake_src_configure +} + +# Official test instructions: +# ulimit -n 16500 && \ +# USE='perl server' \ +# FEATURES='test userpriv' \ +# ebuild mysql-X.X.XX.ebuild \ +# digest clean package +src_test() { + _disable_test() { + local rawtestname bug reason + rawtestname="${1}" ; shift + bug="${1}" ; shift + reason="${@}" + ewarn "test '${rawtestname}' disabled: '${reason}' (BUG#${bug})" + echo ${rawtestname} : BUG#${bug} ${reason} >> "${T}/disabled.def" + } + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + # Run CTest (test-units) + cmake_src_test + retstatus_unit=$? + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + + if [[ -z "${MTR_PARALLEL}" ]] ; then + local -x MTR_PARALLEL=$(makeopts_jobs) + + if [[ ${MTR_PARALLEL} -gt 4 ]] ; then + # Running multiple tests in parallel usually require higher ulimit + # and fs.aio-max-nr setting. In addition, tests like main.multi_update + # are known to hit timeout when system is busy. + # To avoid test failure we will limit MTR_PARALLEL to 4 instead of + # using "auto". + local info_msg="Parallel MySQL test suite jobs limited to 4 (MAKEOPTS=${MTR_PARALLEL})" + info_msg+=" to avoid test failures. Set MTR_PARALLEL if you know what you are doing!" + einfo "${info_msg}" + unset info_msg + MTR_PARALLEL=4 + fi + else + einfo "MTR_PARALLEL is set to '${MTR_PARALLEL}'" + fi + + # create directories because mysqladmin might run out of order + mkdir -p "${T}"/var-tests{,/log} || die + + # Run mysql tests + pushd "${TESTDIR}" &>/dev/null || die + + touch "${T}/disabled.def" + + local -a disabled_tests + disabled_tests+=( "auth_sec.keyring_file_data_qa;0;Won't work with user privileges" ) + disabled_tests+=( "gis.spatial_analysis_functions_buffer;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.gis_bugs_crashes;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.geometry_class_attri_prop;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.spatial_utility_function_distance_sphere;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.geometry_property_function_issimple;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.spatial_analysis_functions_centroid;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.spatial_operators_intersection;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.spatial_utility_function_simplify;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.spatial_op_testingfunc_mix;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "gis.spatial_analysis_functions_distance;5452;Known rounding error with latest AMD processors (PS)" ) + disabled_tests+=( "group_replication.gr_ssl_options2;0;Sporadic failing test" ) + disabled_tests+=( "innodb.percona_changed_page_bmp_flush;6807;False positive on Gentoo (PS)" ) + disabled_tests+=( "innodb.percona_changed_page_bmp_log_resize;0;Sporadic failing test" ) + disabled_tests+=( "innodb.percona_log_encrypt_failure;0;Requires proper keyring setup" ) + disabled_tests+=( "innodb.percona_log_encrypt_change_mk;6039;False positive on Gentoo (PS)" ) + disabled_tests+=( "innodb.percona_log_encrypt_change_rk;6805;False positive on Gentoo (PS)" ) + disabled_tests+=( "innodb.upgrade_orphan;0;Sporadic failing test" ) + disabled_tests+=( "main.myisam-blob;0;Sporadic failing test" ) + disabled_tests+=( "main.mysqlpump_basic_lz4;6042;Extra tool output causes false positive" ) + disabled_tests+=( "main.ssl_bug75311;5996;Known test failure" ) + disabled_tests+=( "main.ssl_san;6808;False positive on IPv6-enabled hosts" ) + disabled_tests+=( "main.window_std_var;0;Known rounding error with latest AMD processors -- no upstream bug yet" ) + disabled_tests+=( "main.window_std_var_optimized;0;Known rounding error with latest AMD processors -- no upstream bug yet" ) + disabled_tests+=( "main.with_recursive;6804;Known rounding error with latest AMD processors" ) + disabled_tests+=( "rpl_gtid.rpl_gtid_stm_drop_table;90612;Known test failure" ) + disabled_tests+=( "rpl_gtid.rpl_multi_source_mtr_includes;0;Know failure - no upstream bug yet" ) + disabled_tests+=( "sys_vars.myisam_data_pointer_size_func;87935;Test will fail on slow hardware" ) + disabled_tests+=( "x.message_compressed_payload;0;False positive caused by protobuff-3.11+" ) + disabled_tests+=( "x.message_protobuf_nested;6803;False positive caused by protobuff-3.11+" ) + + # Known test failures due to expired SSL certificates -- fixed in 8.0.22 + disabled_tests+=( "auth_sec.admin_ssl_crl_crlpath;100055;Fixed in 8.0.22" ) + disabled_tests+=( "auth_sec.admin_ssl_crl;100055;Fixed in 8.0.22" ) + disabled_tests+=( "auth_sec.server_withssl_client_withssl;100055;Fixed in 8.0.22" ) + disabled_tests+=( "main.ssl_crl_clients_valid;100055;Fixed in 8.0.22" ) + disabled_tests+=( "main.ssl_crl;100055;Fixed in 8.0.22" ) + disabled_tests+=( "main.ssl_crl_crlpath;100055;Fixed in 8.0.22" ) + disabled_tests+=( "main.ssl_ca;100055;Fixed in 8.0.22" ) + + if ! hash zip 1>/dev/null 2>&1 ; then + # no need to force dep app-arch/zip for one test + disabled_tests+=( "innodb.partition_upgrade_create;0;Requires app-arch/zip" ) + fi + + local test_ds + for test_infos_str in "${disabled_tests[@]}" ; do + IFS=';' read -r -a test_infos_arr <<< "${test_infos_str}" + + if [[ ${#test_infos_arr[@]} != 3 ]] ; then + die "Invalid test data set, not matching format: ${test_infos_str}" + fi + + _disable_test "${test_infos_arr[0]}" "${test_infos_arr[1]}" "${test_infos_arr[2]}" + done + unset test_ds test_infos_str test_infos_arr + + if [[ -z "${MTR_VAULT_TOKEN}" ]] ; then + local impossible_test + for impossible_test in \ + encryption.default_table_encryption_var \ + keyring_vault.innodb_online_alter_encryption \ + keyring_vault.innodb_row_log_encryption \ + keyring_vault.install_keyring_vault \ + keyring_vault.keyring_udf \ + keyring_vault.keyring_vault_config \ + keyring_vault.keyring_vault_config_qa \ + keyring_vault.keyring_vault_timeout \ + keyring_vault.key_rotation_qa \ + keyring_vault.rpl_key_rotation \ + keyring_vault.table_encrypt_2 \ + keyring_vault.table_encrypt_2_directory \ + keyring_vault.table_encrypt_2_keyring \ + keyring_vault.table_encrypt_5 \ + keyring_vault.table_encrypt_5_directory \ + keyring_vault.table_encrypt_kill \ + keyring_vault.temp_table_encrypt_keyring_vault \ + ; do + _disable_test "${impossible_test}" "0" "MTR_VAULT_TOKEN is not set" + done + fi + + # Try to increase file limits to increase test coverage + if ! ulimit -n 16500 1>/dev/null 2>&1 ; then + # Upper limit comes from parts.partition_* tests + ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager." + + if ! ulimit -n 4162 1>/dev/null 2>&1 ; then + # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)' + ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager." + + if ! ulimit -n 3000 1>/dev/null 2>&1 ; then + ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager." + else + einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 4162 (medium test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 16500 (best test coverage)." + fi + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" + retstatus_tests=$? + + popd &>/dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + local failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" +} + +src_install() { + cmake_src_install + + # Make sure the vars are correctly initialized + mysql_init_vars + + # Convenience links + einfo "Making Convenience links for mysqlcheck multi-call binary" + dosym "mysqlcheck" "/usr/bin/mysqlanalyze" + dosym "mysqlcheck" "/usr/bin/mysqlrepair" + dosym "mysqlcheck" "/usr/bin/mysqloptimize" + + # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir + if [[ -d "${ED}/usr/data" ]] ; then + rm -Rf "${ED}/usr/data" || die + fi + + # Unless they explicitly specific USE=test, then do not install the + # testsuite. It DOES have a use to be installed, esp. when you want to do a + # validation of your database configuration after tuning it. + if ! use test ; then + rm -rf "${ED}/${MY_SHAREDSTATEDIR#${EPREFIX}}/mysql-test" + fi + + # Configuration stuff + einfo "Building default configuration ..." + insinto "${MY_SYSCONFDIR#${EPREFIX}}" + [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf + cp "${FILESDIR}/my.cnf-5.7" "${TMPDIR}/my.cnf" || die + eprefixify "${TMPDIR}/my.cnf" + doins "${TMPDIR}/my.cnf" + insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d" + cp "${FILESDIR}/my.cnf-8.0.distro-client" "${TMPDIR}/50-distro-client.cnf" || die + eprefixify "${TMPDIR}/50-distro-client.cnf" + doins "${TMPDIR}/50-distro-client.cnf" + + mycnf_src="my.cnf-8.0.distro-server" + sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ + "${FILESDIR}/${mycnf_src}" \ + > "${TMPDIR}/my.cnf.ok" || die + + if use prefix ; then + sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ + "${TMPDIR}/my.cnf.ok" || die + fi + + if use latin1 ; then + sed -i \ + -e "/character-set/s|utf8mb4|latin1|g" \ + "${TMPDIR}/my.cnf.ok" || die + fi + + eprefixify "${TMPDIR}/my.cnf.ok" + + newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf + + #Remove mytop if perl is not selected + [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" + + if use router ; then + rm -rf \ + "${ED}/usr/LICENSE.router" \ + "${ED}/usr/README.router" \ + "${ED}/usr/run" \ + "${ED}/usr/var" \ + || die + fi + + # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them. + find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die +} + +pkg_postinst() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Create log directory securely if it does not exist + # NOTE: $MY_LOGDIR contains $EPREFIX by default + [[ -d "${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${MY_LOGDIR}" + + # Note about configuration change + einfo + elog "This version of ${PN} reorganizes the configuration from a single my.cnf" + elog "to several files in /etc/mysql/mysql.d." + elog "Please backup any changes you made to /etc/mysql/my.cnf" + elog "and add them as a new file under /etc/mysql/mysql.d with a .cnf extension." + elog "You may have as many files as needed and they are read alphabetically." + elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." + einfo + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + einfo + elog "You might want to run:" + elog " \"emerge --config =${CATEGORY}/${PF}\"" + elog "if this is a new install." + einfo + else + einfo + elog "Upgrade process for ${PN}-8.x has changed. Please read" + elog "https://dev.mysql.com/doc/refman/8.0/en/upgrade-binary-package.html" + einfo + fi +} + +pkg_config() { + _getoptval() { + local section="$1" + local flag="--${2}=" + local extra_options="${3}" + local cmd=( + "${my_print_defaults_binary}" + "${extra_options}" + "${section}" + ) + local results=( $(eval "${cmd[@]}" 2>/dev/null | sed -n "/^${flag}/s,${flag},,gp") ) + + if [[ ${#results[@]} -gt 0 ]] ; then + # When option is set multiple times only return last value + echo "${results[-1]}" + fi + } + + _mktemp_dry() { + # emktemp has no --dry-run option + local template="${1}" + + if [[ -z "${template}" ]] ; then + if [[ -z "${T}" ]] ; then + template="/tmp/XXXXXXX" + else + template="${T}/XXXXXXX" + fi + fi + + local template_wo_X=${template//X/} + local n_X + let n_X=${#template}-${#template_wo_X} + if [[ ${n_X} -lt 3 ]] ; then + echo "${FUNCNAME[0]}: too few X's in template ‘${template}’" >&2 + return + fi + + local attempts=0 + local character tmpfile + while [[ true ]] ; do + let attempts=attempts+1 + + new_file= + while read -n1 character ; do + if [[ "${character}" == "X" ]] ; then + tmpfile+="${RANDOM:0:1}" + else + tmpfile+="${character}" + fi + done < <(echo -n "${template}") + + if [[ ! -f "${tmpfile}" ]] + then + echo "${tmpfile}" + return + fi + + if [[ ${attempts} -ge 100 ]] ; then + echo "${FUNCNAME[0]}: Cannot create temporary file after 100 attempts." >&2 + return + fi + done + } + + local mysqld_binary="${EROOT}/usr/sbin/mysqld" + if [[ ! -x "${mysqld_binary}" ]] ; then + die "'${mysqld_binary}' not found! Please re-install ${CATEGORY}/${PN}!" + fi + + local mysql_binary="${EROOT}/usr/bin/mysql" + if [[ ! -x "${mysql_binary}" ]] ; then + die "'${mysql_binary}' not found! Please re-install ${CATEGORY}/${PN}!" + fi + + local my_print_defaults_binary="${EROOT}/usr/bin/my_print_defaults" + if [[ ! -x "${my_print_defaults_binary}" ]] ; then + die "'${my_print_defaults_binary}' not found! Please re-install dev-db/mysql-connector-c!" + fi + + if [[ -z "${MYSQL_USER}" ]] ; then + MYSQL_USER=mysql + if use prefix ; then + MYSQL_USER=$(id -u -n 2>/dev/null) + if [[ -z "${MYSQL_USER}" ]] ; then + die "Failed to determine current username!" + fi + fi + fi + + if [[ -z "${MYSQL_GROUP}" ]] ; then + MYSQL_GROUP=mysql + if use prefix ; then + MYSQL_GROUP=$(id -g -n 2>/dev/null) + if [[ -z "${MYSQL_GROUP}" ]] ; then + die "Failed to determine current user groupname!" + fi + fi + fi + + # my_print_defaults needs to read stuff in $HOME/.my.cnf + local -x HOME="${EROOT}/root" + + # Make sure the vars are correctly initialized + mysql_init_vars + + # Read currently set data directory + MY_DATADIR="$(_getoptval mysqld datadir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ -z "${MY_DATADIR}" ]] ; then + die "Sorry, unable to find MY_DATADIR!" + elif [[ -d "${MY_DATADIR}/mysql" ]] ; then + ewarn "Looks like your data directory '${MY_DATADIR}' is already initialized!" + ewarn "Please rename or delete its content if you wish to initialize a new data directory." + die "${PN} data directory at '${MY_DATADIR}' looks already initialized!" + fi + + MYSQL_TMPDIR="$(_getoptval mysqld tmpdir "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + # These are dir+prefix + MYSQL_LOG_BIN="$(_getoptval mysqld log-bin "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} + MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log "--defaults-file='${MY_SYSCONFDIR}/my.cnf'")" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + + # Create missing directories. + # Always check if mysql user can write to directory even if we just + # created directory because a parent directory might be not + # accessible for that user. + PID_DIR="${EROOT}/run/mysqld" + if [[ ! -d "${PID_DIR}" ]] ; then + einfo "Creating ${PN} PID directory '${PID_DIR}' ..." + install -d -m 755 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${PID_DIR}" \ + || die "Failed to create PID directory '${PID_DIR}'!" + fi + + local _pid_dir_testfile="$(_mktemp_dry "${PID_DIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_pid_dir_testfile}" ]] \ + && die "_mktemp_dry() for '${PID_DIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_pid_dir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_pid_dir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into PID dir '${PID_DIR}'!" + else + rm "${_pid_dir_testfile}" || die + unset _pid_dir_testfile + fi + + if [[ ! -d "${MY_DATADIR}" ]] ; then + einfo "Creating ${PN} data directory '${MY_DATADIR}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MY_DATADIR}" \ + || die "Failed to create ${PN} data directory '${MY_DATADIR}'!" + fi + + local _my_datadir_testfile="$(_mktemp_dry "${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_datadir_testfile}" ]] \ + && die "_mktemp_dry() for '${MY_DATADIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_datadir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_datadir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into data directory '${MY_DATADIR}'!" + else + rm "${_my_datadir_testfile}" || die + unset _my_datadir_testfile + fi + + if [[ -n "${MYSQL_TMPDIR}" && ! -d "${MYSQL_TMPDIR}" ]] ; then + einfo "Creating ${PN} tmpdir '${MYSQL_TMPDIR}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_TMPDIR}" \ + || die "Failed to create ${PN} tmpdir '${MYSQL_TMPDIR}'!" + fi + + if [[ -z "${MYSQL_TMPDIR}" ]] ; then + MYSQL_TMPDIR="$(_mktemp_dry "${EROOT}/tmp/mysqld-tmp.XXXXXXXXX")" + [[ -z "${MYSQL_TMPDIR}" ]] \ + && die "_mktemp_dry() for '${MYSQL_TMPDIR}' failed!" + + mkdir "${MYSQL_TMPDIR}" || die + chown ${MYSQL_USER} "${MYSQL_TMPDIR}" || die + fi + + # Now we need to test MYSQL_TMPDIR... + local _my_tmpdir_testfile="$(_mktemp_dry "${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_tmpdir_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_TMPDIR}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_tmpdir_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_tmpdir_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into tmpdir '${MYSQL_TMPDIR}'!" + else + rm "${_my_tmpdir_testfile}" || die + unset _my_tmpdir_testfile + fi + + if [[ -n "${MYSQL_LOG_BIN}" && ! -d "${MYSQL_LOG_BIN}" ]] ; then + einfo "Creating ${PN} log-bin directory '${MYSQL_LOG_BIN}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_LOG_BIN}" \ + || die "Failed to create ${PN} log-bin directory '${MYSQL_LOG_BIN}'" + fi + + if [[ -n "${MYSQL_LOG_BIN}" ]] ; then + local _my_logbin_testfile="$(_mktemp_dry "${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_logbin_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_LOG_BIN}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_logbin_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_logbin_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into log-bin directory '${MYSQL_LOG_BIN}'!" + else + rm "${_my_logbin_testfile}" || die + unset _my_logbin_testfile + fi + fi + + if [[ -n "${MYSQL_RELAY_LOG}" && ! -d "${MYSQL_RELAY_LOG}" ]] ; then + einfo "Creating ${PN} relay-log directory '${MYSQL_RELAY_LOG}' ..." + install -d -m 770 -o ${MYSQL_USER} -g ${MYSQL_GROUP} "${MYSQL_RELAY_LOG}" \ + || die "Failed to create ${PN} relay-log directory '${MYSQL_RELAY_LOG}'!" + fi + + if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then + local _my_relaylog_testfile="$(_mktemp_dry "${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX")" + [[ -z "${_my_relaylog_testfile}" ]] \ + && die "_mktemp_dry() for '${MYSQL_RELAY_LOG}/.pkg_config-access-test.XXXXXXXXX' failed!" + + if use prefix ; then + touch "${_my_relaylog_testfile}" &>/dev/null + else + su -s /bin/sh -c "touch ${_my_relaylog_testfile}" ${MYSQL_USER} &>/dev/null + fi + + if [[ $? -ne 0 ]] ; then + die "${MYSQL_USER} user cannot write into relay-log directory '${MYSQL_RELAY_LOG}'!" + else + rm "${_my_relaylog_testfile}" || die + unset _my_relaylog_testfile + fi + fi + + local mysql_install_log="$(_mktemp_dry "${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log")" + if [[ -z "${mysql_install_log}" ]] ; then + die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_db.XXXXXXXXX.log' failed!" + else + # make sure file is writable for MYSQL_USER... + touch "${mysql_install_log}" || die + chown ${MYSQL_USER} "${mysql_install_log}" || die + fi + + local mysqld_logfile="$(_mktemp_dry "${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log")" + if [[ -z "${mysqld_logfile}" ]] ; then + die "_mktemp_dry() for '${MYSQL_TMPDIR}/install_mysqld.XXXXXXXXX.log' failed!" + else + # make sure file is writable for MYSQL_USER... + touch "${mysqld_logfile}" || die + chown ${MYSQL_USER} "${mysqld_logfile}" || die + fi + + echo "" + einfo "Detected settings:" + einfo "==================" + einfo "MySQL User:\t\t\t\t${MYSQL_USER}" + einfo "MySQL Group:\t\t\t\t${MYSQL_GROUP}" + einfo "MySQL DATA directory:\t\t${MY_DATADIR}" + einfo "MySQL TMP directory:\t\t\t${MYSQL_TMPDIR}" + + if [[ -n "${MYSQL_LOG_BIN}" ]] ; then + einfo "MySQL Binary Log File location:\t${MYSQL_LOG_BIN}" + fi + + if [[ -n "${MYSQL_RELAY_LOG}" ]] ; then + einfo "MySQL Relay Log File location:\t${MYSQL_RELAY_LOG}" + fi + + einfo "PID DIR:\t\t\t\t${PID_DIR}" + einfo "Install db log:\t\t\t${mysql_install_log}" + einfo "Install server log:\t\t\t${mysqld_logfile}" + + local -a config_files + + local config_file="${EROOT}/etc/mysql/mysql.d/50-distro-client.cnf" + if [[ -f "${config_file}" ]] ; then + config_files+=( "${config_file}" ) + else + ewarn "Client configuration '${config_file}' not found; Skipping configuration of default authentication plugin for client ..." + fi + + config_file="${EROOT}/etc/mysql/mysql.d/50-distro-server.cnf" + if [[ -f "${config_file}" ]] ; then + config_files+=( "${config_file}" ) + else + ewarn "Server configuration '${config_file}' not found; Skipping configuration of default authentication plugin for mysqld ..." + fi + + if [[ ${#config_files[@]} -gt 0 ]] ; then + if [[ -z "${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" ]] ; then + local user_answer + + echo + einfo "Please select default authentication plugin (enter number or plugin name):" + einfo "1) caching_sha2_password [MySQL 8.0 default]" + einfo "2) mysql_native_password [MySQL 5.7 default]" + einfo + einfo "For details see:" + einfo "https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password" + read -p " >" user_answer + echo + + case "${user_answer}" in + 1|caching_sha2_password) + MYSQL_DEFAULT_AUTHENTICATION_PLUGIN=caching_sha2_password + ;; + 2|mysql_native_password) + MYSQL_DEFAULT_AUTHENTICATION_PLUGIN=mysql_native_password + ;; + '') + die "No authentication plugin selected!" + ;; + *) + die "Authentication plugin '${user_answer}' is unknown/unsupported!" + ;; + esac + + echo "Selected authentication plugin: ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" >> "${mysql_install_log}" + + unset user_answer + fi + + local cfg_option cfg_option_tabs cfg_section + for config_file in "${config_files[@]}" ; do + cfg_option="default-authentication-plugin" + cfg_section="mysqld" + cfg_option_tabs="\t\t" + if [[ "${config_file}" == *client.cnf ]] ; then + cfg_option="default-auth" + cfg_section="client" + cfg_option_tabs="\t\t\t\t" + fi + + if grep -qE "^(loose-)?${cfg_option}\b.*=" "${config_file}" 2>/dev/null ; then + einfo "Ensuring that ${cfg_option} is set to '${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}' in '${config_file}' ..." + sed -i \ + -e "s/^\(loose-\)\?${cfg_option}\b.*=.*/loose-${cfg_option}${cfg_option_tabs}= ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}/" \ + "${config_file}" || die "Failed to change ${cfg_option} in '${config_file}'!" + else + einfo "Setting ${cfg_option} to '${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}' in '${config_file}' ..." + sed -i \ + -e "/^\[${cfg_section}\]$/a loose-${cfg_option}${cfg_option_tabs}= ${MYSQL_DEFAULT_AUTHENTICATION_PLUGIN}" \ + "${config_file}" || die "Failed to add ${cfg_option} to '${config_file}'!" + fi + done + unset cfg_option cfg_option_tabs cfg_section + fi + unset config_files config_file + + echo + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + local tmp_mysqld_password_source= + + for tmp_mysqld_password_source in mysql client ; do + einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" + if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then + if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then + ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" + MYSQL_ROOT_PASSWORD= + continue + fi + + einfo "Found password in '${tmp_mysqld_password_source}' section!" + break + fi + done + + # Sometimes --show is required to display passwords in some implementations of my_print_defaults + if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" + fi + + unset tmp_mysqld_password_source + fi + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + local pwd1="a" + local pwd2="b" + + echo + einfo "No password for mysql 'root' user was specified via environment" + einfo "variable MYSQL_ROOT_PASSWORD and no password was found in config" + einfo "file like '${HOME}/.my.cnf'." + einfo "To continue please provide a password for the mysql 'root' user" + einfo "now on console:" + ewarn "NOTE: Please avoid [\"'\\_%] characters in the password!" + read -rsp " >" pwd1 ; echo + + einfo "Retype the password" + read -rsp " >" pwd2 ; echo + + if [[ "x$pwd1" != "x$pwd2" ]] ; then + die "Passwords are not the same!" + fi + + MYSQL_ROOT_PASSWORD="${pwd1}" + unset pwd1 pwd2 + + echo + fi + + local -a mysqld_options + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see http://bugs.mysql.com/bug.php?id=31312 + use prefix && mysqld_options+=( "--defaults-file='${MY_SYSCONFDIR}/my.cnf'" ) + + # Figure out which options we need to disable to do the setup + local helpfile="${TMPDIR}/mysqld-help" + "${EROOT}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null + + local opt optexp optfull + for opt in host-cache name-resolve networking slave-start \ + federated ssl log-bin relay-log slow-query-log external-locking \ + log-slave-updates \ + ; do + optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" + egrep -sq -- "${optexp}" "${helpfile}" && mysqld_options+=( "${optfull}" ) + done + + # Prepare timezones, see + # https://dev.mysql.com/doc/mysql/en/time-zone-support.html + local tz_sql="$(_mktemp_dry "${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql")" + [[ -z "${tz_sql}" ]] \ + && die "_mktemp_dry() for '${MYSQL_TMPDIR}/tz.XXXXXXXXX.sql' failed!" + + echo "USE mysql;" >"${tz_sql}" + "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" >> "${tz_sql}" 2>/dev/null + if [[ $? -ne 0 ]] ; then + die "mysql_tzinfo_to_sql failed!" + fi + + # --initialize-insecure will not set root password + # --initialize would set a random one in the log which we don't need as we set it ourselves + local cmd=( + "${mysqld_binary}" + "${mysqld_options[@]}" + "--initialize-insecure" + "--init-file='${tz_sql}'" + "--basedir='${EROOT}/usr'" + "--datadir='${MY_DATADIR}'" + "--tmpdir='${MYSQL_TMPDIR}'" + "--log-error='${mysql_install_log}'" + "--user=${MYSQL_USER}" + ) + + einfo "Initializing ${PN} data directory: ${cmd[@]}" + eval "${cmd[@]}" >>"${mysql_install_log}" 2>&1 + + if [[ $? -ne 0 || ! -f "${MY_DATADIR}/mysql.ibd" ]] ; then + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_install_log}" 1>&2 + die "Failed to initialize ${PN} data directory. Please review '${mysql_install_log}'!" + fi + + rm "${tz_sql}" || die + + local x=${RANDOM} + local socket="${EROOT}${PID_DIR}/mysqld${x}.sock" + local pidfile="${EROOT}${PID_DIR}/mysqld${x}.pid" + unset x + + cmd=( + "${mysqld_binary}" + "${mysqld_options[@]}" + "--basedir='${EROOT}/usr'" + "--datadir='${MY_DATADIR}'" + "--tmpdir='${MYSQL_TMPDIR}'" + --max_allowed_packet=8M + --net_buffer_length=16K + "--socket='${socket}'" + "--pid-file='${pidfile}'" + "--log-error='${mysqld_logfile}'" + "--user=${MYSQL_USER}" + ) + + einfo "Starting mysqld to finalize initialization: ${cmd[@]}" + eval "${cmd[@]}" >>"${mysqld_logfile}" 2>&1 & + + echo -n "Waiting for mysqld to accept connections " + local maxtry=15 + while [[ ! -S "${socket}" && "${maxtry}" -gt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + + if [[ -S "${socket}" ]] ; then + # Even with a socket we don't know if mysqld will abort + # start due to an error so just wait a little bit more... + maxtry=5 + while [[ -S "${socket}" && "${maxtry}" -gt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + fi + + echo + + if [[ ! -S "${socket}" ]] ; then + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysqld_logfile}" 1>&2 + die "mysqld was unable to start from initialized data directory. Please review '${mysqld_logfile}'!" + fi + + local mysql_logfile="${TMPDIR}/set_root_pw.log" + touch "${mysql_logfile}" || die + + ebegin "Setting root password" + # Do this from memory, as we don't want clear text passwords in temp files + local sql="ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}'" + cmd=( + "${mysql_binary}" + --no-defaults + "--socket='${socket}'" + -hlocalhost + "-e \"${sql}\"" + ) + eval "${cmd[@]}" >"${mysql_logfile}" 2>&1 + local rc=$? + eend ${rc} + + if [[ ${rc} -ne 0 ]] ; then + # Poor man's solution which tries to avoid having password + # in log. NOTE: sed can fail if user didn't follow advice + # and included character which will require escaping... + sed -i -e "s/${MYSQL_ROOT_PASSWORD}/*****/" "${mysql_logfile}" 2>/dev/null + + grep -B5 -A999 -iE "(Aborting|ERROR|errno)" "${mysql_logfile}" + die "Failed to set ${PN} root password. Please review '${mysql_logfile}'!" + fi + + # Stop the server + if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then + echo -n "Stopping the server " + pkill -F "${pidfile}" &>/dev/null + + maxtry=10 + while [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + + echo + + if [[ -f "${pidfile}" ]] && pgrep -F "${pidfile}" &>/dev/null ; then + # We somehow failed to stop server. + # However, not a fatal error. Just warn the user. + ewarn "WARNING: mysqld[$(cat "${pidfile}")] is still running!" + fi + fi + + einfo "${PN} data directory at '${MY_DATADIR}' successfully initialized!" +} diff --git a/dev-db/pg_activity/Manifest b/dev-db/pg_activity/Manifest index 8eac9e4b860d..c6d71beb56c3 100644 --- a/dev-db/pg_activity/Manifest +++ b/dev-db/pg_activity/Manifest @@ -1,3 +1,3 @@ DIST pg_activity-1.5.0.tar.gz 92392 BLAKE2B ffe39f602773e0e63ca9bc8a5c96a5dad6a0862aa622b7bf4f3073d869c33bf6e4b79a152a3c956e780d70852aaedf3172a693536436ecbbf89e6943e41ba654 SHA512 01e3d2a1f0c839e40d1da79197dd8a405dee302d46495b972f11e3672e52becceb6211cccc6e1a5c711ca36247dcead6e959435d5f4eb1735556073b6c834904 EBUILD pg_activity-1.5.0.ebuild 634 BLAKE2B 6626868b56015cf8df504c7bd785974a2dff3cfb43adfa315498c25922521902b4b6ccde199d21f37f52409bf56bdbd4b4e2d0e42c05c10cc43b0ee9624afbcd SHA512 c7e548efcae3b1412c80b237028f8126b0e4bc2e0d8f4b8d8142d3c4646dfbe5afad0849d5a7009f87e5e36ec2fb613bed39faeca4330f255cb57c002a176612 -MISC metadata.xml 339 BLAKE2B e80c6ca98d1020eb5d6dffdd9cc41239d8dee1131c977d54666293044bd1804e08b3d88a439e867df26e541bc75a084752a19287591643a1cd20e687e9f7e223 SHA512 db6f9da66f99eb53ef5c118ebb7e6d2ecde79c118a0a7b3094375405cf02700bb2f423b830d23ad4819819557bf35a1073a67bafe0de01654f9651e956840355 +MISC metadata.xml 339 BLAKE2B 216c15e347a9dd6061fa95a90fe2a6b5b14f9dcfe7dce8a36376f28dc1c30bad6ae505247d1a5133bf9d8c1d0d61aa07b0f827f1547d563a5046a40e300896ef SHA512 e4b44855c8acd726e3e43cf79e4706077edb2cbccb955ed70c3fe44ee91ed604a057d8b612e4f3950387ee8c96b3fc77fd8e5696e63b896280a243506c7c8853 diff --git a/dev-db/pg_activity/metadata.xml b/dev-db/pg_activity/metadata.xml index 77dc3c3999e2..0aa52cbf1860 100644 --- a/dev-db/pg_activity/metadata.xml +++ b/dev-db/pg_activity/metadata.xml @@ -6,6 +6,6 @@ <name>Agostino Sarubbo</name> </maintainer> <upstream> - <remote-id type="github">julmon/pg_activity</remote-id> + <remote-id type="github">dalibo/pg_activity</remote-id> </upstream> </pkgmetadata> diff --git a/dev-db/pgpool2/Manifest b/dev-db/pgpool2/Manifest index 0c4fb51c8f47..68d41114c1f9 100644 --- a/dev-db/pgpool2/Manifest +++ b/dev-db/pgpool2/Manifest @@ -6,7 +6,7 @@ AUX pgpool2.initd 2162 BLAKE2B b04f6b952507b8e4815c7b27f09b59ffe64f6262719c54903 AUX pgpool_run_paths-3.7.10.patch 14548 BLAKE2B 89a18a3c3d4426d82978e303836ff4fafc8d7b4c36154a015c0dadf2e3eb1fa8f19ecf75f39a513b15bca8bfb543ea99e718fff0fa8ef5fde39ecbbe40469df9 SHA512 ea9541a5f9d27011005ab0fd04e2945dea1befaf060429c6a66e0c2091ac8b73a74b01174e5e409c189420405734e73fe2458fce56f4d7b56303957c450bd42d DIST pgpool-II-3.7.10.tar.gz 3375419 BLAKE2B 96d589e9a3eff631bd4bffdcf321b3b532e5f0985dd4a5948fabc3228400305dc98fbf17ba64e162ecbaecca400e1bb3cad6fc954b2d624292f6f22deb48a789 SHA512 a89c392e336f5dd608c6876011f996fa1e4d7cb4b0eef31c24b2338ac287b72b73948e82429715d38fd9a7a6598f56828192722a2a8ee0d473738b804c4a2a48 DIST pgpool-II-4.0.5.tar.gz 3768842 BLAKE2B 2756d23db950a037a9203aae41293535de25d11bf9860f509040bf5b483ae5fb9e651c8189ee5f0a9398a45d20d2c54566769945e38c52361c160a1162a8e3af SHA512 897df553dba3a1800adae5d22ed4f4fe210a3013fb533730837591244877eeaf0e4090d1a0c65e189b71798b5c303ea22e2198f6317b54f74f10ba48fa2188c6 -EBUILD pgpool2-3.7.10.ebuild 2640 BLAKE2B 706f1648357185590654e6c8ed30a0660e811f716ac66c6e210c986246a0e7d69c6ccad29e70c3eb89729dc06b3452009ad888eae1f89d53ed50ec2b02befb5a SHA512 22b822a9bb249d3370eeed47d7dd14ee8c073a1ebfe80a47fc4b59137d5339119843f5623b8882bb6ce53b19813dad271639b3b6ff10656b1f70cdba36e36c81 -EBUILD pgpool2-4.0.5.ebuild 2646 BLAKE2B 5baae984a5bbe47e9866f29da69c95d955c71fdb42ec140bff2d0c7736285526279654547af311dcbd07ac439d390e5d91c0e1225ea3c4ad18d097afb03dfbda SHA512 1cfed6e9f01955d0580845d63172a571ade0fa254302aac8ad376c59374228c83290f302861d8553341bb5c88bd4171916d386c51b055c2acab947deafd7303f -EBUILD pgpool2-9999.ebuild 2723 BLAKE2B 4c593cebf5c8f46ffe83697d500b3bb0151c27a58c1aff005f4668d88ddb35d41ce2b18078cff1bd90b6ea4b2b1010ef40ea313f20595d5e1def107b2bae9cf7 SHA512 5a90ab19128765d850037360b7595338364875a4b17e18d91fff167371a3cf8b0439706388fcbc9a89f54909b5dc4d46129e326acabb1e8dbea488b9b452b5ef +EBUILD pgpool2-3.7.10.ebuild 2640 BLAKE2B 34a3a8a7a0c24f8bd357fc2929f4ea565be60c8c0cf22b3f30cbe94ae46f22d9fd2a8911f93fb5d0df483cae30cc3c658a28c5cea8c3e21fcdc54938bc195ae3 SHA512 af618abfbb7f5a11e8b83e6ff0b5a6c52f424edcdc44211dda557973b09fe67cee5a6a6494dabd8783333981e2ab30410c2a20486489108d51b1a2444c4502e2 +EBUILD pgpool2-4.0.5.ebuild 2646 BLAKE2B ec1fb6883162ddf238c4b8c812d234ee190cbd72030c0157cff601fdadeb60756bcb0a3547b7bd356f51b96a6f8cb0a7ece67e8bb3e803127b3f861d35878993 SHA512 992a4c52dc6eb33c7125ce073b79aefc9baafb9eb0bf4d9dec2ad2ea10f48267138649309e68acf1291dd3f084d93e6455d28c124cf1deea4061520e3ca0664c +EBUILD pgpool2-9999.ebuild 2723 BLAKE2B 78d14708c61e3f5f8a36d1c8822c7c3fa59eb4dc2a86c118ac73fa2b99859c54f46488d9775ca5bb3fb2a7e83bf745ac1c5e282a9718d6d8ec93f13344eaabda SHA512 731de61fccb5b793c9a451359cbb3f8b730eea5b69525a02ada0f2772b2bbb3c64e7714d51a00c2b27add38ece48b30dc24060971a6f0b3ca321038d150429d9 MISC metadata.xml 390 BLAKE2B d6a0560051449e95bb43e81589eee966a477a75d7ec8211ae96b15f2d51ce9555181b8640d9d830f2b42f8159989e9126423c6ccbbc2bf2dd8121f4920a87a16 SHA512 ce26ee116c3c7ff77a771294ed07f38d8f940dc380915c339eb4c543d86fa5bde025ba83e70af2b7bf4a1bef1e51957f151131836855e0dae2e1daed73ffae8d diff --git a/dev-db/pgpool2/pgpool2-3.7.10.ebuild b/dev-db/pgpool2/pgpool2-3.7.10.ebuild index b4e21052dd4e..888fe8b89df6 100644 --- a/dev-db/pgpool2/pgpool2-3.7.10.ebuild +++ b/dev-db/pgpool2/pgpool2-3.7.10.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 -POSTGRES_COMPAT=( 9.{4..6} 10 ) +POSTGRES_COMPAT=( 9.{5..6} 10 ) inherit autotools postgres-multi diff --git a/dev-db/pgpool2/pgpool2-4.0.5.ebuild b/dev-db/pgpool2/pgpool2-4.0.5.ebuild index 8934e8bcb858..fa0a7f045690 100644 --- a/dev-db/pgpool2/pgpool2-4.0.5.ebuild +++ b/dev-db/pgpool2/pgpool2-4.0.5.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 -POSTGRES_COMPAT=( 9.{4..6} {10..11} ) +POSTGRES_COMPAT=( 9.{5..6} {10..11} ) inherit autotools postgres-multi diff --git a/dev-db/pgpool2/pgpool2-9999.ebuild b/dev-db/pgpool2/pgpool2-9999.ebuild index 1e3475f6c7e6..042e87ed4a92 100644 --- a/dev-db/pgpool2/pgpool2-9999.ebuild +++ b/dev-db/pgpool2/pgpool2-9999.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 EGIT_REPO_URI="https://git.postgresql.org/git/pgpool2.git" -POSTGRES_COMPAT=( 9.{4..6} {10..11} ) +POSTGRES_COMPAT=( 9.{5..6} {10..11} ) inherit autotools git-r3 postgres-multi diff --git a/dev-db/pgrouting/Manifest b/dev-db/pgrouting/Manifest index b6896078ad15..79c75c7489c2 100644 --- a/dev-db/pgrouting/Manifest +++ b/dev-db/pgrouting/Manifest @@ -1,3 +1,3 @@ DIST pgrouting-2.6.2.tar.gz 6065517 BLAKE2B e27e28cf988040de1e894a857e3d210bc7676271f69d898afc2d6116d5b88d87404723b2cb1283ef77b4449b4aa62a03e2dbcd489ac641a4721a596d29f8fecd SHA512 6e37f66e631d0cc87e135be7d095822aae21656bb56b3d18afa5bececaad8cee6324d37e8e152bbf69e3374ded1f10aa4b9a4c52b873e3a4c43e73cd877fddcb -EBUILD pgrouting-2.6.2-r1.ebuild 1224 BLAKE2B 0f0494dd66f0bd712f5994f57b401daa883b6bb1b190797102d6c0ec5a91b9de0ebdef3e3ae3b29f4ba786ad8541afe5bf766004dc8b4fb119fcbc20e2f94fa3 SHA512 f6d1667a40d3d8c169b9b974cb48d23026a399e7c6609f7996dfa4d1b808d8d6649886134c8a8c7e67690d8c339ef784a63a91a4bc9c664f1e6631a5f0ae8f59 +EBUILD pgrouting-2.6.2-r1.ebuild 1224 BLAKE2B d1f10f219e584e2167fbb3351cc35424fb35f10def7e7ba115aa4bec54c259f43e771e47f52d7fddf19c838117d0d265252d4886599ec401020287f590223d35 SHA512 6087d2e8e20c815defe78c440d5ba58e30de353e8ee0722b7347bff79c32ae7abc1d46d48b95c32c0b28db55043f198609217053012134dbfe27b1e879c06eb4 MISC metadata.xml 457 BLAKE2B d2432768e9244c7648720e1569195498ffa3bda4f862a5b5a2edbbd4383d3ca0ab83063c1004680ea6eb662d74f13c2ec4991baa25365ae9ae8f513b93c973b1 SHA512 bbfc5eec69256ba3addfe5c3158b11b4561b347682474ac2f5ac4cb3be8ca30df130957c751f09d761d3a3d8ad62cf3e59193414a31a9b46d793084285c9406d diff --git a/dev-db/pgrouting/pgrouting-2.6.2-r1.ebuild b/dev-db/pgrouting/pgrouting-2.6.2-r1.ebuild index fb64a94eecbf..00807308c211 100644 --- a/dev-db/pgrouting/pgrouting-2.6.2-r1.ebuild +++ b/dev-db/pgrouting/pgrouting-2.6.2-r1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 -POSTGRES_COMPAT=( 9.{4..6} 10 11 ) +POSTGRES_COMPAT=( 9.{5..6} 10 11 ) POSTGRES_USEDEP="server" inherit postgres cmake-utils diff --git a/dev-db/pgtap/Manifest b/dev-db/pgtap/Manifest index 6603fadbe42b..86b020d7ad41 100644 --- a/dev-db/pgtap/Manifest +++ b/dev-db/pgtap/Manifest @@ -1,3 +1,3 @@ DIST pgtap-0.99.0.zip 275915 BLAKE2B 33499dacc0019ecbe85ff3dc4fcc243b6102e0b7e7018d70b17cda44b8d22d8260229ab732db9900296232e0801070722bf97a752734ea7d389dc8ae57198b6f SHA512 c1b39bf2c041d759006d692229a67af1520b6a3d23fdac43f0781cac9ce69e7714fc854d1e45f1cb3ee188a20dccfb7904bc4dd1513699189fae70f425c13b5f -EBUILD pgtap-0.99.0.ebuild 589 BLAKE2B 20b17f6bf809dc3a7cf6e247038ce55a4ff21930180d6cd962321d2772ebb956cf51bac6dcf65b60faabd0d7b0bec7053ee7b31820adfcfa34bc6ccfb796d977 SHA512 8391a114028dfe412150d5721409bb253489256adf2d10a34266ca9ed899f1080891d7b67bad8819bb3e07ce00a6e263db34d484d2369cea8e4552cddb8eb27b +EBUILD pgtap-0.99.0.ebuild 589 BLAKE2B 9c9a64f61ba3c47eafe05eba813cda3dd2c73e4d192096d89bb075c2bcaf85b7fa7324cd8054503adefc9abc257c31a3246423a6e6f1ab708640099eef88e5a5 SHA512 79319d9dbd3c9dc9cac54fb55f0e087b91fde987fdc844f4ea0ab5adad2cacf433b504aedef0c79bfc05ebcb2675885f619f33453d01eaffc48cb993672c2501 MISC metadata.xml 628 BLAKE2B 8a671273bb0de6f11d5ea56a3bf38e9eee05c0a70ff8cefe183f0eb798afbead29e96d5a45f764e2afc437cc97d91590e648c6716a8dd8fa7a6cc9f072332e0c SHA512 1c06c14ea5af9248950e6c10ab877b0725c4885082211db94b8a195fdf0dd115dc584a325655b7155895ec4382008e03511aa238d43179310fbe3dc835f5270a diff --git a/dev-db/pgtap/pgtap-0.99.0.ebuild b/dev-db/pgtap/pgtap-0.99.0.ebuild index 1a16121aa4af..4e6f68067a89 100644 --- a/dev-db/pgtap/pgtap-0.99.0.ebuild +++ b/dev-db/pgtap/pgtap-0.99.0.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 -POSTGRES_COMPAT=( 9.{4..6} {10..11} ) +POSTGRES_COMPAT=( 9.{5..6} {10..11} ) inherit postgres-multi diff --git a/dev-db/phppgadmin/Manifest b/dev-db/phppgadmin/Manifest new file mode 100644 index 000000000000..e08cb6609b67 --- /dev/null +++ b/dev-db/phppgadmin/Manifest @@ -0,0 +1,4 @@ +AUX postinstall-en.txt 162 BLAKE2B d08f1f1064e8f268fe92ee622d0b5a756e20d80a6376abf1bfc7e8bb88c90d7b3c1b7c3c3291d3189791cca9766feb05b9831ddcba2e84f69e295f7048d440e7 SHA512 3aa9e4b58ffd97cc9bc990e0ca8444e8be012fb56859b28705e7ed3d5ffae74bcfab19c55e415785c9f09fabcc20ea5a493ee2f03fb380a351c02fe958231bd8 +DIST phpPgAdmin-7.12.1.tar.bz2 579723 BLAKE2B 58d4992424fb6c9bf8565843c6d76ceecb68212cc311d15d43303fd6b63fe2a611ce146761b8f6b8f992798060d065a0b0e528aed5df217a3078cef9e56c49da SHA512 d64b4796c5acad990ef81b12ebd377474d04c1a65adc41a91a2d278bb975812389bb6eae23490de3f5ce09502d36adea3cacfdec0e868c6a0e0bcb639b8a94db +EBUILD phppgadmin-7.12.1.ebuild 904 BLAKE2B 5edf5c459e40fee4acad3bf7f07a58e9dc48619696e7d9d639ea87ba69df3c50d510239e8b7e6350c148de88255f7f15d8e94edecc17462a96b584a398bc800f SHA512 e29a5deb56a2825f16547ccb8b1d086cb6b3ec7ae037a8a994e92acc488a7da56db5698f816933f24ca0dcc17099a0c9387cd44ba458b70b94674efd4d9b9cf8 +MISC metadata.xml 327 BLAKE2B 3dae61a226e7d8c513f4a6675fec1f61489750f2ad21c0d36600fe6e08b4dabf990182bb74a01176e55b4a4b4fe429b7c7830c17bb574e0daf5788f81504ba59 SHA512 ef827397746f3666035223238cf33a7a92bce8addaab1958e94e85f0c4f64ec396db0498264928e717210fb9711c15b059c203cd05e412bbaf3c2b9abb914e28 diff --git a/dev-db/phppgadmin/files/postinstall-en.txt b/dev-db/phppgadmin/files/postinstall-en.txt new file mode 100644 index 000000000000..003fe5003bbd --- /dev/null +++ b/dev-db/phppgadmin/files/postinstall-en.txt @@ -0,0 +1,4 @@ +Make sure you edit ${MY_INSTALLDIR}/conf/config.inc.php + +To use the reports database, you have to manually execute +psql -f ${MY_INSTALLDIR}/sql/reports-pgsql.sql diff --git a/dev-db/phppgadmin/metadata.xml b/dev-db/phppgadmin/metadata.xml new file mode 100644 index 000000000000..8390195bb165 --- /dev/null +++ b/dev-db/phppgadmin/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>tupone@gentoo.org</email> + <name>Tupone Alfredo</name> + </maintainer> + <upstream> + <remote-id type="sourceforge">phppgadmin</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-db/phppgadmin/phppgadmin-7.12.1.ebuild b/dev-db/phppgadmin/phppgadmin-7.12.1.ebuild new file mode 100644 index 000000000000..e0ec4521ab80 --- /dev/null +++ b/dev-db/phppgadmin/phppgadmin-7.12.1.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit webapp + +MY_P="phpPgAdmin-${PV}" + +DESCRIPTION="Web-based administration for Postgres database in php" +HOMEPAGE="http://phppgadmin.sourceforge.net/" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/REL_$(ver_rs 1- -)/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +KEYWORDS="~amd64" +IUSE="" + +RDEPEND="dev-lang/php[postgres,session]" + +S="${WORKDIR}/${MY_P}" + +src_install() { + webapp_src_preinst + + local doc + local docs="CREDITS DEVELOPERS FAQ HISTORY INSTALL TODO TRANSLATORS" + dodoc ${docs} + mv conf/config.inc.php-dist conf/config.inc.php + + cp -r * "${D}"${MY_HTDOCSDIR} + for doc in ${docs} INSTALL LICENSE; do + rm -f "${D}"${MY_HTDOCSDIR}/${doc} + done + + webapp_configfile ${MY_HTDOCSDIR}/conf/config.inc.php + webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt + webapp_src_install +} diff --git a/dev-db/plr/Manifest b/dev-db/plr/Manifest index 4051b74f01cf..0b3498e52ab4 100644 --- a/dev-db/plr/Manifest +++ b/dev-db/plr/Manifest @@ -1,3 +1,3 @@ DIST plr-8.3.0.17.tar.gz 74017 BLAKE2B 314b4cfa2c3ca8ed31e80a72233a6dc8cdb9f3811dad6e9f3eb5147c17cdf5a039436598b0fc2b30c6702b02dd3cb2da33543764aee3199c6864aae22be875ce SHA512 d7080c62349d1dcdd17008a7be3643b54678e0f66bf721068df73057394496d025c4fe01e52945c3acf9cc21eb90241512667772ef3fe519a3c9081efe92dd40 -EBUILD plr-8.3.0.17.ebuild 1700 BLAKE2B eba66d47b01119e81c551b61113b8d86b70a899737147c5c5b8d7bdb27b4c0e42112447d3c2fcdb352676a62abc481de2fb5de83714d04a177c1f3e0c72edd2c SHA512 8e83a07a85a7c8ae3d3ed34578c147b639ff7a5b9e86d9e55336e3b7d752666fd00ed36321c043f8e7ec47ad143db4ac362640fb62bb5e02283be80b38794bf9 +EBUILD plr-8.3.0.17.ebuild 1700 BLAKE2B 441f233545359ab8d171834c88564883acdb1470ffc88e01c8b617cded8af24b2dbce943a23ae4ab7275908f809b805773915e96c9788b1be71ccf9fd65cb07f SHA512 deb87ada7c10d6fd263f0a1261e31444c1034dcfd603ad3ef1287f1f5fb30c040953d64de5ba0a58ef7c7036b38923cfb4beb94518a25e5e363a6dc2bed87563 MISC metadata.xml 800 BLAKE2B b12bbd609b12d63306bdc9af15f788d91847ae4a8960b26f92d1d8ca000291a047424f2632d22798855a1b61cad2a9d46095f214ba9f7c41616c5a90ee4dddbf SHA512 23728ed4ec8bd27a2ccf2081f4b0ddd2d8ecf47fd9c44f999406c8f3bd7c2f86545dbf837c99dc0e9ef9100b2028a9ae3f10a6d60a21bafbbc7231c445a9c85a diff --git a/dev-db/plr/plr-8.3.0.17.ebuild b/dev-db/plr/plr-8.3.0.17.ebuild index e6b36b80a867..01de417db497 100644 --- a/dev-db/plr/plr-8.3.0.17.ebuild +++ b/dev-db/plr/plr-8.3.0.17.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 -POSTGRES_COMPAT=( 9.{4..6} 10 ) +POSTGRES_COMPAT=( 9.{5..6} 10 ) POSTGRES_USEDEP="server" inherit postgres-multi diff --git a/dev-db/postgis/Manifest b/dev-db/postgis/Manifest index 46ab02004cb3..23469e7de30a 100644 --- a/dev-db/postgis/Manifest +++ b/dev-db/postgis/Manifest @@ -1,7 +1,15 @@ AUX postgis-2.2.0-arflags.patch 535 BLAKE2B 6420573e9623d4e2115ed3616bc3b8648ae7782bf4624ee60d3827a4d61cbdac1dc62b4937f36113ed6d0856af4728f5cc1b544d502512e88dd87a7b590135ab SHA512 7f8b92a582dd11b3040832278b75e65036315ca0e438cb9b19cc5b63a7b5c5bcae8ec274a487a29abadfbbc31cdfacf6c668e46f249d4bf88c09607501cacf66 DIST postgis-2.5.3.tar.gz 16424752 BLAKE2B 94c2ccd41eb88a39c6db48ad7f4d142742a1b0791e3abe57adb2c778406dcc8286afc6d55c80067e0b94a1300eff1c76a227d3cfd813e12541c715edeea11a9b SHA512 1c9f873ba8f8ff4aeae248c68c001eb4174416de1e00ce6a0d0c9ea129b475e887a83235027068d52f587ab95c549adbfaa7e5dccdda77855e39c55dac0fdc2d +DIST postgis-2.5.4.tar.gz 15882033 BLAKE2B 317e6f3857dce8b1c054b5cdb6c6b215b015b89266aeaa0187803b9355cdc3cbb62be89f36ffe29e2fcbc1e7b693a7f88fb23b5c172fcefea376f6afea3c064d SHA512 767c146245ae11545ce4e0764f9bd313cfdf2eed78c485c5aa5530517edb8e433bcdbaffcf4d92b0c0f3c997de9831b5e3beed7638fc3bc773f264b45e5d8ab4 +DIST postgis-2.5.5.tar.gz 15936193 BLAKE2B df5d0e51bb5042a72ecd070273c4a87738b2ba482993d39948137c8ba2da0a47845393023a6b4e45f01a91d37ef8fc9f89302203c639fb32b4451cb905fd08b3 SHA512 407c9ddf5b73aaa8d36ec606f974b86c16c9ed4aafbfd4a0b7f96cfc7a9f8a8fa38528cb4787bdd50de479416dbfb09934a85d189463cec549da66863060292e DIST postgis-3.0.0.tar.gz 17359802 BLAKE2B aa83bdc2d1950c517f99cbdd877eb7261f6c29ce2cbd9f67f1e606c290080fc3d02ab0b7ceb68ce852e0c0d3d4b7753f03cb5b0921da164ab65d68e23d1df538 SHA512 82c233681fa6444686f9979768e5d6d3a9b6ca9cbd4fc2b14bd0a5d1269a8d0f45ee067e64984077063407c7abc13fa0e37a29928d7ccbfe3a61b694f592bed2 -EBUILD postgis-2.5.3-r1.ebuild 3173 BLAKE2B 2ee5f83da6a5ef3719df540516dcc4ba0cd487d1e84836e6857123864ad01ab558963fa9d0d9d20151183ed3abb5c73ce3fa0759731e3f5d49ae2b016381f2a7 SHA512 ec758fb314c0613442fe189bb8bdbc47589b92efdc0dc4a4a3fa23b02b7de455f05c8f9a46ee62d7690f38786b56ec25ea95e20a077b862c8942ff21ef603c88 +DIST postgis-3.0.1.tar.gz 16839923 BLAKE2B 6888fa49562ab71929e92007de305fd6610c74988faaf08fbeabbf1d13029ebbb5da788826dc63d03ae5c873fbe408ae6c0f108b2975755d2b13bc69bed53558 SHA512 5ebce2303d672bb342f7fae6cade08140c8a687fc38e82e5b41eebb8465cdf3dc7bdbeae53b1179df8112a01842dd65f362fc107b381e2a1fa6e161b77a50227 +DIST postgis-3.0.2.tar.gz 16855299 BLAKE2B 99ee872abf52651ab53e4dd6203d99d428d366f60b949fabcae938980f5c17809872e9b23f7ab1f3480a60242e735c926e54122492e1b8966ed8c748eb7c4fe6 SHA512 763d7818d195eca0b07d94a864b13da68e5734ae57b7c93c285dc2d0fa4a155715745e5da67e1a3bca49d8d4f89dc495ed3912c079722290ce9f220afca33f4d +EBUILD postgis-2.5.3-r1.ebuild 3173 BLAKE2B b2fa30ecc6cefbd80e56ae55a991484fbb5a114a797d739bafe23467f23be7c76e19f4b307837b517af0e9385630030e1624c42415b59ec62711460b6d70143d SHA512 b3cc79b9b259836bed713d658c1dc0a7c4de95ded55210898329876b4296d9116321bc96637e89c90e2e7c98ddb9cf5151076d3ef66ad62aabd10724b3638eee +EBUILD postgis-2.5.4.ebuild 3195 BLAKE2B 55cbf1823a6c2f04a1ee11b5e9506db868ee2f1a4ef47ce703b9effef47c476ae2ff1f28ad436ec4aa80675259b327fb007fcb8744fb12421cff6ca157c2c5b1 SHA512 28f1e5c505992c3ddc7fa7947e4e699672a46acde36363bb76abc4ec1b3f3add7028878767877aa541fc4fcb36bfac80928c57865cfdf5f4e1b5237c55e71d9d +EBUILD postgis-2.5.5.ebuild 3195 BLAKE2B 55cbf1823a6c2f04a1ee11b5e9506db868ee2f1a4ef47ce703b9effef47c476ae2ff1f28ad436ec4aa80675259b327fb007fcb8744fb12421cff6ca157c2c5b1 SHA512 28f1e5c505992c3ddc7fa7947e4e699672a46acde36363bb76abc4ec1b3f3add7028878767877aa541fc4fcb36bfac80928c57865cfdf5f4e1b5237c55e71d9d EBUILD postgis-3.0.0-r1.ebuild 3201 BLAKE2B 099dcddb6188239cd7738cb265e73e5b218265aec531e957b5db791149a5c8e3c3bd425b3a169fafdd451028ba29b21cdfa3031bad8f6b78958f1131ae2958b1 SHA512 0b343e8a7e6afdd0bc5d999a44f1f117eac7191360af83c535dd476408a4661aff61da697e0d48098e4e7403821402405a43e81ff2df5afa2d5163c2d0361e63 +EBUILD postgis-3.0.1.ebuild 3191 BLAKE2B 90839e4df5c915d0450e9e7943bd6a87dcf48c27760d3ebac75a826720099b2e0e0044dfbe932225aba8e80abc3b5211173709252d6779e75bbd80507204e7f5 SHA512 4680c28c2f38b9a1c812121ce8fe9df171042bb19bc790abf92a9d0401ad7c58c4118721d6a0cd345d22d33332ebc0d72941fc7bd825e5781382e957d2ce90ec +EBUILD postgis-3.0.2.ebuild 3191 BLAKE2B 6c97ff25a22159ab9bda13f8014aa626a650bede7a4bc9a649c9c21f086f2d1f4b0f936f8e38c3025c75dab236fea876eff86a230173d7f8683a952b0ca64c4d SHA512 7f8dd7a7b0e14700d02061e13cdec5b5028606e3000743946a2f9e8936cde51990d41fd655d80ffd6604642451a7db29525c161a4da191b003dde7cf17e70f84 EBUILD postgis-9999.ebuild 3201 BLAKE2B 099dcddb6188239cd7738cb265e73e5b218265aec531e957b5db791149a5c8e3c3bd425b3a169fafdd451028ba29b21cdfa3031bad8f6b78958f1131ae2958b1 SHA512 0b343e8a7e6afdd0bc5d999a44f1f117eac7191360af83c535dd476408a4661aff61da697e0d48098e4e7403821402405a43e81ff2df5afa2d5163c2d0361e63 MISC metadata.xml 779 BLAKE2B 9dfbc86514c5f6e0c859dc41a46890e4f518f23c572786bf340112eadf21b35f5f583a3835f6ba58bef8c99a7ef8483f3a98898d372d1c0e5cc537bb9ecc2b12 SHA512 33ad2ddabf49e97af2cf188f2c0f72e1a936c228b43d8d3637230c43be0df82ec2aa20b63cb5f2385e936c215263fcd009332afe504bc5f30746a387b9b37ada diff --git a/dev-db/postgis/postgis-2.5.3-r1.ebuild b/dev-db/postgis/postgis-2.5.3-r1.ebuild index 13a85904de82..540d66ffadb5 100644 --- a/dev-db/postgis/postgis-2.5.3-r1.ebuild +++ b/dev-db/postgis/postgis-2.5.3-r1.ebuild @@ -3,7 +3,7 @@ EAPI=6 -POSTGRES_COMPAT=( 9.{4..6} {10..12} ) +POSTGRES_COMPAT=( 9.{5..6} {10..12} ) POSTGRES_USEDEP="server" inherit autotools eapi7-ver postgres-multi diff --git a/dev-db/postgis/postgis-2.5.4.ebuild b/dev-db/postgis/postgis-2.5.4.ebuild new file mode 100644 index 000000000000..1cdbc058b8d9 --- /dev/null +++ b/dev-db/postgis/postgis-2.5.4.ebuild @@ -0,0 +1,137 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +POSTGRES_COMPAT=( 9.{5..6} {10..12} ) +POSTGRES_USEDEP="server" +inherit autotools postgres-multi + +MY_P="${PN}-$(ver_rs 3 '')" + +if [[ ${PV} = *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://git.osgeo.org/gitea/postgis/postgis.git" +else + PGIS="$(ver_cut 1-2)" + SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +fi + +DESCRIPTION="Geographic Objects for PostgreSQL" +HOMEPAGE="https://postgis.net" + +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2" +SLOT="0" +IUSE="address-standardizer doc gtk mapbox static-libs test topology" + +REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}" + +# Needs a running psql instance, doesn't work out of the box +RESTRICT="test" + +RDEPEND="${POSTGRES_DEP} + dev-libs/json-c:= + dev-libs/libxml2:2 + dev-libs/protobuf-c + >=sci-libs/geos-3.5.0 + >=sci-libs/proj-4.6.0:= + >=sci-libs/gdal-1.10.0 + address-standardizer? ( dev-libs/libpcre ) + gtk? ( x11-libs/gtk+:2 ) + mapbox? ( dev-libs/protobuf-c:= ) +" +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( + app-text/docbook-xsl-stylesheets + app-text/docbook-xml-dtd:4.5 + dev-libs/libxslt + virtual/imagemagick-tools[png] + ) + test? ( dev-util/cunit ) +" + +PATCHES=( "${FILESDIR}/${PN}-2.2.0-arflags.patch" ) + +src_prepare() { + default + + if [[ ${PV} = *9999* ]] ; then + source "${S}"/Version.config + PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}" + fi + + # These modules are built using the same *FLAGS that were used to build + # dev-db/postgresql. The right thing to do is to ignore the current + # *FLAGS settings. + QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so" + + local AT_M4DIR="macros" + eautoreconf + + postgres-multi_src_prepare +} + +src_configure() { + local myeconfargs=( + --with-protobuf + $(use_with address-standardizer) + $(use_with gtk gui) + $(use_with mapbox) + $(use_with topology) + ) + postgres-multi_foreach econf "${myeconfargs[@]}" +} + +src_compile() { + postgres-multi_foreach emake + postgres-multi_foreach emake -C topology + + if use doc ; then + postgres-multi_foreach emake comments + postgres-multi_foreach emake cheatsheets + postgres-multi_forbest emake -C doc html + fi +} + +src_install() { + postgres-multi_foreach emake DESTDIR="${D}" install + postgres-multi_foreach emake -C topology DESTDIR="${D}" install + postgres-multi_forbest dobin ./utils/postgis_restore.pl + + dodoc CREDITS TODO loader/README.* doc/*txt + + docinto topology + dodoc topology/{TODO,README} + + if use doc ; then + postgres-multi_foreach emake DESTDIR="${D}" comments-install + + docinto html + postgres-multi_forbest dodoc doc/html/{postgis.html,style.css} + + docinto html/images + postgres-multi_forbest dodoc doc/html/images/* + fi + + use static-libs || find "${ED}" -name '*.a' -delete +} + +pkg_postinst() { + ebegin "Refreshing PostgreSQL symlinks" + postgresql-config update + eend $? + + local base_uri="https://postgis.net/docs/manual-" + if [[ ${PV} = *9999* ]] ; then + base_uri+="dev" + else + base_uri+="${PGIS}" + fi + + elog "To finish installing PostGIS, follow the directions detailed at:" + elog "${base_uri}/postgis_installation.html#create_new_db_extensions" +} diff --git a/dev-db/postgis/postgis-2.5.5.ebuild b/dev-db/postgis/postgis-2.5.5.ebuild new file mode 100644 index 000000000000..1cdbc058b8d9 --- /dev/null +++ b/dev-db/postgis/postgis-2.5.5.ebuild @@ -0,0 +1,137 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +POSTGRES_COMPAT=( 9.{5..6} {10..12} ) +POSTGRES_USEDEP="server" +inherit autotools postgres-multi + +MY_P="${PN}-$(ver_rs 3 '')" + +if [[ ${PV} = *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://git.osgeo.org/gitea/postgis/postgis.git" +else + PGIS="$(ver_cut 1-2)" + SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +fi + +DESCRIPTION="Geographic Objects for PostgreSQL" +HOMEPAGE="https://postgis.net" + +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2" +SLOT="0" +IUSE="address-standardizer doc gtk mapbox static-libs test topology" + +REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}" + +# Needs a running psql instance, doesn't work out of the box +RESTRICT="test" + +RDEPEND="${POSTGRES_DEP} + dev-libs/json-c:= + dev-libs/libxml2:2 + dev-libs/protobuf-c + >=sci-libs/geos-3.5.0 + >=sci-libs/proj-4.6.0:= + >=sci-libs/gdal-1.10.0 + address-standardizer? ( dev-libs/libpcre ) + gtk? ( x11-libs/gtk+:2 ) + mapbox? ( dev-libs/protobuf-c:= ) +" +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( + app-text/docbook-xsl-stylesheets + app-text/docbook-xml-dtd:4.5 + dev-libs/libxslt + virtual/imagemagick-tools[png] + ) + test? ( dev-util/cunit ) +" + +PATCHES=( "${FILESDIR}/${PN}-2.2.0-arflags.patch" ) + +src_prepare() { + default + + if [[ ${PV} = *9999* ]] ; then + source "${S}"/Version.config + PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}" + fi + + # These modules are built using the same *FLAGS that were used to build + # dev-db/postgresql. The right thing to do is to ignore the current + # *FLAGS settings. + QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so" + + local AT_M4DIR="macros" + eautoreconf + + postgres-multi_src_prepare +} + +src_configure() { + local myeconfargs=( + --with-protobuf + $(use_with address-standardizer) + $(use_with gtk gui) + $(use_with mapbox) + $(use_with topology) + ) + postgres-multi_foreach econf "${myeconfargs[@]}" +} + +src_compile() { + postgres-multi_foreach emake + postgres-multi_foreach emake -C topology + + if use doc ; then + postgres-multi_foreach emake comments + postgres-multi_foreach emake cheatsheets + postgres-multi_forbest emake -C doc html + fi +} + +src_install() { + postgres-multi_foreach emake DESTDIR="${D}" install + postgres-multi_foreach emake -C topology DESTDIR="${D}" install + postgres-multi_forbest dobin ./utils/postgis_restore.pl + + dodoc CREDITS TODO loader/README.* doc/*txt + + docinto topology + dodoc topology/{TODO,README} + + if use doc ; then + postgres-multi_foreach emake DESTDIR="${D}" comments-install + + docinto html + postgres-multi_forbest dodoc doc/html/{postgis.html,style.css} + + docinto html/images + postgres-multi_forbest dodoc doc/html/images/* + fi + + use static-libs || find "${ED}" -name '*.a' -delete +} + +pkg_postinst() { + ebegin "Refreshing PostgreSQL symlinks" + postgresql-config update + eend $? + + local base_uri="https://postgis.net/docs/manual-" + if [[ ${PV} = *9999* ]] ; then + base_uri+="dev" + else + base_uri+="${PGIS}" + fi + + elog "To finish installing PostGIS, follow the directions detailed at:" + elog "${base_uri}/postgis_installation.html#create_new_db_extensions" +} diff --git a/dev-db/postgis/postgis-3.0.1.ebuild b/dev-db/postgis/postgis-3.0.1.ebuild new file mode 100644 index 000000000000..b272f3d2031a --- /dev/null +++ b/dev-db/postgis/postgis-3.0.1.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +POSTGRES_COMPAT=( 9.{5..6} {10..12} ) +POSTGRES_USEDEP="server" +inherit autotools postgres-multi + +MY_P="${PN}-$(ver_rs 3 '')" + +if [[ ${PV} = *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://git.osgeo.org/gitea/postgis/postgis.git" +else + PGIS="$(ver_cut 1-2)" + SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +fi + +DESCRIPTION="Geographic Objects for PostgreSQL" +HOMEPAGE="https://postgis.net" + +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2" +SLOT="0" +IUSE="address-standardizer doc gtk static-libs test topology" + +REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}" + +# Needs a running psql instance, doesn't work out of the box +RESTRICT="test" + +RDEPEND="${POSTGRES_DEP} + dev-libs/json-c:= + dev-libs/libxml2:2 + dev-libs/protobuf-c:= + >=sci-libs/geos-3.6.0 + >=sci-libs/proj-4.9.0:= + >=sci-libs/gdal-1.10.0:= + address-standardizer? ( dev-libs/libpcre ) + gtk? ( x11-libs/gtk+:2 ) +" +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( + app-text/docbook-xsl-stylesheets + app-text/docbook-xml-dtd:4.5 + dev-libs/libxslt + virtual/imagemagick-tools[png] + ) + test? ( dev-util/cunit ) +" + +PATCHES=( "${FILESDIR}/${PN}-2.2.0-arflags.patch" ) + +src_prepare() { + default + + if [[ ${PV} = *9999* ]] ; then + source "${S}"/Version.config + PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}" + fi + + # These modules are built using the same *FLAGS that were used to build + # dev-db/postgresql. The right thing to do is to ignore the current + # *FLAGS settings. + QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so" + + local AT_M4DIR="macros" + eautoreconf + + postgres-multi_src_prepare +} + +src_configure() { + local myeconfargs=( + --with-protobuf # funky misdetection if enabled but --without-protobuf + $(use_with address-standardizer) + $(use_with gtk gui) + $(use_with topology) + ) + postgres-multi_foreach econf "${myeconfargs[@]}" +} + +src_compile() { + postgres-multi_foreach emake + postgres-multi_foreach emake -C topology + + if use doc ; then + postgres-multi_foreach emake comments + postgres-multi_foreach emake cheatsheets + postgres-multi_forbest emake -C doc html + fi +} + +src_install() { + postgres-multi_foreach emake DESTDIR="${D}" install + postgres-multi_foreach emake -C topology DESTDIR="${D}" install + postgres-multi_forbest dobin ./utils/postgis_restore.pl + + dodoc CREDITS TODO loader/README.* doc/*txt + + docinto topology + dodoc topology/{TODO,README} + + if use doc ; then + postgres-multi_foreach emake DESTDIR="${D}" comments-install + + docinto html + postgres-multi_forbest dodoc doc/html/{postgis.html,style.css} + + docinto html/images + postgres-multi_forbest dodoc doc/html/images/* + fi + + use static-libs || find "${ED}" -name '*.a' -delete +} + +pkg_postinst() { + ebegin "Refreshing PostgreSQL symlinks" + postgresql-config update + eend $? + + local base_uri="https://postgis.net/docs/manual-" + if [[ ${PV} = *9999* ]] ; then + base_uri+="dev" + else + base_uri+="${PGIS}" + fi + + elog "To finish installing PostGIS, follow the directions detailed at:" + elog "${base_uri}/postgis_installation.html#create_new_db_extensions" +} diff --git a/dev-db/postgis/postgis-3.0.2.ebuild b/dev-db/postgis/postgis-3.0.2.ebuild new file mode 100644 index 000000000000..3e05e061edf1 --- /dev/null +++ b/dev-db/postgis/postgis-3.0.2.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +POSTGRES_COMPAT=( 9.{5..6} {10..13} ) +POSTGRES_USEDEP="server" +inherit autotools postgres-multi + +MY_P="${PN}-$(ver_rs 3 '')" + +if [[ ${PV} = *9999* ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://git.osgeo.org/gitea/postgis/postgis.git" +else + PGIS="$(ver_cut 1-2)" + SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +fi + +DESCRIPTION="Geographic Objects for PostgreSQL" +HOMEPAGE="https://postgis.net" + +S="${WORKDIR}/${MY_P}" + +LICENSE="GPL-2" +SLOT="0" +IUSE="address-standardizer doc gtk static-libs test topology" + +REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}" + +# Needs a running psql instance, doesn't work out of the box +RESTRICT="test" + +RDEPEND="${POSTGRES_DEP} + dev-libs/json-c:= + dev-libs/libxml2:2 + dev-libs/protobuf-c:= + >=sci-libs/geos-3.6.0 + >=sci-libs/proj-4.9.0:= + >=sci-libs/gdal-1.10.0:= + address-standardizer? ( dev-libs/libpcre ) + gtk? ( x11-libs/gtk+:2 ) +" +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( + app-text/docbook-xsl-stylesheets + app-text/docbook-xml-dtd:4.5 + dev-libs/libxslt + virtual/imagemagick-tools[png] + ) + test? ( dev-util/cunit ) +" + +PATCHES=( "${FILESDIR}/${PN}-2.2.0-arflags.patch" ) + +src_prepare() { + default + + if [[ ${PV} = *9999* ]] ; then + source "${S}"/Version.config + PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}" + fi + + # These modules are built using the same *FLAGS that were used to build + # dev-db/postgresql. The right thing to do is to ignore the current + # *FLAGS settings. + QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so" + + local AT_M4DIR="macros" + eautoreconf + + postgres-multi_src_prepare +} + +src_configure() { + local myeconfargs=( + --with-protobuf # funky misdetection if enabled but --without-protobuf + $(use_with address-standardizer) + $(use_with gtk gui) + $(use_with topology) + ) + postgres-multi_foreach econf "${myeconfargs[@]}" +} + +src_compile() { + postgres-multi_foreach emake + postgres-multi_foreach emake -C topology + + if use doc ; then + postgres-multi_foreach emake comments + postgres-multi_foreach emake cheatsheets + postgres-multi_forbest emake -C doc html + fi +} + +src_install() { + postgres-multi_foreach emake DESTDIR="${D}" install + postgres-multi_foreach emake -C topology DESTDIR="${D}" install + postgres-multi_forbest dobin ./utils/postgis_restore.pl + + dodoc CREDITS TODO loader/README.* doc/*txt + + docinto topology + dodoc topology/{TODO,README} + + if use doc ; then + postgres-multi_foreach emake DESTDIR="${D}" comments-install + + docinto html + postgres-multi_forbest dodoc doc/html/{postgis.html,style.css} + + docinto html/images + postgres-multi_forbest dodoc doc/html/images/* + fi + + use static-libs || find "${ED}" -name '*.a' -delete +} + +pkg_postinst() { + ebegin "Refreshing PostgreSQL symlinks" + postgresql-config update + eend $? + + local base_uri="https://postgis.net/docs/manual-" + if [[ ${PV} = *9999* ]] ; then + base_uri+="dev" + else + base_uri+="${PGIS}" + fi + + elog "To finish installing PostGIS, follow the directions detailed at:" + elog "${base_uri}/postgis_installation.html#create_new_db_extensions" +} diff --git a/dev-db/postgresql/Manifest b/dev-db/postgresql/Manifest index 1a1e414f3717..b141f2fca048 100644 --- a/dev-db/postgresql/Manifest +++ b/dev-db/postgresql/Manifest @@ -1,7 +1,7 @@ AUX postgresql-10.2-no-server.patch 3117 BLAKE2B 399e295e393aa84aeaefbe236bf63e091414c9f3d9238ef8f4af3ec955cc0ded6324f4241ee4e78ee1aa775524768f65b15d5064cf4330f5b3149bed2e13aad3 SHA512 1888985a0fa67241b18d3c21c1ededc34666c55f6f4f3806efbe4dcb5a2e30d6d08c955a3bbcc52f589bc5bb857d1c09bd82b555069637a71afe9062994199fd AUX postgresql-11_beta1-no-server.patch 3080 BLAKE2B 29d4f5d8e26e9360490876d2d51cb29cc340128fe77c0bd76248073157c9e5be09c788cc4344e09c0c2bf2f57e274d5f31f211d1950ee3f47660dfdc4cb7b455 SHA512 42c39e602a019d1d44c39795904fb37a7f14b4623fa90b066f4f26a743d80b6eeaef2e8c7de4c47dddf53d7e89cbe5a2a3473b456ddc76fc0e96f57ff6a9df69 AUX postgresql-12.1-no-server.patch 2965 BLAKE2B 168f39c02f0614c57a60c0ce3bb540e0d29dc407c569661d0cd29ddb57657bfada44aa90ca915c8474ca5541ac1f4cc152fbd70c105efcbe83f9e5b9f918eeb5 SHA512 5e025da1cb5f696821b19093ab893667426a08b1bbc8e3f748d34207730026625b61a8cfd2596af124080a4a292363546dce5b703ce6164efceceabc6b170aa2 -AUX postgresql-9.4.10-no-server.patch 3868 BLAKE2B 060385a4bcd9cd558fffed1caafddcd5784c8c08138ca30b709e9949395f8c546c5db6a8fbdd4d268b34d03996642339ffd00cef6f66633c2234c658a38e0625 SHA512 129b631e5a1d5f198041b07d00ff3c4880342ee08c1db5da59d4d514a959381788bd152857b60c66dd93d9f790f55b5d950fa3b7bd08c13cb105860f3b35bb53 +AUX postgresql-13_beta1-no-server.patch 3787 BLAKE2B 35a01d479262cf21699043d65bb0d71539198ca30e8a627fc134183fa57ac6e1cc3856848bbbe9916a99569c79f4af1e2b6ed50b3d029bdb8f58d050e08552d3 SHA512 2fbd07eb865bac3e9381a0b851f7c92c1c08c2e6521a02a42cc7435bccdce70823eb752afc67aa221b804ff4baee1a2fd5a2762a6b82b14a6f77ef739233bca1 AUX postgresql-9.5.5-no-server.patch 3870 BLAKE2B eaf8f510c5dcfb9e9575eed98a1697022bd2510cd700336d74219fd486b9c9b718d8f1abd124be6d34f4363f3393d9884546ca6502fd61fd55e7b6deda273202 SHA512 0ec80d0b18d77f40584747ad96081a990135066133d43efb7c272ebddf32e9cb8224d3dd277ac417bd1260f550a4e6fca1d8e1a23f478409d750e5f76f85053c AUX postgresql-9.6.3-no-server.patch 3067 BLAKE2B 49822723f1e90b05b56bd4714a2480b366a1fad8d6db23cd2e99ad74eb389310077e12580c312a8ccefe0058218e8354a8665e82bcb7b27be6f744433425b0ec SHA512 314f5cea74dde55d054b43cf890dbbd216b65843f2a863a32cf8ba9fdaead1f74ad01905b7f93d2996068addd8705ff2119e1efc709cf84c18f6685937e969bc AUX postgresql-check-db-dir 1013 BLAKE2B 2be45942d0442822113879708c11dfde267938b6e7118bd225f567ca9fdacb11082792eabcb40b8a39cd6017fdedb18100576fea0895dae2dcda83c2d51de34d SHA512 2f34ee0cb6a889500ccfca7621ada6ee1bb06dc146f3c556938152dd3d7c0312266bb4db5f4099838d93ade26e2b8866dfddb3576cb5a737431ea2befd0cec6f @@ -12,27 +12,37 @@ AUX postgresql.service-9.6-r1 1477 BLAKE2B 2a652d5b2892f3a52f484fcc0b4f4dad09cf4 AUX postgresql.tmpfiles 39 BLAKE2B 25a5725af53c8e4e4009887e998172dd863ce218a5438351194548c4fc8ea15308dfba3602d5a922cf49b46015198268a4a4528119d8a74dcef4cc4c1767c052 SHA512 498060f2a597cf374f4fb31deaa2d6c5b00edef68efc0e71b82bfc20b717ae12518ba18fcb455a0c518ebba1a0868f38321470616151d02fa79b889a66dcb9f8 DIST postgresql-10.12.tar.bz2 19020488 BLAKE2B 2177e9b63e21a634e1d8ea060b5bd0a7360d81ece64f50dd614e6cdd6b0cf0dcbd3896ef2c11bd1431ce7a964ac8876d24f368d7f7eb309e3d432856d7546f2a SHA512 6accc66cbbae811509095c33e8a8d17ddd11d9e307267312e3d09df90469db4700a5806166d66f25d77769d3ef88653c98dfc7d05dd053f10434b03e0a9e33b7 DIST postgresql-10.13.tar.bz2 19028339 BLAKE2B 8adb1be902863778ca6a0396f1bc3ffa3e69b9e27bd830523472f4895e225831ba98716c07dc3f8dcab68623d434fc3d2d7b71f753f4105c69ecb05365c94789 SHA512 7b268aa4476ed9b168814891e8b19d182683ab4994d4a9b30e75eec93ffd9c860f8a0979ba1b7408acf8e217437b5cc20037b6ebf6ef01e9cf5ee99f091c8c92 +DIST postgresql-10.14.tar.bz2 19042154 BLAKE2B addddf00179190780bd30ed97cf6881670d18fda77062cdb5dc7cc161c64c3d5522db288902d0612db30fc6fcc1b619c7a102887ed438e27739e936bf5659425 SHA512 eecd2aa8df7e4779606ec547b7bf0207ebb2be10a4b332f06c3b72116f0619fe27fb651f2fd4504c73b740ab7f92468919244a615d460bb9c35085174a0dbc78 DIST postgresql-11.7.tar.bz2 19890063 BLAKE2B 461c372567ff0b4ff4da52889be5d2822b56889e4890b33c9a71f1105ad629b4f5bec95c4fbf5aebbdd4445e0ff451a7d8df04ae7b5bf7cf0075c3226a41b19b SHA512 32c7ace228f9895241ce0d925fbfc60c0cd39f4cd35368fb10dc7db046151ffd59a9895b4c30a529627f0103051e84b4992ed60312cccd292489f3037076ca1e DIST postgresql-11.8.tar.bz2 19922770 BLAKE2B a646b585bbafc95957fa60c7d119c02b69b727759d2189588508f8a690dc97a0ed1429a3379bc6fd48fb22ee92f3d811dedbf8aa43271361f9b7ac2c8d42a31b SHA512 fc3d0ebd224de60bda3fa71b6832958698238e9088cf46a80c376b8996cc3b2d017fde5dce1c1da1e5e6e23b78054aafad7ee1caa744bfb12c52317ccc8a1922 +DIST postgresql-11.9.tar.bz2 19959019 BLAKE2B 655d1c9e6eebde19402a4c220ee674c589641c5b6f4e6298c8c06d3330069178952455f5af58f90b9af196ba9c8fd03db0ccd70b8bc49335e465f0ed537eaf59 SHA512 2c5c2f51aa01f02af4aa0849441767383e30fef69dd52efa442892f39d2456bfa8bf01f633a265e00eca0745e792609d2c1d33f77d8f29a02f5f374c84f2bf6e DIST postgresql-12.2.tar.bz2 20363545 BLAKE2B 7b0cfe841d46b117ff5dd793be5537e916f92255eb0d000681ed62c497eef34c5d1261126be408f2b7f95274485e2787869cd4063461ab248b650c168b62548d SHA512 0e0ce8e21856e8f43e58b840c10c4e3ffae6d5207e0d778e9176e36f8e20e34633cbb06f0030a7c963c3491bb7e941456d91b55444c561cfc6f283fba76f33ee DIST postgresql-12.3.tar.bz2 20439892 BLAKE2B f7a44725f235c55a2849acd444de3a9c932314e2ae8c68d7f8e827439263b052bdf0fd5b6cdaa8197c4ce9ad1d4fbb02b5ec1af030365363993a36d8d95a4231 SHA512 68e2d244ae2a9f2138d7569bcadc1cf6f62a410fa56ad1d4ac53206f2adefabb5ae136110b41ca9246df0f8b8cb039918997e0f8a81fc7e6efb7ad10b3a59ba1 -DIST postgresql-13beta1.tar.bz2 21361108 BLAKE2B be5e41d49159ec5932ce958aab3b015b33ce02ef56abf47930754219e220672770785f6eed7966cd57fa9f3fd0d4527f5cb2813a4221443b56d70b7db7178b31 SHA512 8d8c13d7abf2127b0b0c04f080303906e8b0829d390530b308cbfa26e07cd2443a32281ef218a147499de5abe1fde8ab8818f581c68bf550cae1fbd235f46b80 -DIST postgresql-9.4.26.tar.bz2 16871195 BLAKE2B f26fd335293669a815a51ceb994b66e154c66f96f91e4c68d7df3490ad25f4b0366ebf7bfe2b209ff34965ea27a08562ace050f40d49cec94eb576d7a1becd1c SHA512 7d379d139c7b2bdac1df38743cbb46a1790a8d5174e8cf1141b7b4febcbc8f612e347bf4d355684eef24dfc73bb2796f85fc532908f26ba7195c685f198cbb72 +DIST postgresql-12.4.tar.bz2 20669776 BLAKE2B fb3f865a8a5e5280e7cc5da43f8658029170cd15dae8cc5fb1e741a122ea1f13418ac7743ec417ab4436976bc0ce12753fc8a301200143c975e8739d59816fa7 SHA512 36daf10878ca153370829178786dd6ee366ab4d4d6dc9c527536740fdb14b688ae4c33f850eb4243a7667d23f87e4bfd1ddee0755447ad4f3996e423e391c2f3 +DIST postgresql-13beta2.tar.bz2 21365208 BLAKE2B db223d769e378af40a41d1bfa8aa2f05a31b325c80e375aad6ee6e30c35f8e3dadc7865ff1b19c685032c1714da34aa2630c4ac190ee5450734ff436575131b2 SHA512 7307b26422e78d3ebf4fead25a8ba7de181406490a5d354decb0324fc2d9216de94cfc19fc4eaba7eef51153f159606fc40d8650eb57131cdbc8e6948299e40f +DIST postgresql-13beta3.tar.bz2 21411847 BLAKE2B 6195e246f683c0da8b7fc8bb185474cfec9d556897f8a9f9ebf6138a644760c2e74fd9981de236280879bd78f9aba25c765ed065c84b7789b8ff0776fe9532ae SHA512 62804ab44dbfaad8f3d498eacc687620077023d4ce27fe817185a85ebea3aa55f673f2d83eb5477efbe980e3c536f328369c906b4ba71fc0702393bffb6fe2c0 DIST postgresql-9.5.21.tar.bz2 17640928 BLAKE2B 8ffcf0befc331317a32d63d3cdfe44f7743f72f18b4bc46bee5ee80f8c489b4b1ef26abc8219f277acc922657fc21e3dc31f3fc9838621f44d95cc9405fca43b SHA512 8527356ee3b4f151c832aef50a8b96e923e0a6c77e5fe6ad597f50527f9d084a8feab7bede8fdbe29aab44383577d3f86e5286fb34e2d2b696cde34bd922e69d DIST postgresql-9.5.22.tar.bz2 17667386 BLAKE2B 6fe8ccf638af466e57f239c9d7f1a19bb6c33f6019955824f54f2fe63870675d841811318fb28707cc85ab8a9db550e6655773db0d89d801e26459c9d0d01a43 SHA512 489321fa49e17308d3a78353edf73a16295c1377ad429a94636df069d2bf55f538ba6570e3d2991dd28bcca45fee77c6c41fa9bade35ea7f9e581abff4c9a401 +DIST postgresql-9.5.23.tar.bz2 17682366 BLAKE2B 74713d6483ae1ad3d2dfc4b1ac9d30a6785ff34f61b735924f2d469861516ad5160cbfda9c09b96adf264237b6f3ad8fd6ddeef60b6af6b5b63d6c1a36fb9354 SHA512 b7a1e936a0043b57b3ece79610855820d2ea6a86e4a4be0c4c8358bf3e1ef8fa88bc60106d6b865d86231d16b5e3c098b4dbd93125a125b3cc5d468ffea64db1 DIST postgresql-9.6.17.tar.bz2 18812282 BLAKE2B 0bb48445201aae1d6b4f5a77652aefaaa629799a019c3b81a14e554a88167530002931c2b0d658731b26a38bd09487f79a6ef514b0955982d6037b383c021819 SHA512 a76f328523517f664e4fc59a4d27e476bc6300e49370712030caae40aa160acb1e6aecc7cd3b3440125713069932df812eb8d75377a3df63e59c9292419c2aa8 DIST postgresql-9.6.18.tar.bz2 18836490 BLAKE2B 43f2d8a14e4fcad72af1f2e2814546368f7c2c0bb3c9957527e96df0ae6984d6b05008619855cf74fefeab0f35b13de4f0a437f79fa13c6e3a4ca2c8bc272aab SHA512 78aad7042d22be4486511a9f3b5df2578b65a911b9e969e6196c945d84b9d9a79b40c01a8bdd3859cc67cd9a5d023cca5d83c1360cb14a9bb076ff3b5c1fff70 +DIST postgresql-9.6.19.tar.bz2 18880036 BLAKE2B ad9c5684e2c0fb276589560f7dbe01241b5caf763f5a20991244ad7b473397576c9530658eb91e085e8416156b0ac81750f08ed85d5e5a689321891d10b6e114 SHA512 4d8d4a0e4645d71683a5fccb9cd88917e1870ba139f102e0ea82da9c8d1ad669f029e0feb6d409e2016dfd247229ec7daf04f7f2de3ab6c5b4053834ac244a26 EBUILD postgresql-10.12.ebuild 13833 BLAKE2B c255fd95d1948451496a85e44ab1853697a6d5adc6d85e442e2589acd21880c00b7e9b1ad31ad3a8a53ed33935b56e0ae418035521773ed2bd82c8380bac6204 SHA512 14a1e4cb181ded8e6689b4c3adf3717c8ae259284863dc676874244a1928af5ea5559243d27dd9d271b433dada172fa75368eaddc218c1a12786dedac79240c7 EBUILD postgresql-10.13.ebuild 13543 BLAKE2B cde9c3b3b834de3c034afb6a3e34091ff1965be756c69d498ea2f0edc8ec10268594e4769aefa32c1f6a9399733778b41034190b43e9ee86990dbdb591a88fc3 SHA512 ecc51aaf49b83a3a526fd77e6bbc166b1309b33102d1f7c80cc069699f8114798fa267e6c1bdd6ee6c8830979abb13e8f07a133c9b7b3ad046a217db96a29977 +EBUILD postgresql-10.14.ebuild 13537 BLAKE2B f6c71b81625807985d74a869ea421d065bffffda986498d81b575ccc1e435b8e02b851fb89207c3b06a3dce34ff3a14e019ada8daf21c853b1be71bb017d1b66 SHA512 23e8a397a0e391cfccdf568124dc59f583d703b02af29cb8b257c4a0cc8015fb7666c0594258a1310eb5a5259f699afdf9cba00e90366e5c33037e51533a9481 EBUILD postgresql-11.7.ebuild 13964 BLAKE2B cd59290c8f0a9a49083eb324b003b69f01167011c21e6b2d77d7500f78ddbd68ff4bf4e6022d197b448902934a21612aa81bc5868aeed9af699bc254c99ce0a3 SHA512 418d5bb589ce950cbe3600692ea9c2db9f21bf9cb01621d1d6c3c502cbea8300de774f98a98f0435c63e8424424fc7ac03e743eb0ac1fa0a82e9c3ce76cfb5c9 EBUILD postgresql-11.8.ebuild 13674 BLAKE2B 1612347e1088bce1bf8fb0d97238f8efcb57ab32652aa3d69e7cc9abf779a1292804e9199626235dca8a57893ee7b643397664b08518c5a017296624bbdfa5cc SHA512 1fc08751d1d04f8eedab56d46a73436c3194ea5f6997ddf2b4627013b017f2fb31a91858add46ae8bad13b86ce61fd0aef34a66cafba23fe11a955ae3f12b84c +EBUILD postgresql-11.9.ebuild 13668 BLAKE2B 9d18c2b80955ce436de672bdb9d7b93896240c9b018251f8edf5af77a362078cdb9a68471b1595e474900513469ec5981d0c69660485e2334603d9ca4c219b5d SHA512 ea8b24dcda086168558c1bfa69030e3cce44f11ce78807013478acbe82c48f97635f37c441df5593b6140f56a2f23f13f1ff29e3be5232a0cd40acc39fffde87 EBUILD postgresql-12.2.ebuild 13936 BLAKE2B a94d56317f2229a5b07e4e994c97ad390715e50579c6d11246bc39a958fedba564bce5a2db0c69b361b689a8d082dd9f24670324f3806bd823bf40864644182c SHA512 247fc090c0a11fd1b9c9bb657bef10a3447bb16fd8e22858491c4e569dbddec6817c68751ac7e8077dc57107824a611e92d02b0bd3493822756925d6b67dccb4 EBUILD postgresql-12.3.ebuild 13646 BLAKE2B f5d5877a6aaceb7e5be0d5edd4fe7474fcf90228346ee3620f84ae84e5f04a794947dd6b0c94fe118381037f9bc01daf35c4a6c888dadd3b334d577b2c944219 SHA512 203d6bdccfd702616ba321caacc311d9378602f5578e3abc2bc46705ff689a7538b57687193a355d0abf5a6aa4e4249b2e065f73623bf2aa336893c2e694b730 -EBUILD postgresql-13_beta1.ebuild 13458 BLAKE2B 5cf7f7249eb3243204c44b93fe5df4e8f069195d275159a3f27fb3bd632fe81a495647cd1598562593767080f6c4e66da0edc23ec4df6d9f5e9ad6760ee13f64 SHA512 a4cbb379dc6ca0f4b2dd7a2b92e7665661057f678883cd018bbf8b9851c3f2384dd27c4d35583ff924afa672bb952ae5aee52feb60a202ac0edc29fe90d28ad6 -EBUILD postgresql-9.4.26.ebuild 14434 BLAKE2B 7b3953845d43f0bcf33f4839c45679f62804b9360d7ca956a36014a9e745eee81e026f7d1e51bd41259f81d77b48540ab1e6c2309fe78fcd48b7bf10625a762b SHA512 c377a08cdfa25edc1090890052c73f614ea976c6ef89dc65ea953e39b17024c51b0484275a9e7d7dcdaafa3f14bd867ac0177f43ee05aba449235bc75baa4617 +EBUILD postgresql-12.4.ebuild 13640 BLAKE2B ae1d94731dadc970397a2a9bce9499af7618392a7a44646e26695f2c600161588038011c140b035ae337790249a82e8b8ea9c50cad43935e4517b4f1e28df591 SHA512 6e843220fa493518f19fc9a3f32bab1ec5eff8671d001543061afbd0205504e77df909a0f7ec1edb8cc7059f5803c662c04e6207de7d9eac7f751a4f86fe06eb +EBUILD postgresql-13_beta2.ebuild 13458 BLAKE2B 5cf7f7249eb3243204c44b93fe5df4e8f069195d275159a3f27fb3bd632fe81a495647cd1598562593767080f6c4e66da0edc23ec4df6d9f5e9ad6760ee13f64 SHA512 a4cbb379dc6ca0f4b2dd7a2b92e7665661057f678883cd018bbf8b9851c3f2384dd27c4d35583ff924afa672bb952ae5aee52feb60a202ac0edc29fe90d28ad6 +EBUILD postgresql-13_beta3.ebuild 13462 BLAKE2B 57f75f15da71e3bf0ce48b15a52e378f753c03ea9dd59f16a5630f2abd3705df9c270a061f6729d541cbcf1c73ef861b4179000459b4aa2dfed39d686b7fb043 SHA512 c43bbbff4fad1f343a845b499305001d7b1e6d933fd2141625e3bbe4a3ebb2fe1cbd8051bf50ee33b5608be25b95c9716b3f09d0d10fb628eb447e7fedbfbf97 EBUILD postgresql-9.5.21.ebuild 14655 BLAKE2B cf7d690e04b4ea1f291592214673aa41af62b75fe033b47b5f5a15e134e0adb4b6610156af57a255f3cca375f9749e3694cadb1b882089909ad8326a0a4ffa15 SHA512 d92da5ad29a1490a42f82b7ebdb7eef63763bcecd4730d4f9532a80eb39a0244a2d345f6450b0b0c68f1792f31af910c1e7b4082007e969d60aa4d15af0a050d EBUILD postgresql-9.5.22.ebuild 14364 BLAKE2B dca6b5544443ae23804383318c78ccad2cd2f4893576ddfa9884c7dc3c8934958599b3e9384e380173cb5b93808763e4e18fd0f6c3831c8f4ab46e49e6d87c12 SHA512 a21309712520216d545ce9e57939a86012bda865586e9684ded29febf2e7c79458ddbc601c29365324fb5363ac506a801f208925ac88f90bc998306d032b5f72 +EBUILD postgresql-9.5.23.ebuild 14358 BLAKE2B 87ddbf54290b76755062122767f757aa0872c2e275b9ee225350261c8d28dc526b81391ce3702d15c5f29790e241497a9f3cc8b1cde565d1475563a64e58dc49 SHA512 d612a50ee0fda8be55115fccb834a58957e06028be11677acfb8951a92383604778f064f92ea39d11f67ef8a75126f2aa15ece45f40d11e25092b22783a58580 EBUILD postgresql-9.6.17.ebuild 14888 BLAKE2B 673996dddde1ce63a20d1b444e49982fb070ba8701caa9e452c3e068460b3bf44b810f19d552f2bd6e721499a08f2ae2e93001c2fb5837f6077852d0ca42e59e SHA512 1abd26b230e345ebf491333e6594c232e2fd8d9ef26acafbd148bf5d088c4332dfeffec66ba1d58fe6809dbb7cf0d2bbe47bd005024e1270e3ad2db8b994cce6 EBUILD postgresql-9.6.18.ebuild 14597 BLAKE2B 15c5ea6f83c7b92c560e0077a73da7ee7a2fabf98b42a4501ff459ee368dd048ef8b4174c6de88e7149532960b007df415a24678f93b45717e70c5e4b4c825e9 SHA512 f79341c17fb27f09bd369c0a6022a2874a70638bcb35c24d50001d3311d8f3f6d61c0f11dcb3a9c92fca4772fd0c03521a6190fc5d04e61164b360ecaa126cfd +EBUILD postgresql-9.6.19.ebuild 14591 BLAKE2B c34afe5f2cd8b06bbd6f8d12d9dec1dd6c36594e117295a915cfdaec1fab8bac59ae5b51394ac15a99ca047f4ab1797f8ee18ddd18b72c43041f9a6072944e82 SHA512 c1b9a6de517c760b84c85c393b36f8ff096adbf83fe13de2f7f92119eeea0a987a53bab4a52768d1a3a1e2c1118d8fd2e2202ec34a44fdd7efd1ba106a3ac57a EBUILD postgresql-9999.ebuild 13812 BLAKE2B f0eb8f0d79c3d4d9f0bdd0fe49f9b8354ce0bbd237b286e1509b9d9573cb6c023a855c10c97d836909495a0e23fc785716820e6e54e86b0f31765e0aef53a645 SHA512 3e56a9b619e4a94658035121d71a5e86c115f7dd3a13318ff0b6c341b59ad0cb836376b7f0074a3e28e7b17f93c3e2b9317a6662de19f77d6f6c4e6b4bc1066b MISC metadata.xml 715 BLAKE2B 71b868113676bdbb1996ecc8e3727b0cc16a559c5906e6459a41c330bcb5a5f4b3f4b5c4473a81905713c2f0735f185cd14612c69108b6bb602a7d8a92d6f3ce SHA512 4148c9c11ffaea5d30cd18befb06af914147d41eec4a8f905127f0abc5317ca370a745e0fd51b03c4583efde927fe9c1b3333853e80c2aa3e7677de65cd5d1ba diff --git a/dev-db/postgresql/files/postgresql-9.4.10-no-server.patch b/dev-db/postgresql/files/postgresql-13_beta1-no-server.patch index 0eb750847cfa..ceb0e3a61d25 100644 --- a/dev-db/postgresql/files/postgresql-9.4.10-no-server.patch +++ b/dev-db/postgresql/files/postgresql-13_beta1-no-server.patch @@ -1,21 +1,22 @@ ---- a/contrib/Makefile -+++ b/contrib/Makefile -@@ -5,64 +5,10 @@ +diff -Naruw postgresql-13beta1.orig/contrib/Makefile postgresql-13beta1/contrib/Makefile +--- postgresql-13beta1.orig/contrib/Makefile 2020-05-18 16:09:19.000000000 -0400 ++++ postgresql-13beta1/contrib/Makefile 2020-05-22 19:56:42.560113731 -0400 +@@ -5,56 +5,9 @@ include $(top_builddir)/src/Makefile.global SUBDIRS = \ - adminpack \ +- amcheck \ - auth_delay \ - auto_explain \ +- bloom \ - btree_gin \ - btree_gist \ -- chkpass \ - citext \ - cube \ - dblink \ - dict_int \ - dict_xsyn \ -- dummy_seclabel \ - earthdistance \ - file_fdw \ - fuzzystrmatch \ @@ -28,35 +29,26 @@ oid2name \ - pageinspect \ - passwordcheck \ -- pg_archivecleanup \ - pg_buffercache \ - pg_freespacemap \ - pg_prewarm \ - pg_standby \ - pg_stat_statements \ -- pg_test_fsync \ -- pg_test_timing \ - pg_trgm \ -- pg_upgrade \ -- pg_upgrade_support \ - pgbench \ - pgcrypto \ - pgrowlocks \ - pgstattuple \ -- pg_xlogdump \ +- pg_visibility \ - postgres_fdw \ - seg \ - spi \ - tablefunc \ - tcn \ - test_decoding \ -- test_parser \ -- test_shm_mq \ -- tsearch2 \ +- tsm_system_rows \ +- tsm_system_time \ - unaccent \ -- vacuumlo \ -- worker_spi -+ vacuumlo + vacuumlo -ifeq ($(with_openssl),yes) -SUBDIRS += sslinfo @@ -66,27 +58,19 @@ ifneq ($(with_uuid),no) SUBDIRS += uuid-ossp ---- a/src/backend/Makefile -+++ b/src/backend/Makefile -@@ -47,7 +47,7 @@ +diff -Naruw postgresql-13beta1.orig/src/backend/Makefile postgresql-13beta1/src/backend/Makefile +--- postgresql-13beta1.orig/src/backend/Makefile 2020-05-18 16:09:19.000000000 -0400 ++++ postgresql-13beta1/src/backend/Makefile 2020-05-22 19:58:14.403299909 -0400 +@@ -56,7 +56,7 @@ ########################################################################## --all: submake-libpgport submake-schemapg postgres $(POSTGRES_IMP) -+all: someheaders +-all: submake-libpgport submake-catalog-headers submake-utils-headers postgres $(POSTGRES_IMP) ++all: generated-headers ifneq ($(PORTNAME), cygwin) ifneq ($(PORTNAME), win32) -@@ -106,7 +106,7 @@ - endif # aix - - # Update the commonly used headers before building the subdirectories --$(SUBDIRS:%=%-recursive): $(top_builddir)/src/include/parser/gram.h $(top_builddir)/src/include/catalog/schemapg.h $(top_builddir)/src/include/utils/fmgroids.h $(top_builddir)/src/include/utils/errcodes.h $(top_builddir)/src/include/utils/probes.h -+someheaders $(SUBDIRS:%=%-recursive): $(top_builddir)/src/include/parser/gram.h $(top_builddir)/src/include/catalog/schemapg.h $(top_builddir)/src/include/utils/fmgroids.h $(top_builddir)/src/include/utils/errcodes.h $(top_builddir)/src/include/utils/probes.h - - # run this unconditionally to avoid needing to know its dependencies here: - submake-schemapg: -@@ -199,23 +199,7 @@ +@@ -195,23 +195,7 @@ ########################################################################## @@ -103,29 +87,44 @@ -endif - $(MAKE) -C catalog install-data - $(MAKE) -C tsearch install-data +- $(MAKE) -C utils install-data - $(INSTALL_DATA) $(srcdir)/libpq/pg_hba.conf.sample '$(DESTDIR)$(datadir)/pg_hba.conf.sample' - $(INSTALL_DATA) $(srcdir)/libpq/pg_ident.conf.sample '$(DESTDIR)$(datadir)/pg_ident.conf.sample' - $(INSTALL_DATA) $(srcdir)/utils/misc/postgresql.conf.sample '$(DESTDIR)$(datadir)/postgresql.conf.sample' -- $(INSTALL_DATA) $(srcdir)/access/transam/recovery.conf.sample '$(DESTDIR)$(datadir)/recovery.conf.sample' +install: - install-bin: postgres $(POSTGRES_IMP) installdirs - $(INSTALL_PROGRAM) postgres$(X) '$(DESTDIR)$(bindir)/postgres$(X)' ---- a/src/bin/Makefile -+++ b/src/bin/Makefile -@@ -13,8 +13,7 @@ - top_builddir = ../.. + ifeq ($(with_llvm), yes) + install-bin: install-postgres-bitcode +diff -Naruw postgresql-13beta1.orig/src/bin/Makefile postgresql-13beta1/src/bin/Makefile +--- postgresql-13beta1.orig/src/bin/Makefile 2020-05-18 16:09:19.000000000 -0400 ++++ postgresql-13beta1/src/bin/Makefile 2020-05-22 19:59:11.399875256 -0400 +@@ -14,22 +14,8 @@ include $(top_builddir)/src/Makefile.global --SUBDIRS = initdb pg_ctl pg_dump \ -- psql scripts pg_config pg_controldata pg_resetxlog pg_basebackup -+SUBDIRS = pg_dump psql scripts pg_config + SUBDIRS = \ +- initdb \ +- pg_archivecleanup \ +- pg_basebackup \ +- pg_checksums \ + pg_config \ +- pg_controldata \ +- pg_ctl \ + pg_dump \ +- pg_resetwal \ +- pg_rewind \ +- pg_test_fsync \ +- pg_test_timing \ +- pg_upgrade \ +- pg_verifybackup \ +- pg_waldump \ +- pgbench \ + psql \ + scripts - ifeq ($(PORTNAME), win32) - SUBDIRS += pgevent ---- a/src/Makefile -+++ b/src/Makefile -@@ -15,18 +15,11 @@ +diff -Naruw postgresql-13beta1.orig/src/Makefile postgresql-13beta1/src/Makefile +--- postgresql-13beta1.orig/src/Makefile 2020-05-18 16:09:19.000000000 -0400 ++++ postgresql-13beta1/src/Makefile 2020-05-22 19:59:59.656464613 -0400 +@@ -15,21 +15,12 @@ SUBDIRS = \ common \ port \ @@ -136,12 +135,15 @@ include \ interfaces \ - backend/replication/libpqwalreceiver \ +- backend/replication/pgoutput \ + fe_utils \ bin \ - pl \ - makefiles \ - test/regress \ +- test/isolation \ - test/perl + makefiles - # There are too many interdependencies between the subdirectories, so - # don't attempt parallel make here. + ifeq ($(with_llvm), yes) + SUBDIRS += backend/jit/llvm diff --git a/dev-db/postgresql/postgresql-10.14.ebuild b/dev-db/postgresql/postgresql-10.14.ebuild new file mode 100644 index 000000000000..8d442461446f --- /dev/null +++ b/dev-db/postgresql/postgresql-10.14.ebuild @@ -0,0 +1,456 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7} ) + +inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd + +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~ppc-macos ~x86-solaris" + +SLOT=$(ver_cut 1) + +MY_PV=${PV/_/} +S="${WORKDIR}/${PN}-${MY_PV}" + +SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2" + +LICENSE="POSTGRESQL GPL-2" +DESCRIPTION="PostgreSQL RDBMS" +HOMEPAGE="https://www.postgresql.org/" + +IUSE="debug doc icu kerberos kernel_linux ldap libressl nls pam perl + python +readline selinux +server systemd ssl static-libs tcl + threads uuid xml zlib" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +acct-group/postgres +acct-user/postgres +sys-apps/less +virtual/libintl +icu? ( dev-libs/icu:= ) +kerberos? ( virtual/krb5 ) +ldap? ( net-nds/openldap ) +pam? ( sys-libs/pam ) +perl? ( >=dev-lang/perl-5.8:= ) +python? ( ${PYTHON_DEPS} ) +readline? ( sys-libs/readline:0= ) +server? ( systemd? ( sys-apps/systemd ) ) +ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= ) + libressl? ( dev-libs/libressl:= ) +) +tcl? ( >=dev-lang/tcl-8:0= ) +xml? ( dev-libs/libxml2 dev-libs/libxslt ) +zlib? ( sys-libs/zlib ) +" + +# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no +# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems, +# the libc includes UUID functions. +UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} ) +BSD_LIBC=( elibc_{Free,Net,Open}BSD ) + +nest_usedep() { + local front back + while [[ ${#} -gt 1 ]]; do + front+="${1}? ( " + back+=" )" + shift + done + echo "${front}${1}${back}" +} + +IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}" +CDEPEND+=" +uuid? ( + ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )} + $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid) +)" + +DEPEND="${CDEPEND} +sys-devel/bison +sys-devel/flex +nls? ( sys-devel/gettext ) +xml? ( virtual/pkgconfig ) +" + +RDEPEND="${CDEPEND} +selinux? ( sec-policy/selinux-postgresql ) +" + +pkg_setup() { + use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # Work around PPC{,64} compilation bug where bool is already defined + sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die + + # Set proper run directory + sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \ + -i src/include/pg_config_manual.h || die + + # Rely on $PATH being in the proper order so that the correct + # install program is used for modules utilizing PGXS in both + # hardened and non-hardened environments. (Bug #528786) + sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die + + use server || eapply "${FILESDIR}/${PN}-10.2-no-server.patch" + + if use pam ; then + sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \ + -i src/backend/libpq/auth.c || \ + die 'PGSQL_PAM_SERVICE rename failed.' + fi + + eapply_user +} + +src_configure() { + case ${CHOST} in + *-darwin*|*-solaris*) + use nls && append-libs intl + ;; + esac + + export LDFLAGS_SL="${LDFLAGS}" + export LDFLAGS_EX="${LDFLAGS}" + + local PO="${EPREFIX}" + + local i uuid_config="" + if use uuid; then + for i in ${UTIL_LINUX_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=e2fs" + done + for i in ${BSD_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=bsd" + done + [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp" + fi + + econf \ + --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \ + --datadir="${PO}/usr/share/postgresql-${SLOT}" \ + --includedir="${PO}/usr/include/postgresql-${SLOT}" \ + --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \ + --sysconfdir="${PO}/etc/postgresql-${SLOT}" \ + --with-system-tzdata="${PO}/usr/share/zoneinfo" \ + $(use_enable !alpha spinlocks) \ + $(use_enable debug) \ + $(use_enable threads thread-safety) \ + $(use_with icu) \ + $(use_with kerberos gssapi) \ + $(use_with ldap) \ + $(use_with pam) \ + $(use_with perl) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with ssl openssl) \ + $(usex server "$(use_with systemd)" '--without-systemd') \ + $(use_with tcl) \ + ${uuid_config} \ + $(use_with xml libxml) \ + $(use_with xml libxslt) \ + $(use_with zlib) \ + $(use_enable nls) +} + +src_compile() { + emake + emake -C contrib +} + +src_install() { + emake DESTDIR="${D}" install + emake DESTDIR="${D}" install -C contrib + + dodoc README HISTORY doc/{TODO,bug.template} + + # man pages are already built, but if we have the target make them, + # they'll be generated from source before being installed so we + # manually install man pages. + # We use ${SLOT} instead of doman for postgresql.eselect + insinto /usr/share/postgresql-${SLOT}/man/ + doins -r doc/src/sgml/man{1,3,7} + if ! use server; then + # Remove man pages for non-existent binaries + serverman=( + initdb + pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby} + pg_{test_{fsync,timing},upgrade,waldump} + post{gres,master} + ) + for m in ${serverman[@]} ; do + rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1" + done + fi + docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7} + + # Create slot specific man pages + local bn f mansec slotted_name + for mansec in 1 3 7 ; do + local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}" + + mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir" + pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed" + + for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do + bn=$(basename "${f}") + slotted_name=${bn%.${mansec}}${SLOT}.${mansec} + case ${bn} in + TABLE.7|WITH.7) + echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name} + ;; + *) + echo ".so ${rel_manpath}/${bn}" > ${slotted_name} + ;; + esac + done + + popd > /dev/null + done + + insinto /etc/postgresql-${SLOT} + newins src/bin/psql/psqlrc.sample psqlrc + + # Don't delete libpg{port,common}.a (Bug #571046). They're always + # needed by extensions utilizing PGXS. + use static-libs || \ + find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \ + -delete + + # Make slot specific links to programs + local f bn + for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ + -mindepth 1 -maxdepth 1) + do + bn=$(basename "${f}") + dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ + "/usr/bin/${bn}${SLOT/.}" + done + + if use doc ; then + docinto html + dodoc doc/src/sgml/html/* + fi + + if use server; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} + + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT} + + if use systemd; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.service-9.6-r1" | \ + systemd_newunit - ${PN}-${SLOT}.service + newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir + systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf + fi + + use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session + + if use prefix ; then + keepdir /run/postgresql + fperms 1775 /run/postgresql + fi + fi +} + +pkg_postinst() { + use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf + postgresql-config update + + elog "If you need a global psqlrc-file, you can place it in:" + elog " ${EROOT}/etc/postgresql-${SLOT}/" + + if use server ; then + elog + elog "Gentoo specific documentation:" + elog "https://wiki.gentoo.org/wiki/PostgreSQL" + elog + elog "Official documentation:" + elog "https://www.postgresql.org/docs/${SLOT}/static/index.html" + elog + elog "The default location of the Unix-domain socket is:" + elog " ${EROOT}/run/postgresql/" + elog + elog "Before initializing the database, you may want to edit PG_INITDB_OPTS" + elog "so that it contains your preferred locale in:" + elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}" + elog + elog "Then, execute the following command to setup the initial database" + elog "environment:" + elog " emerge --config =${CATEGORY}/${PF}" + + if [[ -n ${REPLACING_VERSIONS} ]] ; then + ewarn "If your system is using 'pg_stat_statements' and you are running a" + ewarn "version of PostgreSQL ${SLOT}, we advise that you execute" + ewarn "the following command after upgrading:" + ewarn + ewarn "ALTER EXTENSION pg_stat_statements UPDATE;" + fi + fi +} + +pkg_prerm() { + if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then + ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?" + ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL" + + ebegin "Resuming removal in 10 seconds (Control-C to cancel)" + sleep 10 + eend 0 + fi +} + +pkg_postrm() { + postgresql-config update +} + +pkg_config() { + use server || die "USE flag 'server' not enabled. Nothing to configure." + + [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \ + && source "${EROOT}/etc/conf.d/postgresql-${SLOT}" + [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/" + [[ -z "${DATA_DIR}" ]] \ + && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data" + + # environment.bz2 may not contain the same locale as the current system + # locale. Unset and source from the current system locale. + if [ -f "${EROOT}/etc/env.d/02locale" ]; then + unset LANG + unset LC_CTYPE + unset LC_NUMERIC + unset LC_TIME + unset LC_COLLATE + unset LC_MONETARY + unset LC_MESSAGES + unset LC_ALL + source "${EROOT}/etc/env.d/02locale" + [ -n "${LANG}" ] && export LANG + [ -n "${LC_CTYPE}" ] && export LC_CTYPE + [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC + [ -n "${LC_TIME}" ] && export LC_TIME + [ -n "${LC_COLLATE}" ] && export LC_COLLATE + [ -n "${LC_MONETARY}" ] && export LC_MONETARY + [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES + [ -n "${LC_ALL}" ] && export LC_ALL + fi + + einfo "You can modify the paths and options passed to initdb by editing:" + einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}" + einfo + einfo "Information on options that can be passed to initdb are found at:" + einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html" + einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html" + einfo + einfo "PG_INITDB_OPTS is currently set to:" + if [[ -z "${PG_INITDB_OPTS}" ]] ; then + einfo " (none)" + else + einfo " ${PG_INITDB_OPTS}" + fi + einfo + einfo "Configuration files will be installed to:" + einfo " ${PGDATA}" + einfo + einfo "The database cluster will be created in:" + einfo " ${DATA_DIR}" + einfo + + ebegin "Continuing initialization in 5 seconds (Control-C to cancel)" + sleep 5 + eend 0 + + if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then + eerror "The given directory, '${DATA_DIR}', is not empty." + eerror "Modify DATA_DIR to point to an empty directory." + die "${DATA_DIR} is not empty." + fi + + einfo "Creating the data directory ..." + if [[ ${EUID} == 0 ]] ; then + mkdir -p "${DATA_DIR}" + chown -Rf postgres:postgres "${DATA_DIR}" + chmod 0700 "${DATA_DIR}" + fi + + einfo "Initializing the database ..." + + if [[ ${EUID} == 0 ]] ; then + su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}" + else + "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS} + fi + + if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then + mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}" + ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}" + fi + + # unix_socket_directory has no effect in postgresql.conf as it's + # overridden in the initscript + sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf + + cat <<- EOF >> "${PGDATA%/}"/postgresql.conf + # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522 + # On the off-chance that you might need to work with UTF-8 encoded + # characters in PL/Perl + plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";' + EOF + + einfo "The autovacuum function, which was in contrib, has been moved to the main" + einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled" + einfo "by default. You can disable it in the cluster's:" + einfo " ${PGDATA%/}/postgresql.conf" + einfo + if ! use systemd; then + einfo "The PostgreSQL server, by default, will log events to:" + einfo " ${DATA_DIR%/}/postmaster.log" + einfo + fi + if use prefix ; then + einfo "The location of the configuration files have moved to:" + einfo " ${PGDATA}" + einfo "To start the server:" + einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'" + einfo "To stop:" + einfo " pg_ctl stop -D ${DATA_DIR}" + einfo + einfo "Or move the configuration files back:" + einfo "mv ${PGDATA}*.conf ${DATA_DIR}" + elif use systemd; then + einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL" + einfo "instead of 'pg_ctl'." + else + einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL" + einfo "instead of 'pg_ctl'." + fi +} + +src_test() { + if use server && [[ ${UID} -ne 0 ]] ; then + emake check + + einfo "If you think other tests besides the regression tests are necessary, please" + einfo "submit a bug including a patch for this ebuild to enable them." + else + use server || \ + ewarn 'Tests cannot be run without the "server" use flag enabled.' + [[ ${UID} -eq 0 ]] || \ + ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.' + + ewarn 'Skipping.' + fi +} diff --git a/dev-db/postgresql/postgresql-11.9.ebuild b/dev-db/postgresql/postgresql-11.9.ebuild new file mode 100644 index 000000000000..9a8ffb7251a0 --- /dev/null +++ b/dev-db/postgresql/postgresql-11.9.ebuild @@ -0,0 +1,458 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7} ) + +inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd + +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +SLOT=$(ver_cut 1) + +MY_PV=${PV/_/} +S="${WORKDIR}/${PN}-${MY_PV}" + +SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2" + +LICENSE="POSTGRESQL GPL-2" +DESCRIPTION="PostgreSQL RDBMS" +HOMEPAGE="https://www.postgresql.org/" + +IUSE="debug doc icu kerberos kernel_linux ldap libressl llvm nls pam + perl python +readline selinux +server systemd ssl static-libs tcl + threads uuid xml zlib" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +acct-group/postgres +acct-user/postgres +sys-apps/less +virtual/libintl +icu? ( dev-libs/icu:= ) +kerberos? ( virtual/krb5 ) +ldap? ( net-nds/openldap ) +llvm? ( + sys-devel/llvm:= + sys-devel/clang:= +) +pam? ( sys-libs/pam ) +perl? ( >=dev-lang/perl-5.8:= ) +python? ( ${PYTHON_DEPS} ) +readline? ( sys-libs/readline:0= ) +server? ( systemd? ( sys-apps/systemd ) ) +ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= ) + libressl? ( dev-libs/libressl:= ) +) +tcl? ( >=dev-lang/tcl-8:0= ) +xml? ( dev-libs/libxml2 dev-libs/libxslt ) +zlib? ( sys-libs/zlib ) +" + +# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no +# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems, +# the libc includes UUID functions. +UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} ) +BSD_LIBC=( elibc_{Free,Net,Open}BSD ) + +nest_usedep() { + local front back + while [[ ${#} -gt 1 ]]; do + front+="${1}? ( " + back+=" )" + shift + done + echo "${front}${1}${back}" +} + +IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}" +CDEPEND+=" +uuid? ( + ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )} + $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid) +)" + +DEPEND="${CDEPEND} +sys-devel/bison +sys-devel/flex +nls? ( sys-devel/gettext ) +xml? ( virtual/pkgconfig ) +" + +RDEPEND="${CDEPEND} +selinux? ( sec-policy/selinux-postgresql ) +" + +pkg_setup() { + use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # Set proper run directory + sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \ + -i src/include/pg_config_manual.h || die + + # Rely on $PATH being in the proper order so that the correct + # install program is used for modules utilizing PGXS in both + # hardened and non-hardened environments. (Bug #528786) + sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die + + use server || eapply "${FILESDIR}/${PN}-11_beta1-no-server.patch" + + if use pam ; then + sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \ + -i src/backend/libpq/auth.c || \ + die 'PGSQL_PAM_SERVICE rename failed.' + fi + + eapply_user +} + +src_configure() { + case ${CHOST} in + *-darwin*|*-solaris*) + use nls && append-libs intl + ;; + esac + + export LDFLAGS_SL="${LDFLAGS}" + export LDFLAGS_EX="${LDFLAGS}" + + local PO="${EPREFIX}" + + local i uuid_config="" + if use uuid; then + for i in ${UTIL_LINUX_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=e2fs" + done + for i in ${BSD_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=bsd" + done + [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp" + fi + + econf \ + --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \ + --datadir="${PO}/usr/share/postgresql-${SLOT}" \ + --includedir="${PO}/usr/include/postgresql-${SLOT}" \ + --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \ + --sysconfdir="${PO}/etc/postgresql-${SLOT}" \ + --with-system-tzdata="${PO}/usr/share/zoneinfo" \ + $(use_enable !alpha spinlocks) \ + $(use_enable debug) \ + $(use_enable threads thread-safety) \ + $(use_with icu) \ + $(use_with kerberos gssapi) \ + $(use_with ldap) \ + $(use_with llvm) \ + $(use_with pam) \ + $(use_with perl) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with ssl openssl) \ + $(usex server "$(use_with systemd)" '--without-systemd') \ + $(use_with tcl) \ + ${uuid_config} \ + $(use_with xml libxml) \ + $(use_with xml libxslt) \ + $(use_with zlib) \ + $(use_enable nls) +} + +src_compile() { + emake + emake -C contrib +} + +src_install() { + emake DESTDIR="${D}" install + emake DESTDIR="${D}" install -C contrib + + dodoc README HISTORY doc/{TODO,bug.template} + + # man pages are already built, but if we have the target make them, + # they'll be generated from source before being installed so we + # manually install man pages. + # We use ${SLOT} instead of doman for postgresql.eselect + insinto /usr/share/postgresql-${SLOT}/man/ + doins -r doc/src/sgml/man{1,3,7} + if ! use server; then + # Remove man pages for non-existent binaries + serverman=( + initdb + pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby} + pg_{test_{fsync,timing},upgrade,waldump} + post{gres,master} + ) + for m in ${serverman[@]} ; do + rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1" + done + fi + docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7} + + # Create slot specific man pages + local bn f mansec slotted_name + for mansec in 1 3 7 ; do + local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}" + + mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir" + pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed" + + for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do + bn=$(basename "${f}") + slotted_name=${bn%.${mansec}}${SLOT}.${mansec} + case ${bn} in + TABLE.7|WITH.7) + echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name} + ;; + *) + echo ".so ${rel_manpath}/${bn}" > ${slotted_name} + ;; + esac + done + + popd > /dev/null + done + + insinto /etc/postgresql-${SLOT} + newins src/bin/psql/psqlrc.sample psqlrc + + # Don't delete libpg{port,common}.a (Bug #571046). They're always + # needed by extensions utilizing PGXS. + use static-libs || \ + find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \ + -delete + + # Make slot specific links to programs + local f bn + for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ + -mindepth 1 -maxdepth 1) + do + bn=$(basename "${f}") + dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ + "/usr/bin/${bn}${SLOT/.}" + done + + if use doc ; then + docinto html + dodoc doc/src/sgml/html/* + fi + + if use server; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} + + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT} + + if use systemd; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.service-9.6-r1" | \ + systemd_newunit - ${PN}-${SLOT}.service + newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir + systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf + fi + + use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session + + if use prefix ; then + keepdir /run/postgresql + fperms 1775 /run/postgresql + fi + fi +} + +pkg_postinst() { + use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf + postgresql-config update + + elog "If you need a global psqlrc-file, you can place it in:" + elog " ${EROOT}/etc/postgresql-${SLOT}/" + + if use server ; then + elog + elog "Gentoo specific documentation:" + elog "https://wiki.gentoo.org/wiki/PostgreSQL" + elog + elog "Official documentation:" + elog "https://www.postgresql.org/docs/${SLOT}/static/index.html" + elog + elog "The default location of the Unix-domain socket is:" + elog " ${EROOT}/run/postgresql/" + elog + elog "Before initializing the database, you may want to edit PG_INITDB_OPTS" + elog "so that it contains your preferred locale in:" + elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}" + elog + elog "Then, execute the following command to setup the initial database" + elog "environment:" + elog " emerge --config =${CATEGORY}/${PF}" + + if [[ -n ${REPLACING_VERSIONS} ]] ; then + ewarn "If your system is using 'pg_stat_statements' and you are running a" + ewarn "version of PostgreSQL ${SLOT}, we advise that you execute" + ewarn "the following command after upgrading:" + ewarn + ewarn "ALTER EXTENSION pg_stat_statements UPDATE;" + fi + fi +} + +pkg_prerm() { + if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then + ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?" + ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL" + + ebegin "Resuming removal in 10 seconds (Control-C to cancel)" + sleep 10 + eend 0 + fi +} + +pkg_postrm() { + postgresql-config update +} + +pkg_config() { + use server || die "USE flag 'server' not enabled. Nothing to configure." + + [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \ + && source "${EROOT}/etc/conf.d/postgresql-${SLOT}" + [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/" + [[ -z "${DATA_DIR}" ]] \ + && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data" + + # environment.bz2 may not contain the same locale as the current system + # locale. Unset and source from the current system locale. + if [ -f "${EROOT}/etc/env.d/02locale" ]; then + unset LANG + unset LC_CTYPE + unset LC_NUMERIC + unset LC_TIME + unset LC_COLLATE + unset LC_MONETARY + unset LC_MESSAGES + unset LC_ALL + source "${EROOT}/etc/env.d/02locale" + [ -n "${LANG}" ] && export LANG + [ -n "${LC_CTYPE}" ] && export LC_CTYPE + [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC + [ -n "${LC_TIME}" ] && export LC_TIME + [ -n "${LC_COLLATE}" ] && export LC_COLLATE + [ -n "${LC_MONETARY}" ] && export LC_MONETARY + [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES + [ -n "${LC_ALL}" ] && export LC_ALL + fi + + einfo "You can modify the paths and options passed to initdb by editing:" + einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}" + einfo + einfo "Information on options that can be passed to initdb are found at:" + einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html" + einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html" + einfo + einfo "PG_INITDB_OPTS is currently set to:" + if [[ -z "${PG_INITDB_OPTS}" ]] ; then + einfo " (none)" + else + einfo " ${PG_INITDB_OPTS}" + fi + einfo + einfo "Configuration files will be installed to:" + einfo " ${PGDATA}" + einfo + einfo "The database cluster will be created in:" + einfo " ${DATA_DIR}" + einfo + + ebegin "Continuing initialization in 5 seconds (Control-C to cancel)" + sleep 5 + eend 0 + + if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then + eerror "The given directory, '${DATA_DIR}', is not empty." + eerror "Modify DATA_DIR to point to an empty directory." + die "${DATA_DIR} is not empty." + fi + + einfo "Creating the data directory ..." + if [[ ${EUID} == 0 ]] ; then + mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs" + mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR" + chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown" + fi + + einfo "Initializing the database ..." + + if [[ ${EUID} == 0 ]] ; then + su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}" + else + "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS} + fi + + if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then + mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}" + ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}" + fi + + # unix_socket_directory has no effect in postgresql.conf as it's + # overridden in the initscript + sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf + + cat <<- EOF >> "${PGDATA%/}"/postgresql.conf + # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522 + # On the off-chance that you might need to work with UTF-8 encoded + # characters in PL/Perl + plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";' + EOF + + einfo "The autovacuum function, which was in contrib, has been moved to the main" + einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled" + einfo "by default. You can disable it in the cluster's:" + einfo " ${PGDATA%/}/postgresql.conf" + einfo + if ! use systemd; then + einfo "The PostgreSQL server, by default, will log events to:" + einfo " ${DATA_DIR%/}/postmaster.log" + einfo + fi + if use prefix ; then + einfo "The location of the configuration files have moved to:" + einfo " ${PGDATA}" + einfo "To start the server:" + einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'" + einfo "To stop:" + einfo " pg_ctl stop -D ${DATA_DIR}" + einfo + einfo "Or move the configuration files back:" + einfo "mv ${PGDATA}*.conf ${DATA_DIR}" + elif use systemd; then + einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL" + einfo "instead of 'pg_ctl'." + else + einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL" + einfo "instead of 'pg_ctl'." + fi +} + +src_test() { + if use server && [[ ${UID} -ne 0 ]] ; then + emake check + + einfo "If you think other tests besides the regression tests are necessary, please" + einfo "submit a bug including a patch for this ebuild to enable them." + else + use server || \ + ewarn 'Tests cannot be run without the "server" use flag enabled.' + [[ ${UID} -eq 0 ]] || \ + ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.' + + ewarn 'Skipping.' + fi +} diff --git a/dev-db/postgresql/postgresql-12.4.ebuild b/dev-db/postgresql/postgresql-12.4.ebuild new file mode 100644 index 000000000000..19a21c0e6899 --- /dev/null +++ b/dev-db/postgresql/postgresql-12.4.ebuild @@ -0,0 +1,458 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7} ) + +inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd + +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +SLOT=$(ver_cut 1) + +MY_PV=${PV/_/} +S="${WORKDIR}/${PN}-${MY_PV}" + +SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2" + +LICENSE="POSTGRESQL GPL-2" +DESCRIPTION="PostgreSQL RDBMS" +HOMEPAGE="https://www.postgresql.org/" + +IUSE="debug doc icu kerberos kernel_linux ldap libressl llvm nls pam + perl python +readline selinux +server systemd ssl static-libs tcl + threads uuid xml zlib" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +acct-group/postgres +acct-user/postgres +sys-apps/less +virtual/libintl +icu? ( dev-libs/icu:= ) +kerberos? ( virtual/krb5 ) +ldap? ( net-nds/openldap ) +llvm? ( + sys-devel/llvm:= + sys-devel/clang:= +) +pam? ( sys-libs/pam ) +perl? ( >=dev-lang/perl-5.8:= ) +python? ( ${PYTHON_DEPS} ) +readline? ( sys-libs/readline:0= ) +server? ( systemd? ( sys-apps/systemd ) ) +ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= ) + libressl? ( dev-libs/libressl:= ) +) +tcl? ( >=dev-lang/tcl-8:0= ) +xml? ( dev-libs/libxml2 dev-libs/libxslt ) +zlib? ( sys-libs/zlib ) +" + +# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no +# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems, +# the libc includes UUID functions. +UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} ) +BSD_LIBC=( elibc_{Free,Net,Open}BSD ) + +nest_usedep() { + local front back + while [[ ${#} -gt 1 ]]; do + front+="${1}? ( " + back+=" )" + shift + done + echo "${front}${1}${back}" +} + +IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}" +CDEPEND+=" +uuid? ( + ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )} + $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid) +)" + +DEPEND="${CDEPEND} +sys-devel/bison +sys-devel/flex +nls? ( sys-devel/gettext ) +xml? ( virtual/pkgconfig ) +" + +RDEPEND="${CDEPEND} +selinux? ( sec-policy/selinux-postgresql ) +" + +pkg_setup() { + use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # Set proper run directory + sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \ + -i src/include/pg_config_manual.h || die + + # Rely on $PATH being in the proper order so that the correct + # install program is used for modules utilizing PGXS in both + # hardened and non-hardened environments. (Bug #528786) + sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die + + use server || eapply "${FILESDIR}/${PN}-12.1-no-server.patch" + + if use pam ; then + sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \ + -i src/backend/libpq/auth.c || \ + die 'PGSQL_PAM_SERVICE rename failed.' + fi + + eapply_user +} + +src_configure() { + case ${CHOST} in + *-darwin*|*-solaris*) + use nls && append-libs intl + ;; + esac + + export LDFLAGS_SL="${LDFLAGS}" + export LDFLAGS_EX="${LDFLAGS}" + + local PO="${EPREFIX}" + + local i uuid_config="" + if use uuid; then + for i in ${UTIL_LINUX_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=e2fs" + done + for i in ${BSD_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=bsd" + done + [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp" + fi + + econf \ + --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \ + --datadir="${PO}/usr/share/postgresql-${SLOT}" \ + --includedir="${PO}/usr/include/postgresql-${SLOT}" \ + --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \ + --sysconfdir="${PO}/etc/postgresql-${SLOT}" \ + --with-system-tzdata="${PO}/usr/share/zoneinfo" \ + $(use_enable !alpha spinlocks) \ + $(use_enable debug) \ + $(use_enable threads thread-safety) \ + $(use_with icu) \ + $(use_with kerberos gssapi) \ + $(use_with ldap) \ + $(use_with llvm) \ + $(use_with pam) \ + $(use_with perl) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with ssl openssl) \ + $(usex server "$(use_with systemd)" '--without-systemd') \ + $(use_with tcl) \ + ${uuid_config} \ + $(use_with xml libxml) \ + $(use_with xml libxslt) \ + $(use_with zlib) \ + $(use_enable nls) +} + +src_compile() { + emake + emake -C contrib +} + +src_install() { + emake DESTDIR="${D}" install + emake DESTDIR="${D}" install -C contrib + + dodoc README HISTORY + + # man pages are already built, but if we have the target make them, + # they'll be generated from source before being installed so we + # manually install man pages. + # We use ${SLOT} instead of doman for postgresql.eselect + insinto /usr/share/postgresql-${SLOT}/man/ + doins -r doc/src/sgml/man{1,3,7} + if ! use server; then + # Remove man pages for non-existent binaries + serverman=( + initdb + pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby} + pg_{test_{fsync,timing},upgrade,waldump} + post{gres,master} + ) + for m in ${serverman[@]} ; do + rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1" + done + fi + docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7} + + # Create slot specific man pages + local bn f mansec slotted_name + for mansec in 1 3 7 ; do + local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}" + + mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir" + pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed" + + for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do + bn=$(basename "${f}") + slotted_name=${bn%.${mansec}}${SLOT}.${mansec} + case ${bn} in + TABLE.7|WITH.7) + echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name} + ;; + *) + echo ".so ${rel_manpath}/${bn}" > ${slotted_name} + ;; + esac + done + + popd > /dev/null + done + + insinto /etc/postgresql-${SLOT} + newins src/bin/psql/psqlrc.sample psqlrc + + # Don't delete libpg{port,common}.a (Bug #571046). They're always + # needed by extensions utilizing PGXS. + use static-libs || \ + find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \ + -delete + + # Make slot specific links to programs + local f bn + for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ + -mindepth 1 -maxdepth 1) + do + bn=$(basename "${f}") + dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ + "/usr/bin/${bn}${SLOT/.}" + done + + if use doc ; then + docinto html + dodoc doc/src/sgml/html/* + fi + + if use server; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} + + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT} + + if use systemd; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.service-9.6-r1" | \ + systemd_newunit - ${PN}-${SLOT}.service + newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir + systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf + fi + + use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session + + if use prefix ; then + keepdir /run/postgresql + fperms 1775 /run/postgresql + fi + fi +} + +pkg_postinst() { + use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf + postgresql-config update + + elog "If you need a global psqlrc-file, you can place it in:" + elog " ${EROOT}/etc/postgresql-${SLOT}/" + + if use server ; then + elog + elog "Gentoo specific documentation:" + elog "https://wiki.gentoo.org/wiki/PostgreSQL" + elog + elog "Official documentation:" + elog "https://www.postgresql.org/docs/${SLOT}/static/index.html" + elog + elog "The default location of the Unix-domain socket is:" + elog " ${EROOT}/run/postgresql/" + elog + elog "Before initializing the database, you may want to edit PG_INITDB_OPTS" + elog "so that it contains your preferred locale in:" + elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}" + elog + elog "Then, execute the following command to setup the initial database" + elog "environment:" + elog " emerge --config =${CATEGORY}/${PF}" + + if [[ -n ${REPLACING_VERSIONS} ]] ; then + ewarn "If your system is using 'pg_stat_statements' and you are running a" + ewarn "version of PostgreSQL ${SLOT}, we advise that you execute" + ewarn "the following command after upgrading:" + ewarn + ewarn "ALTER EXTENSION pg_stat_statements UPDATE;" + fi + fi +} + +pkg_prerm() { + if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then + ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?" + ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL" + + ebegin "Resuming removal in 10 seconds (Control-C to cancel)" + sleep 10 + eend 0 + fi +} + +pkg_postrm() { + postgresql-config update +} + +pkg_config() { + use server || die "USE flag 'server' not enabled. Nothing to configure." + + [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \ + && source "${EROOT}/etc/conf.d/postgresql-${SLOT}" + [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/" + [[ -z "${DATA_DIR}" ]] \ + && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data" + + # environment.bz2 may not contain the same locale as the current system + # locale. Unset and source from the current system locale. + if [ -f "${EROOT}/etc/env.d/02locale" ]; then + unset LANG + unset LC_CTYPE + unset LC_NUMERIC + unset LC_TIME + unset LC_COLLATE + unset LC_MONETARY + unset LC_MESSAGES + unset LC_ALL + source "${EROOT}/etc/env.d/02locale" + [ -n "${LANG}" ] && export LANG + [ -n "${LC_CTYPE}" ] && export LC_CTYPE + [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC + [ -n "${LC_TIME}" ] && export LC_TIME + [ -n "${LC_COLLATE}" ] && export LC_COLLATE + [ -n "${LC_MONETARY}" ] && export LC_MONETARY + [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES + [ -n "${LC_ALL}" ] && export LC_ALL + fi + + einfo "You can modify the paths and options passed to initdb by editing:" + einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}" + einfo + einfo "Information on options that can be passed to initdb are found at:" + einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html" + einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html" + einfo + einfo "PG_INITDB_OPTS is currently set to:" + if [[ -z "${PG_INITDB_OPTS}" ]] ; then + einfo " (none)" + else + einfo " ${PG_INITDB_OPTS}" + fi + einfo + einfo "Configuration files will be installed to:" + einfo " ${PGDATA}" + einfo + einfo "The database cluster will be created in:" + einfo " ${DATA_DIR}" + einfo + + ebegin "Continuing initialization in 5 seconds (Control-C to cancel)" + sleep 5 + eend 0 + + if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then + eerror "The given directory, '${DATA_DIR}', is not empty." + eerror "Modify DATA_DIR to point to an empty directory." + die "${DATA_DIR} is not empty." + fi + + einfo "Creating the data directory ..." + if [[ ${EUID} == 0 ]] ; then + mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs" + mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR" + chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown" + fi + + einfo "Initializing the database ..." + + if [[ ${EUID} == 0 ]] ; then + su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}" + else + "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS} + fi + + if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then + mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}" + ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}" + fi + + # unix_socket_directory has no effect in postgresql.conf as it's + # overridden in the initscript + sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf + + cat <<- EOF >> "${PGDATA%/}"/postgresql.conf + # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522 + # On the off-chance that you might need to work with UTF-8 encoded + # characters in PL/Perl + plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";' + EOF + + einfo "The autovacuum function, which was in contrib, has been moved to the main" + einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled" + einfo "by default. You can disable it in the cluster's:" + einfo " ${PGDATA%/}/postgresql.conf" + einfo + if ! use systemd; then + einfo "The PostgreSQL server, by default, will log events to:" + einfo " ${DATA_DIR%/}/postmaster.log" + einfo + fi + if use prefix ; then + einfo "The location of the configuration files have moved to:" + einfo " ${PGDATA}" + einfo "To start the server:" + einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'" + einfo "To stop:" + einfo " pg_ctl stop -D ${DATA_DIR}" + einfo + einfo "Or move the configuration files back:" + einfo "mv ${PGDATA}*.conf ${DATA_DIR}" + elif use systemd; then + einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL" + einfo "instead of 'pg_ctl'." + else + einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL" + einfo "instead of 'pg_ctl'." + fi +} + +src_test() { + if use server && [[ ${UID} -ne 0 ]] ; then + emake check + + einfo "If you think other tests besides the regression tests are necessary, please" + einfo "submit a bug including a patch for this ebuild to enable them." + else + use server || \ + ewarn 'Tests cannot be run without the "server" use flag enabled.' + [[ ${UID} -eq 0 ]] || \ + ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.' + + ewarn 'Skipping.' + fi +} diff --git a/dev-db/postgresql/postgresql-13_beta1.ebuild b/dev-db/postgresql/postgresql-13_beta2.ebuild index 000f3085aa8e..000f3085aa8e 100644 --- a/dev-db/postgresql/postgresql-13_beta1.ebuild +++ b/dev-db/postgresql/postgresql-13_beta2.ebuild diff --git a/dev-db/postgresql/postgresql-13_beta3.ebuild b/dev-db/postgresql/postgresql-13_beta3.ebuild new file mode 100644 index 000000000000..210d6e3dfda1 --- /dev/null +++ b/dev-db/postgresql/postgresql-13_beta3.ebuild @@ -0,0 +1,458 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7} ) + +inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd + +KEYWORDS="" + +SLOT=$(ver_cut 1) + +MY_PV=${PV/_/} +S="${WORKDIR}/${PN}-${MY_PV}" + +SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2" + +LICENSE="POSTGRESQL GPL-2" +DESCRIPTION="PostgreSQL RDBMS" +HOMEPAGE="https://www.postgresql.org/" + +IUSE="debug doc icu kerberos kernel_linux ldap libressl llvm nls pam + perl python +readline selinux +server systemd ssl static-libs tcl + threads uuid xml zlib" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +acct-group/postgres +acct-user/postgres +sys-apps/less +virtual/libintl +icu? ( dev-libs/icu:= ) +kerberos? ( virtual/krb5 ) +ldap? ( net-nds/openldap ) +llvm? ( + sys-devel/llvm:= + sys-devel/clang:= +) +pam? ( sys-libs/pam ) +perl? ( >=dev-lang/perl-5.8:= ) +python? ( ${PYTHON_DEPS} ) +readline? ( sys-libs/readline:0= ) +server? ( systemd? ( sys-apps/systemd ) ) +ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= ) + libressl? ( dev-libs/libressl:= ) +) +tcl? ( >=dev-lang/tcl-8:0= ) +xml? ( dev-libs/libxml2 dev-libs/libxslt ) +zlib? ( sys-libs/zlib ) +" + +# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no +# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems, +# the libc includes UUID functions. +UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} ) +BSD_LIBC=( elibc_{Free,Net,Open}BSD ) + +nest_usedep() { + local front back + while [[ ${#} -gt 1 ]]; do + front+="${1}? ( " + back+=" )" + shift + done + echo "${front}${1}${back}" +} + +IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}" +CDEPEND+=" +uuid? ( + ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )} + $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid) +)" + +DEPEND="${CDEPEND} +sys-devel/bison +sys-devel/flex +nls? ( sys-devel/gettext ) +xml? ( virtual/pkgconfig ) +" + +RDEPEND="${CDEPEND} +selinux? ( sec-policy/selinux-postgresql ) +" + +pkg_setup() { + use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # Set proper run directory + sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \ + -i src/include/pg_config_manual.h || die + + # Rely on $PATH being in the proper order so that the correct + # install program is used for modules utilizing PGXS in both + # hardened and non-hardened environments. (Bug #528786) + sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die + + use server || eapply "${FILESDIR}/${PN}-13_beta1-no-server.patch" + + if use pam ; then + sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \ + -i src/backend/libpq/auth.c || \ + die 'PGSQL_PAM_SERVICE rename failed.' + fi + + eapply_user +} + +src_configure() { + case ${CHOST} in + *-darwin*|*-solaris*) + use nls && append-libs intl + ;; + esac + + export LDFLAGS_SL="${LDFLAGS}" + export LDFLAGS_EX="${LDFLAGS}" + + local PO="${EPREFIX}" + + local i uuid_config="" + if use uuid; then + for i in ${UTIL_LINUX_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=e2fs" + done + for i in ${BSD_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=bsd" + done + [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp" + fi + + econf \ + --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \ + --datadir="${PO}/usr/share/postgresql-${SLOT}" \ + --includedir="${PO}/usr/include/postgresql-${SLOT}" \ + --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \ + --sysconfdir="${PO}/etc/postgresql-${SLOT}" \ + --with-system-tzdata="${PO}/usr/share/zoneinfo" \ + $(use_enable !alpha spinlocks) \ + $(use_enable debug) \ + $(use_enable threads thread-safety) \ + $(use_with icu) \ + $(use_with kerberos gssapi) \ + $(use_with ldap) \ + $(use_with llvm) \ + $(use_with pam) \ + $(use_with perl) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with ssl openssl) \ + $(usex server "$(use_with systemd)" '--without-systemd') \ + $(use_with tcl) \ + ${uuid_config} \ + $(use_with xml libxml) \ + $(use_with xml libxslt) \ + $(use_with zlib) \ + $(use_enable nls) +} + +src_compile() { + emake + emake -C contrib +} + +src_install() { + emake DESTDIR="${D}" install + emake DESTDIR="${D}" install -C contrib + + dodoc README HISTORY + + # man pages are already built, but if we have the target make them, + # they'll be generated from source before being installed so we + # manually install man pages. + # We use ${SLOT} instead of doman for postgresql.eselect + insinto /usr/share/postgresql-${SLOT}/man/ + doins -r doc/src/sgml/man{1,3,7} + if ! use server; then + # Remove man pages for non-existent binaries + serverman=( + initdb + pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby} + pg_{test_{fsync,timing},upgrade,waldump} + post{gres,master} + ) + for m in ${serverman[@]} ; do + rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1" + done + fi + docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7} + + # Create slot specific man pages + local bn f mansec slotted_name + for mansec in 1 3 7 ; do + local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}" + + mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir" + pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed" + + for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do + bn=$(basename "${f}") + slotted_name=${bn%.${mansec}}${SLOT}.${mansec} + case ${bn} in + TABLE.7|WITH.7) + echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name} + ;; + *) + echo ".so ${rel_manpath}/${bn}" > ${slotted_name} + ;; + esac + done + + popd > /dev/null + done + + insinto /etc/postgresql-${SLOT} + newins src/bin/psql/psqlrc.sample psqlrc + + # Don't delete libpg{port,common}.a (Bug #571046). They're always + # needed by extensions utilizing PGXS. + use static-libs || \ + find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \ + -delete + + # Make slot specific links to programs + local f bn + for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ + -mindepth 1 -maxdepth 1) + do + bn=$(basename "${f}") + dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ + "/usr/bin/${bn}${SLOT/.}" + done + + if use doc ; then + docinto html + dodoc doc/src/sgml/html/* + fi + + if use server; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} + + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT} + + if use systemd; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.service-9.6-r1" | \ + systemd_newunit - ${PN}-${SLOT}.service + newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir + systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf + fi + + use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session + + if use prefix ; then + keepdir /run/postgresql + fperms 1775 /run/postgresql + fi + fi +} + +pkg_postinst() { + use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf + postgresql-config update + + elog "If you need a global psqlrc-file, you can place it in:" + elog " ${EROOT}/etc/postgresql-${SLOT}/" + + if use server ; then + elog + elog "Gentoo specific documentation:" + elog "https://wiki.gentoo.org/wiki/PostgreSQL" + elog + elog "Official documentation:" + elog "https://www.postgresql.org/docs/${SLOT}/static/index.html" + elog + elog "The default location of the Unix-domain socket is:" + elog " ${EROOT}/run/postgresql/" + elog + elog "Before initializing the database, you may want to edit PG_INITDB_OPTS" + elog "so that it contains your preferred locale in:" + elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}" + elog + elog "Then, execute the following command to setup the initial database" + elog "environment:" + elog " emerge --config =${CATEGORY}/${PF}" + + if [[ -n ${REPLACING_VERSIONS} ]] ; then + ewarn "If your system is using 'pg_stat_statements' and you are running a" + ewarn "version of PostgreSQL ${SLOT}, we advise that you execute" + ewarn "the following command after upgrading:" + ewarn + ewarn "ALTER EXTENSION pg_stat_statements UPDATE;" + fi + fi +} + +pkg_prerm() { + if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then + ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?" + ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL" + + ebegin "Resuming removal in 10 seconds (Control-C to cancel)" + sleep 10 + eend 0 + fi +} + +pkg_postrm() { + postgresql-config update +} + +pkg_config() { + use server || die "USE flag 'server' not enabled. Nothing to configure." + + [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \ + && source "${EROOT}/etc/conf.d/postgresql-${SLOT}" + [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/" + [[ -z "${DATA_DIR}" ]] \ + && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data" + + # environment.bz2 may not contain the same locale as the current system + # locale. Unset and source from the current system locale. + if [ -f "${EROOT}/etc/env.d/02locale" ]; then + unset LANG + unset LC_CTYPE + unset LC_NUMERIC + unset LC_TIME + unset LC_COLLATE + unset LC_MONETARY + unset LC_MESSAGES + unset LC_ALL + source "${EROOT}/etc/env.d/02locale" + [ -n "${LANG}" ] && export LANG + [ -n "${LC_CTYPE}" ] && export LC_CTYPE + [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC + [ -n "${LC_TIME}" ] && export LC_TIME + [ -n "${LC_COLLATE}" ] && export LC_COLLATE + [ -n "${LC_MONETARY}" ] && export LC_MONETARY + [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES + [ -n "${LC_ALL}" ] && export LC_ALL + fi + + einfo "You can modify the paths and options passed to initdb by editing:" + einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}" + einfo + einfo "Information on options that can be passed to initdb are found at:" + einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html" + einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html" + einfo + einfo "PG_INITDB_OPTS is currently set to:" + if [[ -z "${PG_INITDB_OPTS}" ]] ; then + einfo " (none)" + else + einfo " ${PG_INITDB_OPTS}" + fi + einfo + einfo "Configuration files will be installed to:" + einfo " ${PGDATA}" + einfo + einfo "The database cluster will be created in:" + einfo " ${DATA_DIR}" + einfo + + ebegin "Continuing initialization in 5 seconds (Control-C to cancel)" + sleep 5 + eend 0 + + if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then + eerror "The given directory, '${DATA_DIR}', is not empty." + eerror "Modify DATA_DIR to point to an empty directory." + die "${DATA_DIR} is not empty." + fi + + einfo "Creating the data directory ..." + if [[ ${EUID} == 0 ]] ; then + mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs" + mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR" + chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown" + fi + + einfo "Initializing the database ..." + + if [[ ${EUID} == 0 ]] ; then + su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}" + else + "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS} + fi + + if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then + mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}" + ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}" + fi + + # unix_socket_directory has no effect in postgresql.conf as it's + # overridden in the initscript + sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf + + cat <<- EOF >> "${PGDATA%/}"/postgresql.conf + # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522 + # On the off-chance that you might need to work with UTF-8 encoded + # characters in PL/Perl + plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";' + EOF + + einfo "The autovacuum function, which was in contrib, has been moved to the main" + einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled" + einfo "by default. You can disable it in the cluster's:" + einfo " ${PGDATA%/}/postgresql.conf" + einfo + if ! use systemd; then + einfo "The PostgreSQL server, by default, will log events to:" + einfo " ${DATA_DIR%/}/postmaster.log" + einfo + fi + if use prefix ; then + einfo "The location of the configuration files have moved to:" + einfo " ${PGDATA}" + einfo "To start the server:" + einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'" + einfo "To stop:" + einfo " pg_ctl stop -D ${DATA_DIR}" + einfo + einfo "Or move the configuration files back:" + einfo "mv ${PGDATA}*.conf ${DATA_DIR}" + elif use systemd; then + einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL" + einfo "instead of 'pg_ctl'." + else + einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL" + einfo "instead of 'pg_ctl'." + fi +} + +src_test() { + if use server && [[ ${UID} -ne 0 ]] ; then + emake check + + einfo "If you think other tests besides the regression tests are necessary, please" + einfo "submit a bug including a patch for this ebuild to enable them." + else + use server || \ + ewarn 'Tests cannot be run without the "server" use flag enabled.' + [[ ${UID} -eq 0 ]] || \ + ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.' + + ewarn 'Skipping.' + fi +} diff --git a/dev-db/postgresql/postgresql-9.4.26.ebuild b/dev-db/postgresql/postgresql-9.5.23.ebuild index c662926d91f3..7449d534183a 100644 --- a/dev-db/postgresql/postgresql-9.4.26.ebuild +++ b/dev-db/postgresql/postgresql-9.5.23.ebuild @@ -5,13 +5,9 @@ EAPI=7 PYTHON_COMPAT=( python3_{6,7} ) -PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN - zh_TW" +inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd -inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ - systemd user - -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~ppc-macos ~x86-solaris" SLOT=$(ver_cut 1-2) @@ -29,6 +25,8 @@ REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" CDEPEND=" >=app-eselect/eselect-postgresql-2.0 +acct-group/postgres +acct-user/postgres sys-apps/less virtual/libintl kerberos? ( virtual/krb5 ) @@ -70,7 +68,6 @@ uuid? ( )" DEPEND="${CDEPEND} -!!<sys-apps/sandbox-2.0 sys-devel/bison sys-devel/flex nls? ( sys-devel/gettext ) @@ -78,18 +75,12 @@ xml? ( virtual/pkgconfig ) " RDEPEND="${CDEPEND} -!dev-db/postgresql-docs:${SLOT} -!dev-db/postgresql-base:${SLOT} -!dev-db/postgresql-server:${SLOT} selinux? ( sec-policy/selinux-postgresql ) " pkg_setup() { use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup - enewgroup postgres 70 - enewuser postgres 70 /bin/sh /var/lib/postgresql postgres - use python && python-single-r1_pkg_setup } @@ -106,7 +97,7 @@ src_prepare() { # hardened and non-hardened environments. (Bug #528786) sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die - use server || eapply "${FILESDIR}/${PN}-9.4.10-no-server.patch" + use server || eapply "${FILESDIR}/${PN}-9.5.5-no-server.patch" if use pam ; then sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \ @@ -147,6 +138,7 @@ src_configure() { --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \ --sysconfdir="${PO}/etc/postgresql-${SLOT}" \ --with-system-tzdata="${PO}/usr/share/zoneinfo" \ + $(use_enable !alpha spinlocks) \ $(use_enable !pg-legacytimestamp integer-datetimes) \ $(use_enable debug) \ $(use_enable threads thread-safety) \ @@ -162,7 +154,7 @@ src_configure() { $(use_with xml libxml) \ $(use_with xml libxslt) \ $(use_with zlib) \ - $(use_enable nls nls "'$(l10n_get_locales)'") + $(use_enable nls) } src_compile() { @@ -306,6 +298,11 @@ pkg_postinst() { use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf postgresql-config update + if use alpha && use server ; then + ewarn "PostgreSQL 9.5+ no longer has native spinlock support on Alpha platforms." + ewarn "As a result, performance will be extremely degraded." + fi + elog "If you need a global psqlrc-file, you can place it in:" elog " ${EROOT}/etc/postgresql-${SLOT}/" diff --git a/dev-db/postgresql/postgresql-9.6.19.ebuild b/dev-db/postgresql/postgresql-9.6.19.ebuild new file mode 100644 index 000000000000..f5ccbb9888c8 --- /dev/null +++ b/dev-db/postgresql/postgresql-9.6.19.ebuild @@ -0,0 +1,481 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7} ) + +inherit flag-o-matic linux-info multilib pam prefix python-single-r1 systemd + +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +SLOT=$(ver_cut 1-2) + +MY_PV=${PV/_/} +S="${WORKDIR}/${PN}-${MY_PV}" + +SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2" + +LICENSE="POSTGRESQL GPL-2" +DESCRIPTION="PostgreSQL RDBMS" +HOMEPAGE="https://www.postgresql.org/" + +IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl + -pg-legacytimestamp python +readline selinux +server systemd ssl + static-libs tcl threads uuid xml zlib" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +acct-group/postgres +acct-user/postgres +sys-apps/less +virtual/libintl +kerberos? ( virtual/krb5 ) +ldap? ( net-nds/openldap ) +pam? ( sys-libs/pam ) +perl? ( >=dev-lang/perl-5.8:= ) +python? ( ${PYTHON_DEPS} ) +readline? ( sys-libs/readline:0= ) +ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= ) + libressl? ( dev-libs/libressl:= ) +) +server? ( systemd? ( sys-apps/systemd ) ) +tcl? ( >=dev-lang/tcl-8:0= ) +xml? ( dev-libs/libxml2 dev-libs/libxslt ) +zlib? ( sys-libs/zlib ) +" + +# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no +# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems, +# the libc includes UUID functions. +UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} ) +BSD_LIBC=( elibc_{Free,Net,Open}BSD ) + +nest_usedep() { + local front back + while [[ ${#} -gt 1 ]]; do + front+="${1}? ( " + back+=" )" + shift + done + echo "${front}${1}${back}" +} + +IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}" +CDEPEND+=" +uuid? ( + ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )} + $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid) +)" + +DEPEND="${CDEPEND} +sys-devel/bison +sys-devel/flex +nls? ( sys-devel/gettext ) +xml? ( virtual/pkgconfig ) +" + +RDEPEND="${CDEPEND} +selinux? ( sec-policy/selinux-postgresql ) +" + +pkg_setup() { + use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # Work around PPC{,64} compilation bug where bool is already defined + sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die + + # Set proper run directory + sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \ + -i src/include/pg_config_manual.h || die + + # Rely on $PATH being in the proper order so that the correct + # install program is used for modules utilizing PGXS in both + # hardened and non-hardened environments. (Bug #528786) + sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die + + use server || eapply "${FILESDIR}/${PN}-${SLOT}.3-no-server.patch" + + if use pam ; then + sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \ + -i src/backend/libpq/auth.c || \ + die 'PGSQL_PAM_SERVICE rename failed.' + fi + + eapply_user +} + +src_configure() { + case ${CHOST} in + *-darwin*|*-solaris*) + use nls && append-libs intl + ;; + esac + + export LDFLAGS_SL="${LDFLAGS}" + export LDFLAGS_EX="${LDFLAGS}" + + local PO="${EPREFIX}" + + local i uuid_config="" + if use uuid; then + for i in ${UTIL_LINUX_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=e2fs" + done + for i in ${BSD_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=bsd" + done + [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp" + fi + + econf \ + --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \ + --datadir="${PO}/usr/share/postgresql-${SLOT}" \ + --includedir="${PO}/usr/include/postgresql-${SLOT}" \ + --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \ + --sysconfdir="${PO}/etc/postgresql-${SLOT}" \ + --with-system-tzdata="${PO}/usr/share/zoneinfo" \ + $(use_enable !alpha spinlocks) \ + $(use_enable !pg-legacytimestamp integer-datetimes) \ + $(use_enable debug) \ + $(use_enable threads thread-safety) \ + $(use_with kerberos gssapi) \ + $(use_with ldap) \ + $(use_with pam) \ + $(use_with perl) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with ssl openssl) \ + $(usex server "$(use_with systemd)" '--without-systemd') \ + $(use_with tcl) \ + ${uuid_config} \ + $(use_with xml libxml) \ + $(use_with xml libxslt) \ + $(use_with zlib) \ + $(use_enable nls) +} + +src_compile() { + emake + emake -C contrib +} + +src_install() { + emake DESTDIR="${D}" install + emake DESTDIR="${D}" install -C contrib + + dodoc README HISTORY doc/{TODO,bug.template} + + # man pages are already built, but if we have the target make them, + # they'll be generated from source before being installed so we + # manually install man pages. + # We use ${SLOT} instead of doman for postgresql.eselect + insinto /usr/share/postgresql-${SLOT}/man/ + doins -r doc/src/sgml/man{1,3,7} + if ! use server; then + # Remove man pages for non-existent binaries + for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do + rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1" + done + fi + docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7} + + # Create slot specific man pages + local bn f mansec slotted_name + for mansec in 1 3 7 ; do + local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}" + + mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir" + pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed" + + for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do + bn=$(basename "${f}") + slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec} + case ${bn} in + TABLE.7|WITH.7) + echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name} + ;; + *) + echo ".so ${rel_manpath}/${bn}" > ${slotted_name} + ;; + esac + done + + popd > /dev/null + done + + insinto /etc/postgresql-${SLOT} + newins src/bin/psql/psqlrc.sample psqlrc + + # Don't delete libpg{port,common}.a (Bug #571046). They're always + # needed by extensions utilizing PGXS. + use static-libs || \ + find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \ + -delete + + local f bn + for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ + -mindepth 1 -maxdepth 1) + do + bn=$(basename "${f}") + # Temporarily tack on tmp to workaround a file collision + # issue. This is only necessary for 9.7 and earlier. 10 never + # had this issue. + dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ + "/usr/bin/${bn}${SLOT/.}tmp" + done + + if use doc ; then + docinto html + dodoc doc/src/sgml/html/* + + docinto sgml + dodoc doc/src/sgml/*.{sgml,dsl} + fi + + if use server; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} + + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT} + + if use systemd; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.service-9.6-r1" | \ + systemd_newunit - ${PN}-${SLOT}.service + systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf + fi + + newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir + + use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session + + if use prefix ; then + keepdir /run/postgresql + fperms 1775 /run/postgresql + fi + fi +} + +pkg_preinst() { + # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g., + # /usr/bin/psql96). They may have been created by the + # postgresql.eselect module, but they're handled within this ebuild + # now. It's alright if we momentarily delete /usr/bin/psql as it + # will be recreated by the eselect module in pkg_ppostinst(). This + # is only necessary for 9.7 and earlier. 10 and later were never + # handled in this manner. + local canonicalise + if type -p realpath > /dev/null; then + canonicalise=realpath + elif type -p readlink > /dev/null; then + canonicalise='readlink -f' + else + # can't die, subshell + die "No readlink nor realpath found, cannot canonicalise" + fi + + local l + # First remove any symlinks in /usr/bin that may have been created + # by the old eselect + for l in $(find "${ROOT}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do + if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then + rm "${l}" || ewarn "Couldn't remove ${l}" + fi + done + + # Then move the symlinks created by the ebuild to their proper place. + for l in "${ED}"/usr/bin/*tmp ; do + mv "${l}" "${l%tmp}" \ + || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})" + done +} + +pkg_postinst() { + use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf + postgresql-config update + + elog "If you need a global psqlrc-file, you can place it in:" + elog " ${EROOT}/etc/postgresql-${SLOT}/" + + if use server ; then + elog + elog "Gentoo specific documentation:" + elog "https://wiki.gentoo.org/wiki/PostgreSQL" + elog + elog "Official documentation:" + elog "https://www.postgresql.org/docs/${SLOT}/static/index.html" + elog + elog "The default location of the Unix-domain socket is:" + elog " ${EROOT}/run/postgresql/" + elog + elog "Before initializing the database, you may want to edit PG_INITDB_OPTS" + elog "so that it contains your preferred locale in:" + elog " ${EROOT}/etc/conf.d/postgresql-${SLOT}" + elog + elog "Then, execute the following command to setup the initial database" + elog "environment:" + elog " emerge --config =${CATEGORY}/${PF}" + fi +} + +pkg_prerm() { + if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then + ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?" + ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL" + + ebegin "Resuming removal in 10 seconds (Control-C to cancel)" + sleep 10 + eend 0 + fi +} + +pkg_postrm() { + postgresql-config update +} + +pkg_config() { + use server || die "USE flag 'server' not enabled. Nothing to configure." + + [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \ + && source "${EROOT}/etc/conf.d/postgresql-${SLOT}" + [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/" + [[ -z "${DATA_DIR}" ]] \ + && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data" + + # environment.bz2 may not contain the same locale as the current system + # locale. Unset and source from the current system locale. + if [ -f "${EROOT}/etc/env.d/02locale" ]; then + unset LANG + unset LC_CTYPE + unset LC_NUMERIC + unset LC_TIME + unset LC_COLLATE + unset LC_MONETARY + unset LC_MESSAGES + unset LC_ALL + source "${EROOT}/etc/env.d/02locale" + [ -n "${LANG}" ] && export LANG + [ -n "${LC_CTYPE}" ] && export LC_CTYPE + [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC + [ -n "${LC_TIME}" ] && export LC_TIME + [ -n "${LC_COLLATE}" ] && export LC_COLLATE + [ -n "${LC_MONETARY}" ] && export LC_MONETARY + [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES + [ -n "${LC_ALL}" ] && export LC_ALL + fi + + einfo "You can modify the paths and options passed to initdb by editing:" + einfo " ${EROOT}/etc/conf.d/postgresql-${SLOT}" + einfo + einfo "Information on options that can be passed to initdb are found at:" + einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html" + einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html" + einfo + einfo "PG_INITDB_OPTS is currently set to:" + if [[ -z "${PG_INITDB_OPTS}" ]] ; then + einfo " (none)" + else + einfo " ${PG_INITDB_OPTS}" + fi + einfo + einfo "Configuration files will be installed to:" + einfo " ${PGDATA}" + einfo + einfo "The database cluster will be created in:" + einfo " ${DATA_DIR}" + einfo + + ebegin "Continuing initialization in 5 seconds (Control-C to cancel)" + sleep 5 + eend 0 + + if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then + eerror "The given directory, '${DATA_DIR}', is not empty." + eerror "Modify DATA_DIR to point to an empty directory." + die "${DATA_DIR} is not empty." + fi + + einfo "Creating the data directory ..." + if [[ ${EUID} == 0 ]] ; then + mkdir -p "${DATA_DIR}" + chown -Rf postgres:postgres "${DATA_DIR}" + chmod 0700 "${DATA_DIR}" + fi + + einfo "Initializing the database ..." + + if [[ ${EUID} == 0 ]] ; then + su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}" + else + "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS} + fi + + if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then + mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}" + ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}" + fi + + # unix_socket_directory has no effect in postgresql.conf as it's + # overridden in the initscript + sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf + + cat <<- EOF >> "${PGDATA%/}"/postgresql.conf + # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522 + # On the off-chance that you might need to work with UTF-8 encoded + # characters in PL/Perl + plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";' + EOF + + einfo "The autovacuum function, which was in contrib, has been moved to the main" + einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled" + einfo "by default. You can disable it in the cluster's:" + einfo " ${PGDATA%/}/postgresql.conf" + einfo + if ! use systemd; then + einfo "The PostgreSQL server, by default, will log events to:" + einfo " ${DATA_DIR%/}/postmaster.log" + einfo + fi + if use prefix ; then + einfo "The location of the configuration files have moved to:" + einfo " ${PGDATA}" + einfo "To start the server:" + einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'" + einfo "To stop:" + einfo " pg_ctl stop -D ${DATA_DIR}" + einfo + einfo "Or move the configuration files back:" + einfo "mv ${PGDATA}*.conf ${DATA_DIR}" + elif use systemd; then + einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL" + einfo "instead of 'pg_ctl'." + else + einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL" + einfo "instead of 'pg_ctl'." + fi +} + +src_test() { + if use server && [[ ${UID} -ne 0 ]] ; then + emake check + + einfo "If you think other tests besides the regression tests are necessary, please" + einfo "submit a bug including a patch for this ebuild to enable them." + else + use server || \ + ewarn 'Tests cannot be run without the "server" use flag enabled.' + [[ ${UID} -eq 0 ]] || \ + ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.' + + ewarn 'Skipping.' + fi +} diff --git a/dev-db/pspg/Manifest b/dev-db/pspg/Manifest index 033be45a704d..9fcdd9c9525b 100644 --- a/dev-db/pspg/Manifest +++ b/dev-db/pspg/Manifest @@ -9,5 +9,5 @@ EBUILD pspg-1.6.8.ebuild 377 BLAKE2B 59e6f8cefb4a9347304231161958a8915a8cf375dd2 EBUILD pspg-2.5.4.ebuild 417 BLAKE2B e546c8ac11ad8abeb004a3471ef1aa09c8c75c14d84e8598d1743227183c9bba787280aad2c168e8db72ff5b0fdf6517e9941179de55b47bbb0756338bc16d34 SHA512 59a6ae7ac90bc01e5628133110a63f00ab5bdde45c8b21d886efc1a9e7209dee24ebc2f1e30a63fdabb06ab04242c4bc16df2b7fa34086de52d1d3fac3171f6f EBUILD pspg-2.5.5.ebuild 417 BLAKE2B e546c8ac11ad8abeb004a3471ef1aa09c8c75c14d84e8598d1743227183c9bba787280aad2c168e8db72ff5b0fdf6517e9941179de55b47bbb0756338bc16d34 SHA512 59a6ae7ac90bc01e5628133110a63f00ab5bdde45c8b21d886efc1a9e7209dee24ebc2f1e30a63fdabb06ab04242c4bc16df2b7fa34086de52d1d3fac3171f6f EBUILD pspg-2.6.6.ebuild 415 BLAKE2B b60c5abaf49da08566e205a33fa33030a041b3df0882348dc5eb0ea3a0b90fcb885c4ac2f41ffb054ee80bd105c9f707f4f576bff71c2e4dca3e80a4ad0ed594 SHA512 243e3124bd436d36081aa7a7b0250329a2c772b94d55438faefcb6d4c4e923a9e5c102c37ab5011cd2e057c3b24535d11822a862956a8d0e59f92ea929e9a6ec -EBUILD pspg-3.1.2.ebuild 417 BLAKE2B 0ec9f20546abc9e992a1f02b26fdfc2a84f506a285528f4a83c360512362a5440e3843aaf8bc9391ea9ffe8cf409b35aa484cb8526087c9e5ef5573905dbb6a1 SHA512 0622265d4550b2fe99cb42f3204bf8338d1399a9eaf8a16f93e948c7933fbcc742f315ee942dc74a04b6ca96267d53949d0a435af0d36b671da347506fed7600 +EBUILD pspg-3.1.2.ebuild 415 BLAKE2B e39731cc67c2684c649d2fd54c52fa00c972f151018f0033ce85064020630fee1065c55cbbd6b83a974592844dae17692f8c7c1160a2fd31bb75a3522d392ea1 SHA512 9a108eb787dd60342bb60c5a377ba6430a3f5995215fe7ef2ac702c099a905c4e847d14f8a297acd2d1faaebb83aa4ac22d1abfa86a87bfb3015aec8b65126cb MISC metadata.xml 298 BLAKE2B 40abb765b052aa2cbbf749c54c686f1c98968cb1af2e93c149bfbfe6244d3c17e827189d7a1da90a566016758bfbed63b16ad0a0328725349748d1b18b2437b1 SHA512 167896d1d92ccb4b171cce16d63405369a9e28b0d01c12b2ed94fcec1f982892e179c007287fc3386e1c00393d6570a2ae9e8efe9420e53a82308426075d5c89 diff --git a/dev-db/pspg/pspg-3.1.2.ebuild b/dev-db/pspg/pspg-3.1.2.ebuild index 67b53cc4d812..6115ff94a544 100644 --- a/dev-db/pspg/pspg-3.1.2.ebuild +++ b/dev-db/pspg/pspg-3.1.2.ebuild @@ -9,7 +9,7 @@ SRC_URI="https://github.com/okbob/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" LICENSE="BSD-2" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" DEPEND="sys-libs/ncurses:* dev-db/postgresql:= diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest index bf70ab727ac4..6e4c2e067924 100644 --- a/dev-db/redis/Manifest +++ b/dev-db/redis/Manifest @@ -1,12 +1,9 @@ AUX configure.ac-3.2 1882 BLAKE2B b8bc3e04c3203977218ee1d6d68e9f841b84fe82ab8803027034237275fb548cde282748a2f96bc25532e61f8e25a50cba9e165aac578d5db634a7ffc587ee9e SHA512 13d9f16cde8a95c96bcd726056d670d390dea6e2752ac607bc68eefb6214f0ab18b0e27d3283f2b219febd2da82e6489bd434215c9380c3c85c711aa00cb2be5 AUX redis-3.2.3-config.patch 1495 BLAKE2B 9f3c04dfd97845dcd364b75e2e5f543bc40ec0221a5ce19ab3c194e55ceaf24f13c307276f616d9a7742662d9e4fa76152c7036f7728f787bbac55f2b1a00999 SHA512 d71c918ea4952ecb55cc4c87649745ee468587c289d60bd1bee87a2948a6e882d42afe36bb113392b5aaab17d315732cabfc472804204d3a043305a5488a4124 -AUX redis-4.0.1-shared.patch 866 BLAKE2B 55531d6437ba89e37674377795ed8f7b4a34982571358d3ac73071951929ba96f101dfc9f9336f04d3851b4d360023c50d7832d9ae5ba9cfa405f317ec70b983 SHA512 f58ae83d3370949187325b1f1f75feb7d85d3112ae65e7cd330d193490c42aa6288f05cd4d2309dbde5d32015a067ec831255a3dab937cd0889970c8eecfb3f1 -AUX redis-4.0.1-sharedlua.patch 2568 BLAKE2B dc943602aba26455b94536571ee6be2969cbdf04da63805db0da0de5c5da3eb5fe16bb3c9e282020cf5a0d2cb9ac02244614fb8929847ce930c2ed25f4c4b8ff SHA512 c7c08b67c09425876da513bbeb52667fe5917b56a43749a914dac356fa37c091b696765eabca100f2506cf461107abdbf22bce075879a8aa82a0e8d54f696fee AUX redis-5.0-shared.patch 883 BLAKE2B 71a490d5c40d873db7d363c4f3cab966bf8e92fa84bcb7209344b79b3bfc4c6f8df5224c8ae0e5d9ee8dbd62d9e288e90934809e91fd6f63c7d1dd4a518170a9 SHA512 f1d1e37a4786a84e9543956e21644a1dcfdc52742299119ba1547b9fb56a92fdef3ca518d94a1db8a88222b661ac7849a4db0bf7ba38b1ae65f286e7df90f0c1 AUX redis-5.0-sharedlua.patch 2642 BLAKE2B f86d3c932a8c0f05e2d65725037a0780152b95835f88395cc74765902c3184a4e1ed0a3802f54345e91a70b6ac013419c6d3412df8fd2397ed300ff1e7210724 SHA512 971944ff03563bcc91c9f29316af2b0eb691c9d0e27d9e4f3fad30dc4e4afe34c077ccdbf5f93ebd78ea6571f809a801721376059780a30467274a7be5ca6425 AUX redis-5.0.8-ppc-atomic.patch 495 BLAKE2B a995c1b1e327416705151dd888b98fe02fdea8126359f3ffa2cce4d5794d7677ffc4dc7f628d076bc0ed341dac4010ffb9409ee25113fe9cac2298658e94802e SHA512 f4f2c2aad5d09e9fafa58946fdc79aa49d8f16ce6d389dd653522295dc397796c58c87f4fb92016af8c261aa4b00a7eab09d33a19eded496807444d234a9abd9 AUX redis-6.0.3-sharedlua.patch 2815 BLAKE2B 323c13cd06ee50cc86a6f4b4896ab3c887c55a4ec836b6c40e509b166207075ced4cc35b0e9d3490fb893405fc6b4cd325e2e1688acec61a15ef1d34cfc78be1 SHA512 a4e2c54ec9fbaa594290178af26430b5e139b1fb12d44327074077e3e2bff45b9e999d8911f3bc0ac10f5b0afba4ef0993bba610355cb8701bce72a48a6ec634 -AUX redis-sentinel-4.0.6-config.patch 285 BLAKE2B 97b8fb6c2af74e6d2736e9dcdd9faa579800fecec53752168fc5e5e43c509fc00a1192215b5fef89af915456e5ab0d7c438df51e2b214399a4482f7683525a8b SHA512 12fd77b38fbcc3bf4b25f519a8f40e43c5d2f32be341155f5e6d08f2a4513043917452d45a20608dc56c0e92e324cef8480d42d670752056c821b4ffca93e2b1 AUX redis-sentinel-5.0-config.patch 706 BLAKE2B 0fa0166bbb3460e783e85b90acf4c606b83e271d8e9828bb5b3a39b623508b21dac33369ac25b645169271822e9c5deb6ea7294e40fc8d1a5ceec5129c174505 SHA512 2dee5666d50fc5d9b6021735a95c9a9647ba99c562e348785381d5a05f1388c3fb9e8c4a15b0de771cf73fb80e5e29f1df25805df749457a2ce4f2e3f2e0e9e8 AUX redis-sentinel.confd 470 BLAKE2B f77fd7e35c753e35aafa6e773dcc00d2779bc29d8579334078bd6124aab436dff671ae790c0b0e3cefdd4082fe212b4b71501b529176cb0a1e5f8c8cdcf1387e SHA512 ea455f8c73c21bc46127ea5c7b99dc5707ad41160e5fd61367555dd2e3fd5c1518026257651e7d371a60a64b682b6839dd37580f75308c73239edeba49d6b372 AUX redis-sentinel.initd 648 BLAKE2B eaea4a047dfa61a325fa2bfeb30b422220d4fad699a693b9141a74575dc153ad3db2dafa3fa06ef195914a32f2a6aacfb3fc2e3b80ebe6b75316700fbd84221d SHA512 dfd1dadedf9b7376667d1966072c28e5e23e17592bf66753eae4bbc084225714f30c6450001f643c1561ff3a2eb2e50f719d32ff34f5419040ff42a2c4fbd70d @@ -16,13 +13,10 @@ AUX redis.logrotate 105 BLAKE2B 1281fd86d399b40aaaa69d1fe170b2c49523c074e14b1290 AUX redis.service-3 249 BLAKE2B 92a6914601fa9b587f439e5cb30c9b00ed53d6dc9d18f7ca8f34075f3d77836b82018baf3d6e46ad27ab90ed5de5a553fd5ffe4305afadb7b173b56dcb328de3 SHA512 5af7d61282e90e72faa8b328c11c70bd2cb255265e3a29c4f2208795c4876a08f9e01cb473d2a537362ed0b282b22aa51612cb95e192f96fa9a7b974a99da369 AUX redis.tmpfiles 61 BLAKE2B 1c3bf8aa105940c408163f61c63ed16b86de7a979cb5143d15700cac329970f351cb9b9377aa82e6f4dae377b00c1710a1e0f54334f007cfed64551f761034d4 SHA512 741ff5a4df5b04e7af4e81357812bf5b6cf992bc18b6052074aef134401d0a92703a2e41f52966012c05ea80fac5636435c8d3e6ed55e62a5711526ba67ee738 AUX redis.tmpfiles-2 57 BLAKE2B 1e0577c1828bb693cf820f3ba5e77d7d748adf4df2d1910d465ce097765308c7b7ea729526404120d04a79b547e865df93f7bfce1e63341c73563496f1dce691 SHA512 3de050ce044b7daf71219ec61dee2bc31acef161319b87ec2963b23c72e8a4807f1302c4932897664a63ef94507449f6ab75ce18d59f5e1a4558c330a7042e43 -DIST redis-4.0.14.tar.gz 1740967 BLAKE2B d9122565ba890416d8936db936bc1410af840cc7617b485b94428891806d5889f5f02c2e722a7e68fe6c0b2690c1ef3479cc8837c55fb154f2b43af9986647a4 SHA512 7730a4083962046f8fee674a8ce95e1d3e8c8dcc2d64a65491dc3b851413b2d745942be7a94ee77074aa530da5f3d458c4e7388d7950a8495d8ee9f4862b7e06 DIST redis-5.0.8.tar.gz 1985757 BLAKE2B e46af2133e066ccb91a8eb2c2fbfefe3747e1cfa71efa78dd50830e1bc1d83261f78ed6ff75b789b238709d9f72d5d401be2f2dd698bd19c41c091d10e0baf47 SHA512 106a74ab910267472fb418fdeb4f39e29efe9d73ed5af78b7847c91eaabd473dd729a63078e72d8e87c842169502946e9a0a97c42dea415db82732864c7c46dc DIST redis-5.0.9.tar.gz 1986574 BLAKE2B 7802d0556d11c9be8577b9bb3f4dbad8c2419b38659001421f96040e8a64a4a304e9dc1f06d82802ce1c92515d166cfd37c2f347df4c4cda0c2c4c2bb10d27c5 SHA512 d2c7bc1f769bc5d179bfe6e71954962813b50597eafc752a9b1edf2fd87e84707b7daf0910db56dd0e89cb3bdb3e551da7f111ae4899f505bac5f77f99744c13 -DIST redis-6.0.5.tar.gz 2217666 BLAKE2B 6c85b344ada4a8b9981bf0403e883d7584b391b5275f14b4335f51924c2e9dc2eb7886694cd62eec2ac2c4e747468161b75cde3a4b373e496453787cbc994c43 SHA512 62ce42bb5ac9443e0736f5dfeffa7609542cef5b3c6c7d689ad8427cf788f3daf321531fdaa0329942e746e2eee47461be9d8771b89ae25adcc5badc225ebf26 -EBUILD redis-4.0.14.ebuild 4641 BLAKE2B 970a3440789c6bc964339b0de7df7c7882a492e259e503a65f0182aa77c7e54b2d477903f623dda0f1526de8e9985075a658a2050952484a3070a04ddfa49c60 SHA512 0ec94984ce74d537d13028d64d1a503f7de7cd5514f25a57d89872e6389a69d8cc747e1e9448f13e8395faed6e7d733c5183174029cb10af8d7b27320c659670 +DIST redis-6.0.6.tar.gz 2228781 BLAKE2B 42396f464611cd5d83a79a97d2e4f74c0adabf9338802ec748c24f6ea46d42c6e51fedecc5cd26c7cff6b2a3c7a26bbbf79db7a54a6cbeff388587d186268796 SHA512 bb60aff6e495b201fed814eb134e6ce2825429ef6bd52215c7369eec941318ba460d60ad7b0cef3684b3f992823d465869177dc1d0eb16886bfed598dff74f65 EBUILD redis-5.0.8.ebuild 4669 BLAKE2B 79265c316a1ecb3a7ce5bf5b0af70c68ba9cf4f0439f67a190cdd19dc16158ee40b7379e088de990b122d21157a6aaa415f4f70e1e237861fb5c268dc8e60175 SHA512 340ec29034e795225dc54a2ccb120046bbd8ea3d241988b6ef10d249f3070e17857098d2d3c742e6737205b3adf5b0fbafd79ec53d0fe0ec8caf6abfcd2e7f78 -EBUILD redis-5.0.9-r1.ebuild 4744 BLAKE2B 911a324ae75ab43090425efbb15fec52b2568e09944656450d13eb82d730466466b638adab70bf71378726d08da982a05d1a7b0bf0db7e8d7fc65606ded549de SHA512 270f9e9b8037799c2e59037c968796155d9c5dcbb29a69e72e1544cd310f0921a9e26101e37b6d4d6701b40ad6114bd1f931d36d8be2d96994ad861ce6cc39ac -EBUILD redis-5.0.9.ebuild 4676 BLAKE2B 2de30fcbfb59d8b8fb75fe956d493f1ea7af8b6e5c9345a063722f5b85a31865d8acfad4cfd2b97dbe96e13f9734dc772a5b3c67eabf68239035721e6c0391b9 SHA512 ad8055de14691a842f160f0dfdd9530ed290417cca01f7e668fccece5433c18da26c153d20fd9df15ec58deaf56c6f7cc6aca83540fc6bd3e12c9bc2be27e43c -EBUILD redis-6.0.5.ebuild 4705 BLAKE2B f7082975e525a81280bbbfef7ca72e662cdcde23391f033cd7851c8ec780d3239cba21b71a0808a721d28356233590ec41eb6160f7e9c4b82664ceb7ae33e9bc SHA512 47cf629bf66800b00a545fff07aecc6889bd28c526e666763254d8598e9ad8dd567c08c73f3c006843f161f369278bca27e3b62a3927ac1af1ba18177545d6c9 +EBUILD redis-5.0.9-r1.ebuild 4737 BLAKE2B 2c8ee5fee1812d8c8af4ae154e91450f99e13e1ca574466b5f86090b89d24fd64eba3367be67909f04761bf576db27885c0b78bf05547bf39352a8655f25c324 SHA512 25b463fc2b71c5671f1414d071c697f06ff3df5c7e4e958449dc6031bd28aa4464d624d6e32514ee9c60d9e6246e1b23f0e710ab384460e60754f2c48c3187c3 +EBUILD redis-6.0.6.ebuild 4705 BLAKE2B f7082975e525a81280bbbfef7ca72e662cdcde23391f033cd7851c8ec780d3239cba21b71a0808a721d28356233590ec41eb6160f7e9c4b82664ceb7ae33e9bc SHA512 47cf629bf66800b00a545fff07aecc6889bd28c526e666763254d8598e9ad8dd567c08c73f3c006843f161f369278bca27e3b62a3927ac1af1ba18177545d6c9 MISC metadata.xml 356 BLAKE2B 19e27b12be84927b990fc2f481d8dd1f88f05b5e029fdd91c7ce9517e7fd378d6e1df1eb55052a04fefe781da09b371da1c28fd269c72f4222aa896897222bf7 SHA512 ab06f694c5b20072f40e85b3a8e05d2c333f3b29fc145733fde1e3f42ea78ac7c51550afc29e671ef9b4a163597ac9f44bc182344c18db52036595e5d65f7e22 diff --git a/dev-db/redis/files/redis-4.0.1-shared.patch b/dev-db/redis/files/redis-4.0.1-shared.patch deleted file mode 100644 index 945d114ae2fb..000000000000 --- a/dev-db/redis/files/redis-4.0.1-shared.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/src/Makefile b/src/Makefile -index 86e0b3fe..c7db0ee9 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -29,14 +29,7 @@ INSTALL_BIN=$(PREFIX)/bin - INSTALL=install - - # Default allocator defaults to Jemalloc if it's not an ARM --MALLOC=libc --ifneq ($(uname_M),armv6l) --ifneq ($(uname_M),armv7l) --ifeq ($(uname_S),Linux) -- MALLOC=jemalloc --endif --endif --endif -+MALLOC?=jemalloc - - # To get ARM stack traces if Redis crashes we need a special C flag. - ifneq (,$(findstring armv,$(uname_M))) -@@ -120,9 +113,8 @@ ifeq ($(MALLOC),tcmalloc_minimal) - endif - - ifeq ($(MALLOC),jemalloc) -- DEPENDENCY_TARGETS+= jemalloc -- FINAL_CFLAGS+= -DUSE_JEMALLOC -I../deps/jemalloc/include -- FINAL_LIBS+= ../deps/jemalloc/lib/libjemalloc.a -+ FINAL_CFLAGS+= -DUSE_JEMALLOC -DJEMALLOC_NO_DEMANGLE -+ FINAL_LIBS+= -ljemalloc -ldl - endif - - REDIS_CC=$(QUIET_CC)$(CC) $(FINAL_CFLAGS) diff --git a/dev-db/redis/files/redis-4.0.1-sharedlua.patch b/dev-db/redis/files/redis-4.0.1-sharedlua.patch deleted file mode 100644 index d2b572250e86..000000000000 --- a/dev-db/redis/files/redis-4.0.1-sharedlua.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff --git a/deps/lua/src/lua_cjson.c b/deps/lua/src/lua_cjson.c -index c26c0d7b..fa50c410 100644 ---- a/deps/lua/src/lua_cjson.c -+++ b/deps/lua/src/lua_cjson.c -@@ -46,7 +46,7 @@ - #include "strbuf.h" - #include "fpconv.h" - --#include "../../../src/solarisfixes.h" -+#include "solarisfixes.h" - - #ifndef CJSON_MODNAME - #define CJSON_MODNAME "cjson" -diff --git a/src/Makefile b/src/Makefile -index 86e0b3fe..09630321 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -16,7 +16,7 @@ release_hdr := $(shell sh -c './mkreleasehdr.sh') - uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') - uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not') - OPTIMIZATION?=-O2 --DEPENDENCY_TARGETS=hiredis linenoise lua -+DEPENDENCY_TARGETS=hiredis linenoise - NODEPS:=clean distclean - - # Default settings -@@ -66,6 +66,7 @@ endif - FINAL_CFLAGS=$(STD) $(WARN) $(OPT) $(DEBUG) $(CFLAGS) $(REDIS_CFLAGS) - FINAL_LDFLAGS=$(LDFLAGS) $(REDIS_LDFLAGS) $(DEBUG) - FINAL_LIBS=-lm -+FINAL_LIBS+=@LUA_LIBS@ - DEBUG=-g -ggdb - - ifeq ($(uname_S),SunOS) -@@ -107,7 +108,7 @@ endif - endif - endif - # Include paths to dependencies --FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -+FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise @LUA_CFLAGS@ - - ifeq ($(MALLOC),tcmalloc) - FINAL_CFLAGS+= -DUSE_TCMALLOC -@@ -145,6 +146,7 @@ endif - REDIS_SERVER_NAME=redis-server - REDIS_SENTINEL_NAME=redis-sentinel - REDIS_SERVER_OBJ=adlist.o quicklist.o ae.o anet.o dict.o server.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o cluster.o crc16.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crc64.o bitops.o sentinel.o notify.o setproctitle.o blocked.o hyperloglog.o latency.o sparkline.o redis-check-rdb.o redis-check-aof.o geo.o lazyfree.o module.o evict.o expire.o geohash.o geohash_helper.o childinfo.o defrag.o siphash.o rax.o -+REDIS_SERVER_OBJ+=fpconv.o strbuf.o lua_bit.o lua_cjson.o lua_cmsgpack.o lua_struct.o - REDIS_CLI_NAME=redis-cli - REDIS_CLI_OBJ=anet.o adlist.o redis-cli.o zmalloc.o release.o anet.o ae.o crc64.o - REDIS_BENCHMARK_NAME=redis-benchmark -@@ -196,7 +198,7 @@ endif - - # redis-server - $(REDIS_SERVER_NAME): $(REDIS_SERVER_OBJ) -- $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a $(FINAL_LIBS) -+ $(REDIS_LD) -o $@ $^ ../deps/hiredis/libhiredis.a $(FINAL_LIBS) - - # redis-sentinel - $(REDIS_SENTINEL_NAME): $(REDIS_SERVER_NAME) diff --git a/dev-db/redis/files/redis-sentinel-4.0.6-config.patch b/dev-db/redis/files/redis-sentinel-4.0.6-config.patch deleted file mode 100644 index f2a75814951c..000000000000 --- a/dev-db/redis/files/redis-sentinel-4.0.6-config.patch +++ /dev/null @@ -1,9 +0,0 @@ -diff --git a/sentinel.conf b/sentinel.conf -index 0e1b266..869a4b9 100644 ---- a/sentinel.conf -+++ b/sentinel.conf -@@ -194,3 +194,4 @@ sentinel failover-timeout mymaster 180000 - # - # sentinel client-reconfig-script mymaster /var/redis/reconfig.sh - -+logfile "/var/log/redis/sentinel.log" diff --git a/dev-db/redis/redis-4.0.14.ebuild b/dev-db/redis/redis-4.0.14.ebuild deleted file mode 100644 index 5ca8d4bae3db..000000000000 --- a/dev-db/redis/redis-4.0.14.ebuild +++ /dev/null @@ -1,156 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools flag-o-matic systemd toolchain-funcs user - -DESCRIPTION="A persistent caching system, key-value and data structures database" -HOMEPAGE="https://redis.io" -SRC_URI="http://download.redis.io/releases/${P}.tar.gz" - -LICENSE="BSD" -KEYWORDS="amd64 arm arm64 hppa ~ppc ppc64 x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris" -IUSE="+jemalloc tcmalloc luajit test" -RESTRICT="!test? ( test )" -SLOT="0" - -# Redis does NOT build with Lua 5.2 or newer at this time. -# This should link correctly with both unslotted & slotted Lua, without -# changes. -RDEPEND=" - luajit? ( dev-lang/luajit:2 ) - !luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) ) - tcmalloc? ( dev-util/google-perftools ) - jemalloc? ( >=dev-libs/jemalloc-3.2 )" - -BDEPEND=" - ${RDEPEND} - virtual/pkgconfig" - -# Tcl is only needed in the CHOST test env -DEPEND="${RDEPEND} - test? ( dev-lang/tcl:0= )" - -REQUIRED_USE="?? ( tcmalloc jemalloc )" - -pkg_setup() { - enewgroup redis 75 - enewuser redis 75 -1 /var/lib/redis redis -} - -src_prepare() { - eapply \ - "${FILESDIR}"/${PN}-3.2.3-config.patch \ - "${FILESDIR}"/${PN}-4.0.1-shared.patch \ - "${FILESDIR}"/${PN}-4.0.1-sharedlua.patch \ - "${FILESDIR}"/${PN}-sentinel-4.0.6-config.patch - eapply_user - - # Copy lua modules into build dir - cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die - cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die - # Append cflag for lua_cjson - # https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61 - append-cflags "-DENABLE_CJSON_GLOBAL" - - # now we will rewrite present Makefiles - local makefiles="" MKF - for MKF in $(find -name 'Makefile' | cut -b 3-); do - mv "${MKF}" "${MKF}.in" - sed -i -e 's:$(CC):@CC@:g' \ - -e 's:$(CFLAGS):@AM_CFLAGS@:g' \ - -e 's: $(DEBUG)::g' \ - -e 's:$(OBJARCH)::g' \ - -e 's:ARCH:TARCH:g' \ - -e '/^CCOPT=/s:$: $(LDFLAGS):g' \ - "${MKF}.in" \ - || die "Sed failed for ${MKF}" - makefiles+=" ${MKF}" - done - # autodetection of compiler and settings; generates the modified Makefiles - cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die - - # Use the correct pkgconfig name for Lua - if false && has_version 'dev-lang/lua:5.3'; then - # Lua5.3 gives: - #lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h" - LUAPKGCONFIG=lua5.3 - elif false && has_version 'dev-lang/lua:5.2'; then - # Lua5.2 fails with: - # scripting.c:(.text+0x1f9b): undefined reference to `lua_open' - # Because lua_open because lua_newstate in 5.2 - LUAPKGCONFIG=lua5.2 - elif has_version 'dev-lang/lua:5.1'; then - LUAPKGCONFIG=lua5.1 - else - LUAPKGCONFIG=lua - fi - # The upstream configure script handles luajit specially, and is not - # effected by these changes. - einfo "Selected LUAPKGCONFIG=${LUAPKGCONFIG}" - sed -i \ - -e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \ - -e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \ - -e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${LUAPKGCONFIG},g" \ - configure.ac || die "Sed failed for configure.ac" - eautoreconf -} - -src_configure() { - econf \ - $(use_with luajit) - - # Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164 - # also, don't define ANSI/c99 for lua twice - sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die -} - -src_compile() { - tc-export CC AR RANLIB - - local myconf="" - - if use tcmalloc; then - myconf="${myconf} USE_TCMALLOC=yes" - elif use jemalloc; then - myconf="${myconf} JEMALLOC_SHARED=yes" - else - myconf="${myconf} MALLOC=yes" - fi - - emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}" -} - -src_install() { - insinto /etc/ - doins redis.conf sentinel.conf - use prefix || fowners redis:redis /etc/{redis,sentinel}.conf - fperms 0644 /etc/{redis,sentinel}.conf - - newconfd "${FILESDIR}/redis.confd-r1" redis - newinitd "${FILESDIR}/redis.initd-5" redis - - systemd_newunit "${FILESDIR}/redis.service-3" redis.service - systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles-2" redis.conf - - newconfd "${FILESDIR}/redis-sentinel.confd" redis-sentinel - newinitd "${FILESDIR}/redis-sentinel.initd" redis-sentinel - - insinto /etc/logrotate.d/ - newins "${FILESDIR}/${PN}.logrotate" ${PN} - - dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md - - dobin src/redis-cli - dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb - fperms 0750 /usr/sbin/redis-benchmark - dosym redis-server /usr/sbin/redis-sentinel - - if use prefix; then - diropts -m0750 - else - diropts -m0750 -o redis -g redis - fi - keepdir /var/{log,lib}/redis -} diff --git a/dev-db/redis/redis-5.0.9-r1.ebuild b/dev-db/redis/redis-5.0.9-r1.ebuild index 1c36ec874b77..a4efac4f1871 100644 --- a/dev-db/redis/redis-5.0.9-r1.ebuild +++ b/dev-db/redis/redis-5.0.9-r1.ebuild @@ -10,7 +10,7 @@ HOMEPAGE="https://redis.io" SRC_URI="http://download.redis.io/releases/${P}.tar.gz" LICENSE="BSD" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris" +KEYWORDS="amd64 arm arm64 hppa ppc ppc64 x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris" IUSE="+jemalloc tcmalloc luajit test" RESTRICT="!test? ( test )" SLOT="0" diff --git a/dev-db/redis/redis-5.0.9.ebuild b/dev-db/redis/redis-5.0.9.ebuild deleted file mode 100644 index c793b287dfc2..000000000000 --- a/dev-db/redis/redis-5.0.9.ebuild +++ /dev/null @@ -1,160 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools flag-o-matic systemd toolchain-funcs - -DESCRIPTION="A persistent caching system, key-value and data structures database" -HOMEPAGE="https://redis.io" -SRC_URI="http://download.redis.io/releases/${P}.tar.gz" - -LICENSE="BSD" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris" -IUSE="+jemalloc tcmalloc luajit test" -RESTRICT="!test? ( test )" -SLOT="0" - -# Redis does NOT build with Lua 5.2 or newer at this time. -# This should link correctly with both unslotted & slotted Lua, without -# changes. -COMMON_DEPEND=" - luajit? ( dev-lang/luajit:2 ) - !luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) ) - tcmalloc? ( dev-util/google-perftools ) - jemalloc? ( >=dev-libs/jemalloc-5.1:= )" - -RDEPEND=" - ${COMMON_DEPEND} - acct-group/redis - acct-user/redis" - -BDEPEND=" - ${COMMON_DEPEND} - virtual/pkgconfig" - -# Tcl is only needed in the CHOST test env -DEPEND=" - ${COMMON_DEPEND} - test? ( dev-lang/tcl:0= )" - -REQUIRED_USE="?? ( tcmalloc jemalloc )" - -PATCHES=( - "${FILESDIR}"/${PN}-3.2.3-config.patch - "${FILESDIR}"/${PN}-5.0-shared.patch - "${FILESDIR}"/${PN}-5.0-sharedlua.patch - "${FILESDIR}"/${PN}-5.0.8-ppc-atomic.patch - "${FILESDIR}"/${PN}-sentinel-5.0-config.patch -) - -src_prepare() { - default - - # Copy lua modules into build dir - cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die - cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die - # Append cflag for lua_cjson - # https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61 - append-cflags "-DENABLE_CJSON_GLOBAL" - - # now we will rewrite present Makefiles - local makefiles="" MKF - for MKF in $(find -name 'Makefile' | cut -b 3-); do - mv "${MKF}" "${MKF}.in" - sed -i -e 's:$(CC):@CC@:g' \ - -e 's:$(CFLAGS):@AM_CFLAGS@:g' \ - -e 's: $(DEBUG)::g' \ - -e 's:$(OBJARCH)::g' \ - -e 's:ARCH:TARCH:g' \ - -e '/^CCOPT=/s:$: $(LDFLAGS):g' \ - "${MKF}.in" \ - || die "Sed failed for ${MKF}" - makefiles+=" ${MKF}" - done - # autodetection of compiler and settings; generates the modified Makefiles - cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die - - # Use the correct pkgconfig name for Lua - if false && has_version 'dev-lang/lua:5.3'; then - # Lua5.3 gives: - #lua_bit.c:83:2: error: #error "Unknown number type, check LUA_NUMBER_* in luaconf.h" - LUAPKGCONFIG=lua5.3 - elif false && has_version 'dev-lang/lua:5.2'; then - # Lua5.2 fails with: - # scripting.c:(.text+0x1f9b): undefined reference to `lua_open' - # Because lua_open because lua_newstate in 5.2 - LUAPKGCONFIG=lua5.2 - elif has_version 'dev-lang/lua:5.1'; then - LUAPKGCONFIG=lua5.1 - else - LUAPKGCONFIG=lua - fi - # The upstream configure script handles luajit specially, and is not - # effected by these changes. - einfo "Selected LUAPKGCONFIG=${LUAPKGCONFIG}" - sed -i \ - -e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \ - -e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \ - -e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${LUAPKGCONFIG},g" \ - configure.ac || die "Sed failed for configure.ac" - eautoreconf -} - -src_configure() { - econf \ - $(use_with luajit) - - # Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164 - # also, don't define ANSI/c99 for lua twice - sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die -} - -src_compile() { - tc-export CC AR RANLIB - - local myconf="" - - if use tcmalloc; then - myconf="${myconf} USE_TCMALLOC=yes" - elif use jemalloc; then - myconf="${myconf} JEMALLOC_SHARED=yes" - else - myconf="${myconf} MALLOC=yes" - fi - - emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}" -} - -src_install() { - insinto /etc/ - doins redis.conf sentinel.conf - use prefix || fowners redis:redis /etc/{redis,sentinel}.conf - fperms 0644 /etc/{redis,sentinel}.conf - - newconfd "${FILESDIR}/redis.confd-r1" redis - newinitd "${FILESDIR}/redis.initd-5" redis - - systemd_newunit "${FILESDIR}/redis.service-3" redis.service - systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles-2" redis.conf - - newconfd "${FILESDIR}/redis-sentinel.confd" redis-sentinel - newinitd "${FILESDIR}/redis-sentinel.initd" redis-sentinel - - insinto /etc/logrotate.d/ - newins "${FILESDIR}/${PN}.logrotate" ${PN} - - dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md - - dobin src/redis-cli - dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb - fperms 0750 /usr/sbin/redis-benchmark - dosym redis-server /usr/sbin/redis-sentinel - - if use prefix; then - diropts -m0750 - else - diropts -m0750 -o redis -g redis - fi - keepdir /var/{log,lib}/redis -} diff --git a/dev-db/redis/redis-6.0.5.ebuild b/dev-db/redis/redis-6.0.6.ebuild index 16fd3cbb2f80..16fd3cbb2f80 100644 --- a/dev-db/redis/redis-6.0.5.ebuild +++ b/dev-db/redis/redis-6.0.6.ebuild diff --git a/dev-db/repmgr/Manifest b/dev-db/repmgr/Manifest index 163a045c5f8d..0dd46e67ede7 100644 --- a/dev-db/repmgr/Manifest +++ b/dev-db/repmgr/Manifest @@ -1,5 +1,7 @@ DIST repmgr-3.0.1.tar.gz 91724 BLAKE2B be0ac2d54dbaae7a45abaa90ed1a851e22f05a1bb0969a1c5d95e58d7c3f89513cc47555b77cc57bb5cd5baf60c21c9c44375363a757510f07b111ec78f87441 SHA512 5655745df18132ee53ff36f80b3a2bb8caa6cedd8091350464cf343386baa31c47d46b25c171dda0fd1f4c3402babea9864f4557a10659111449a2eb2e1fa2b9 DIST repmgr-3.3.2.tar.gz 162107 BLAKE2B b1029297fa548241dc5d58bcdcffc0a6f749725eba2d3c7d2cb70b1f46a96b491dc27deb7baf8459e91eae9663df000a1713e80f05e7e0e39afc020b4136c9a4 SHA512 98fba8fc0d9074e496c66762dbec45734fe279f39c9c51adb3e66dca929ac37f66a609789c8c658545856fd81f5afc5b35f6b5e389e52bce8c04ce8c52acd8dd +DIST repmgr-5.1.0.tar.gz 426487 BLAKE2B 25157923f94b8bd27a2b57796f701e89e7d9acfc8dabc4368640068d5926934e5688b27147ae94b4bee7bad54d59353927b5b70cf5590c554c4eef35fadf29b9 SHA512 9fa8a43ee3920269d1c1d2e619939eb68cb7ba79effe11e87dd67c594bacfcde609949322ce968df328f3913111f27d0ebe2f7742a72e21f3df97b0e05c56cc7 EBUILD repmgr-3.0.1.ebuild 1093 BLAKE2B b1bea77367d0485c85243730480fb97acc476606aa0db0587f1e3f2c70557456a489b84c88b70c17d14fb781bd27d505bd416ad57172ee0f56c2f47a67280105 SHA512 20196fa1f8819d40fb9eb2d72b76e4fe152ed1ac4ee4c35fd6b052af19ad8f3704888ffcae008869635661880a9e81076b012a2ecbd271e4553f74db1904930f EBUILD repmgr-3.3.2.ebuild 1093 BLAKE2B 8cce7fa79f044e9f5c5d459ee443f4d49b1dedb36e42e62670a39bb824d6e654dfd7c9c072a64dc40fa3ec9b89ea2c18d8f0e55954277877aabc89de781157db SHA512 6412c5cc1a9bde4fc6cac191146c0a529a67016690353b733547270198515b13ac56f9ecc081fb58eebe93b4afd03095001a9b4986e5f2ce55e3175c6893955b +EBUILD repmgr-5.1.0.ebuild 1028 BLAKE2B 960b1318d3c2fab555eb50c20dda76bd848f5b2efb8fab82c2d186a2e68967c5a28aaa6d61926457cc7dc3c80dc35a36943e12a809e2fba402c6b0736725c0cf SHA512 8a4ea35e3cbbed088366ece031cea2e095b68b51786f0c753745eb7dd438f95e9f0a8eef660fae57d3d446e45608e8ae3eb69449f5ec403b5fd9c6b1d472be37 MISC metadata.xml 224 BLAKE2B e14c5e39ad6d95b550997301c1ff5fe7b690fc3a146c1b0811fd4d0441c09622fb029728028b464152abd3bb36b467dd4299fccd03d666a8755070b90e99d107 SHA512 823068733b2edd6bd6d3d211f2ec383dbc3571bb4f9a57fd0dd0f48633a99e90e4ee979cc82e9a8aca6667b0ebe6a66c1c76551dce88ed25f163ce9a25a9cd41 diff --git a/dev-db/repmgr/repmgr-5.1.0.ebuild b/dev-db/repmgr/repmgr-5.1.0.ebuild new file mode 100644 index 000000000000..06a26ac1e9b5 --- /dev/null +++ b/dev-db/repmgr/repmgr-5.1.0.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit eutils multilib +DESCRIPTION="PostgreSQL Replication Manager" +HOMEPAGE="http://www.repmgr.org/" +SRC_URI="http://www.repmgr.org/download/${P}.tar.gz" +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +IUSE="" + +DEPEND=">=dev-db/postgresql-9.3[server,static-libs]" +RDEPEND="${DEPEND} + net-misc/rsync" + +src_compile() { + emake USE_PGXS=1 +} + +src_install() { + emake DESTDIR="${D}" USE_PGXS=1 install + export PGSLOT="$(postgresql-config show)" + einfo "PGSLOT: ${PGSLOT}" + PGBASEDIR=/usr/$(get_libdir)/postgresql-${PGSLOT} + PGBINDIR=${PGBASEDIR}/bin/ + PGCONTRIB=/usr/share/postgresql-${PGSLOT}/contrib/ + dodir $PGCONTRIB $PGBINDIR + dosym $PGBINDIR/repmgr /usr/bin/repmgr${PGSLOT//.} + dosym $PGBINDIR/repmgrd /usr/bin/repmgrd${PGSLOT//.} + dodoc CREDITS HISTORY COPYRIGHT *.md + insinto /etc + newins repmgr.conf.sample repmgr.conf + fowners postgres:postgres /etc/repmgr.conf + ewarn "Remember to modify /etc/repmgr.conf" +} diff --git a/dev-db/sadisplay/Manifest b/dev-db/sadisplay/Manifest index ed7aa4fc217a..17239dc43694 100644 --- a/dev-db/sadisplay/Manifest +++ b/dev-db/sadisplay/Manifest @@ -1,3 +1,3 @@ DIST sadisplay-0.4.9.tar.gz 9536 BLAKE2B 0265eb470ab600b761cf6d0e1872c3225e863de8aa602fbcdb1839c33ced8825318d4e4f8ee24de420847c077d1830af069af37ea8d3e3e6c76f47dc2335e1b3 SHA512 30fe8dd2a6247328bc4d7640e5a34b15a062322729cb8a2ffb66c740145475a95ac924f752017fda8f347268ce598957cfe78e8fd6f80413267c72b143b3e8b8 -EBUILD sadisplay-0.4.9.ebuild 491 BLAKE2B de7c684280c9b262d2b7c2b3e0ebf6a1572db7313974776e899c6312980fd3fe6e0e36b4582e2ef3f9e4c7935a3477466f282e0230697f06d4c1e94326067716 SHA512 8f29053f89b23810d38226d818d30ee983d0d88cde05059cdc2d9bfced5b62a195a6de56e1c2e56c241d7f7437542f6f81ae498eb5cfda5b23d172c41312efe7 -MISC metadata.xml 723 BLAKE2B b68188d1029ee8525109cbfe77acc40eb086ca55d1a6dd7dbb09ecba629d6b212535f130d52248c04010e7723c1a0e6fb85a0936d1ce1376331c1da9719b6180 SHA512 956c5292c44d4c4567bc000e81a5469e6cf31e38eb6e4f4f66ef7a4def68f919708d6a4fa974d087f0550756e52af1a27c1c35e73d8c3e958106c25b7e95cb84 +EBUILD sadisplay-0.4.9.ebuild 478 BLAKE2B 1dfb1391b9810585a9c2871406b30f5f346cd85c0d5ac099a9d2d0ff5c8d91d70a749e38dfc39bc344a49654314f7bbb8e8913224ca283e03cd0ada8d218b0a3 SHA512 72942ef43fe427729fcb92091fdc8f9361b0a6e530f8d5edbfa0766c0dc138523e93639c2acd72d8a1216a36d7e7fda7f8d58c28e40c98db0398b2254ebbe8f5 +MISC metadata.xml 712 BLAKE2B 27421648f5f7843cdb0f3503cb6406d684a6236c51e80452c405a09682dc76ad09949d19dc7770f41cc3c406d7a1dcbbc606004e304d38d7c02e2d0df0c7519f SHA512 e8cdf8fb80041fe55731ebed4f797e0ec84e61bc59f4acf567a251fe3974aacb574bbe0d339ff01dc29b43ec4c8a2fffcee1406200ad0cb7807ccf97f3517251 diff --git a/dev-db/sadisplay/metadata.xml b/dev-db/sadisplay/metadata.xml index fb7b2ca77d10..a55deabf108e 100644 --- a/dev-db/sadisplay/metadata.xml +++ b/dev-db/sadisplay/metadata.xml @@ -16,6 +16,6 @@ Supports mapped class inherit. </longdescription> <upstream> - <remote-id type="bitbucket">estin/sadisplay</remote-id> + <remote-id type="pypi">sadisplay</remote-id> </upstream> </pkgmetadata> diff --git a/dev-db/sadisplay/sadisplay-0.4.9.ebuild b/dev-db/sadisplay/sadisplay-0.4.9.ebuild index 648efe4ed064..e942723c8a79 100644 --- a/dev-db/sadisplay/sadisplay-0.4.9.ebuild +++ b/dev-db/sadisplay/sadisplay-0.4.9.ebuild @@ -10,7 +10,7 @@ DISTUTILS_USE_SETUPTOOLS=rdepend inherit distutils-r1 DESCRIPTION="SqlAlchemy schema display script" -HOMEPAGE="https://bitbucket.org/estin/sadisplay/wiki/Home" +HOMEPAGE="https://pypi.org/project/sadisplay" SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" LICENSE="BSD" diff --git a/dev-db/slony1/Manifest b/dev-db/slony1/Manifest index fd99633b05cc..d89ccd53a75d 100644 --- a/dev-db/slony1/Manifest +++ b/dev-db/slony1/Manifest @@ -4,6 +4,6 @@ DIST slony1-2.2.6-docs.tar.bz2 1450956 BLAKE2B 949d0736eb9ab021767b80b4240e30a8c DIST slony1-2.2.6.tar.bz2 1465709 BLAKE2B 87e581638aab5ac9f51437fc43b65f200c29e012fa2b5331d4a7972359bb345c8d5aec9917fbc348ce8338115f8270d6e55025905aa5aba642090a8486d0a3fc SHA512 5aeadb9ed72b83d303596e4f8513409a1f826f25fe283ca6aa969a7563172bbc5f5360f876fa87780f6a6fc70cb55688a2daf678b9cf91972a3c403cb76184b8 DIST slony1-2.2.7-docs.tar.bz2 252020 BLAKE2B 315d54c008fca121fac12385602e729c7bb6a7a90db502165625c1138da6b87f147410555ca6bc315ba766fd6fed22b6c5dcbe06c9481dd37b9e9c8832209b02 SHA512 7735aae634788acae77eb2cc64f51a851e3b804fb1ca860eddc237734aa6182bd7dfcdae485cd89682c413f55003ea67d91c4c24922b4fdef79ac34793022e56 DIST slony1-2.2.7.tar.bz2 1464923 BLAKE2B aee11f92d634a6c2eaf84dd48faf6cac7a27956474aaa9070f1d4fad3e70b0af09475abda149e096f1b238d68237c0b43b18880440bd4c2d66f5c0f4ad789e99 SHA512 22700e1574c91d4a4be5b78aac967eebc039440897364780891c2c76ed5b8e07c03205f0fbcd4870ee7c620d62b175987c46c43750524c6e5f9009044cc24f9a -EBUILD slony1-2.2.6.ebuild 1643 BLAKE2B 597c130629801f77850c83e3997bf9d2932ab7adccd996cb8741523352fc1412cc0222404bd41fa84190c1011d15f7132d08b2004f233c2bc27a09af54b1f65f SHA512 95b77cad245c855e078651cf29f4b1c41c14ebde7aee64bf3ae19a52bd32905dce73fed2b722e35ebea34c33e1080cd823d5b76f11d07efe1c2c4fa82e06b339 -EBUILD slony1-2.2.7.ebuild 1635 BLAKE2B f11db04586e96c02622c029270840189043233ad270bc5f053a1b0626932484ad91f302825c2a0bb107bff5efc77400a70254d6ea98a20253859b49539ff799c SHA512 14dd33945eee36c8bef912ecf168c45b93f0863cc23eb1d55b2ee2d27e58f868433f7c4922b33d29e9620ae05bf979f4df9225508faaf372b3f248bce665d81f +EBUILD slony1-2.2.6.ebuild 1643 BLAKE2B f9c9cce6671b1a5c613a6950ee34df5627db305c83709af4a1a76d25b8f0520ee73d679db0d974531062f83d4bb085f65165ba0ca46059908839de639385d41a SHA512 9ee213f0628031c5b670a0a8533c19c43b45694e64bfd7c23ddf5a9d8a09d9d048898214536cde6303b81134504c0e11412e9e28705abe649982e2d4bb69841c +EBUILD slony1-2.2.7.ebuild 1635 BLAKE2B c3d2307c14aaec2a9ae999e31ef5ec3b090857d59e50eb09e17c175b4d92f92ba12e15b6a43823a79c9e95d0be94f31218b17ca17f8dfc0c966b87fdb713932a SHA512 767988ade2ba9f7203b1142767d43dfb8fb11f34d9555fc86dec8a2c2360bd423112aaae4a5632b44b8e01610a0f8dbfd3af23a8972adb5d686b9b38eb7d56ea MISC metadata.xml 280 BLAKE2B 75bfaba3095bd67dfa80654885579e51053fd130ae4e3ad61ac75192eebad9fe8d08cbdf63773dad3837ef2805e0594d0823655966fde8876ba5919e01f0e698 SHA512 efb5fb6652ac8cd75fff4eea8b2b044a2c9201cce2faf3bbe13a97565d150e64f9ba0dd8bb691a44a1b6726455306ea8b6c1b121678a721a82e7ea8b6589c94f diff --git a/dev-db/slony1/slony1-2.2.6.ebuild b/dev-db/slony1/slony1-2.2.6.ebuild index a3e2265b26e9..6ea02b10d27b 100644 --- a/dev-db/slony1/slony1-2.2.6.ebuild +++ b/dev-db/slony1/slony1-2.2.6.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="6" -POSTGRES_COMPAT=( 9.{4..6} 10 ) +POSTGRES_COMPAT=( 9.{5..6} 10 ) POSTGRES_USEDEP="server,threads" inherit eutils postgres-multi versionator diff --git a/dev-db/slony1/slony1-2.2.7.ebuild b/dev-db/slony1/slony1-2.2.7.ebuild index 1e4c19cfd284..d0edb6f89da5 100644 --- a/dev-db/slony1/slony1-2.2.7.ebuild +++ b/dev-db/slony1/slony1-2.2.7.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="6" -POSTGRES_COMPAT=( 9.{4..6} {10..11} ) +POSTGRES_COMPAT=( 9.{5..6} {10..11} ) POSTGRES_USEDEP="server,threads" inherit eutils postgres-multi versionator diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest index 858eea63994e..c3cac931bf93 100644 --- a/dev-db/sqlite/Manifest +++ b/dev-db/sqlite/Manifest @@ -1,11 +1,11 @@ -AUX sqlite-3.25.0-nonfull_archive-build.patch 416 BLAKE2B 37faa30235c1b668d3cf510c353730a932a807f650c638ac0d07d3a1c0534dedef233c06cef52b6569eb1d58b5bcd910dd59c8d2e792726945f49f882d4181be SHA512 44db89a32b51713cf59fb3f071cca08648deebf6e2830dd61b033a5160ce6ddcbf54a191be42b3b252ea4bc16614fbcfa569207f34f268f1da5acd5fadcda668 -AUX sqlite-3.31.0-full_archive-build.patch 15642 BLAKE2B c07992c52f1e67d5d5eae1b0cfc0fe20b26e4405ccd8f6c7ece75ea3908f9699e67520c3d27b614b01d20b5758b2b85a8f3b66aa1675cc8fd248d7742fc55ec9 SHA512 14727ab43911f810a22b3aa2a48ce8074422ad38898d0064b7ec4b9a226b27a781ac342a60f32ae1edbaae155bdf142456f66faf8d5adcd33b902b77c3607f72 -AUX sqlite-3.31.1-full_archive-architectures.patch 2993 BLAKE2B 252d92ec087482b062e0dae0b223e0c0dee6f5857765c6babb857922eb97183a1c72b4ba196685e6b1e1631990123bc8cd71a4e26eabe317741cdc19ac54c201 SHA512 d65475759e2ae663094803d7c74e62fe233630afcf7bd287e77a613144889efb09d57e9f9fa8dce634872e37f1ae53134793fbcfd3d7bd260fc6d774bf5e8aad -AUX sqlite-3.31.1-full_archive-security_fixes.patch 5388 BLAKE2B c2740e47d2aab8b99c9d8ae9f346f51f0dca8cdff7d3b991346aff5e94553af1c523b48d33490abb83ecc77be9ae075580dc095b827b348c657b9d5082ec5fe3 SHA512 53894b3bdf5e4a61c58b23758867a63db73b49b856f696a32c6c6d0224d54359927db635abec770e84b111dbf0fbb48b9742809be05504e12854385c58024819 -AUX sqlite-3.31.1-nonfull_archive-architectures.patch 826 BLAKE2B a506bc0a44477c7b5ad85ad2144871a4d1311d84e8da7b8958a73762662caf11734a3152984430b2c48120d1bfa1099b8a740f9a5c23ee8de1292d7ac1ffcea6 SHA512 041f0d4e07315c48ddce9d1576329647daa787fdcc76d2590fa2bbfb33a13f1b86707379a73b7db35619731c2df0e094b26879648e4b6a9b40696dbd39c7bffa -AUX sqlite-3.31.1-nonfull_archive-security_fixes.patch 4099 BLAKE2B bc07ee47164abeefc8d802741e68d77ce339209bc2d143246287e7d2743a57f13a84c08d048c1e72cee84a3ecc2e323a316f7b231352558f28cbd4259c5f8f8b SHA512 b8f18b4895168036cb5958dade34060b2cfee7aeaf61f20fa741f6d9e61856f643597324313e7e0cd1732346099da78111cf44171e355aa7f13ef8a6350845d6 -DIST sqlite-autoconf-3310100.tar.gz 2887243 BLAKE2B ef5d40b6e6c59a51ae95368eb9f6a938188813f89d5328ea1c1180ef35f124c14b3e83b0832ae5c2fa24cc2df352f1b0ea5f20b64d0762d50a700d9895f9a12e SHA512 d85250ba5f78f0c918880f663741709aba662192f04888b2324a0df17affdf5b8540e8428c6c7315119806e7adad758ea281c9b403c0ad94ac6a9bd1b93fd617 -DIST sqlite-doc-3310100.zip 9600405 BLAKE2B 324fb7a0a38bc56476e41504c14996e9d5d83ac659403991515413d49f5ee3aad064ccece25f52b6041ef26bf23f320a9be1b6b02c5fbe96c36372107f54fc2e SHA512 5572e2c2dac30c014ef9cd60a620b7a7bb610f91a47e2890c0641540d39b9d5ce0e914ee697583130317633918b7827e2612a7cbc024f5bd6aa22ad28a78b56b -DIST sqlite-src-3310100.zip 12510166 BLAKE2B a856695e8552b8b4dcb28452fdbd48305fdb9072f9d6587f4b1f4445daf386e920eb936dcb50fdfe41a49f84b26a7c5fedcffea5acf3ba3fa935c36695d4b8ee SHA512 af92a00877bcd90372d6f83a27fea12b4fe8d1155b223a6bccbccc31bb8e3d2269cd9e68f329bc55f70d1068ccbf220ff5abccea6f593fd7a3a4bdd732d1cdbe -EBUILD sqlite-3.31.1.ebuild 11936 BLAKE2B ffb1297a2df474acaaf030e2a29ee297e19133db11276a09cc0507b913ace9502bc3a22efdb55e4e935727ed3a6a785c4132b8b54663015475d3801ab16adf0c SHA512 2e91be4abb03493654561005a1edf8d5cbbce5740adc15205331b881271e8e605c570948b7576f98cdb0bccf1aae1f3d37f2c4b6bb188b5c46e06aed5a107788 +AUX sqlite-3.32.1-full_archive-build_1.patch 18726 BLAKE2B 91906aa09514d6f31a87648d7a12fd7a187cbc328bc1d2e41dcd0d041c1ad1959953823af5b84994d742dfcba46727af5797fe83c576ae483133156abbb00f1c SHA512 b206d2767ac9312165085b623f06cf19d36e4fa85c33bce67db56ae41880374ae4115294f417de67f32f6ea9200b028160cdde3ad3420c5ad342b7ec0928fa87 +AUX sqlite-3.32.1-full_archive-build_2.patch 20259 BLAKE2B 851918379951943ac02fc5bd5b4807f05e9faf2a7e3d01d945761801beeb25c4083bdb5b48ddb79f9e54b859932fffbb393eadfa3ae16ea400e7490fb730170a SHA512 cf4a74ebb0e7b81b3225bd6d38fde663b981d6e5217996a0c80a4880a3818d7b84c39ed6527573426b2d0deebff74b46775c2ca91b8b6503e2f26758d9eb2ad3 +AUX sqlite-3.32.3-backports_1.patch 17914 BLAKE2B cca0c1d7e1bcccbf9042725f7df32359c954725e4a13e6956dc642aa082abe85953df98f4d3ba59c11599c3a9595126da78600ad0d4a66dce987be45f17c582e SHA512 44f91b92d6c8086b10cd96a382ea391108bde5a2e48f2b9ae43e97fe9fa9d5f4c64ee500bb8ed4414dd519f85823121265c450e92898d13468297d7bf9d28ddc +AUX sqlite-3.32.3-backports_2.patch 18056 BLAKE2B 60be3513c3cc687e8fac5689f096a8e543904dfd8f5e3f01f92245de963cc01b7f02774b0a60b2ca3fe3415d0eb3615f65e8756e174efccc98dc5438dbf2189c SHA512 4bb01074417f3e3af6bdf619c0ccc61fe54f4e926a1dd31a57e1a595cc713e58ee52cac7baa11ffa271ed434a8bb645be7fd25a9fa93cc596707f2e503fe87a1 +AUX sqlite-3.32.3-backports_3.patch 9059 BLAKE2B 4c36eafca13eab04bfb0ce871458d12925b225f05edce785f7f86650de31808179d8bebeffcc23ca8f68069fa2854b7a042ef91e85705b27e85af1b3c424ced8 SHA512 c897d7ebc9b8b5f29c8ed27e76bdeeb3a0bde62fcd4f5398deca2f97c99cc2ef5556389b0c79dced64982fbde2a6322abd91e134255156b572bca476e2a7c050 +AUX sqlite-3.32.3-security_fixes.patch 4850 BLAKE2B 0dad99a14909c85f5f8b31d74dd1d63a5be7d3c6499bba788a2ff09dd1d6bb9badce57499c99c9c6fdc5b7177204452a2e14214748931ccf502154c44e3c29a8 SHA512 5845368e63676fb050618ca923b5c8348d17e003e4735f36bef17b185f434348708ce3e05be76e7c661eb5321a199364c9ba06492f71a9921b30c00255b55766 +DIST sqlite-doc-3320300.zip 9772933 BLAKE2B efd72c18d0398c103e3f9c4cfeb03e7794fd69691b1bcea95b74a0c5d8af22aa13abc84ce8dc5864b5f4cb79be239433933b4daca34d1adfcc6f31ce2cde66bf SHA512 af9dca970b4c03c058d7d1cd55a3d11fa4b112dccac942b8660d82a7e9ba2956963fcb429eedfdc85915637c102e1f904ace98c8e0455c4120422bbd9f2f3cd0 +DIST sqlite-src-3320300.zip 12461750 BLAKE2B 59cce74d284191cfc69ac09b6014701ddd2b7b3d7ebaad5da4ad71cc200e70285b3b201ff174819aa8dde5f610589d7947f547450334f0f17149014078316185 SHA512 7e027c7163a760fb9b6dbfd2e4ccffb39d4972280583fb0d7f8390017101dfed3b12a36653b3130a548ae4d04c6abb11c0a1921b6f09c54c6ae1e72fbdcb2fd4 +EBUILD sqlite-3.32.3-r1.ebuild 10369 BLAKE2B c997121e13e1f2b86128e18a86d7260f340f4a1be42b8ff2c02a34b13689f883572352e4e3c9ada1dbfccd2e215d8d1e6b18e912a6d966bb76112aaba241bb53 SHA512 39c97994f1f8d505055701173ebdf41732dbce2b4071c5a4b2e17a8d29f09ae92a2b731521fcf2a33ad5821cb18e9bd790dd1789d4fe9e3e9002786e34caf8ca +EBUILD sqlite-3.32.3.ebuild 10424 BLAKE2B abfa3de0889bd3931678ffd3a0c8c8d5814a7a673f922965484a2d3c85c3a7203f17ff53dcb2cf2dd4866b1936920b084c856909803fd7f828efab6c52b1446f SHA512 2f74dbdb11ca5d9ed8989ef86cac2d087b7f5e420031b69dac5bdafdd6887e739adbb88f9159082cd2a787cce9923b33bb1bd497e0f7900eca6af18b1a3b79d1 MISC metadata.xml 748 BLAKE2B c58da3e33e12b7747bbadacfd1a6137cf847fd5bd0525fc02ef854eb5bcad7bad0b29739257b632e19190995659768fdea418ffa7e485e55ef15f40f58b8382c SHA512 66f3f134065f76229b74a7ab7b469066a93da737a9037435e6fe78e85f45c980ec561537f2bb9b95db9de026bad025d8b06682187c97dedd2741717e893d43da diff --git a/dev-db/sqlite/files/sqlite-3.25.0-nonfull_archive-build.patch b/dev-db/sqlite/files/sqlite-3.25.0-nonfull_archive-build.patch deleted file mode 100644 index be0a7e30dde3..000000000000 --- a/dev-db/sqlite/files/sqlite-3.25.0-nonfull_archive-build.patch +++ /dev/null @@ -1,14 +0,0 @@ -Fix building with dlopen() not available. - ---- /configure.ac -+++ /configure.ac -@@ -102,6 +102,9 @@ - [], [enable_dynamic_extensions=yes]) - if test x"$enable_dynamic_extensions" != "xno"; then - AC_SEARCH_LIBS(dlopen, dl) -+ if test "${ac_cv_search_dlopen}" = "no"; then -+ BUILD_CFLAGS="$BUILD_CFLAGS -DSQLITE_OMIT_LOAD_EXTENSION=1" -+ fi - else - BUILD_CFLAGS="$BUILD_CFLAGS -DSQLITE_OMIT_LOAD_EXTENSION=1" - fi diff --git a/dev-db/sqlite/files/sqlite-3.31.1-full_archive-architectures.patch b/dev-db/sqlite/files/sqlite-3.31.1-full_archive-architectures.patch deleted file mode 100644 index a0cf7514d0f7..000000000000 --- a/dev-db/sqlite/files/sqlite-3.31.1-full_archive-architectures.patch +++ /dev/null @@ -1,72 +0,0 @@ -https://sqlite.org/cgi/src/info/04885763c4cd00cb -https://sqlite.org/cgi/src/info/b20503aaf5b6595a - ---- /ext/fts5/test/fts5matchinfo.test -+++ /ext/fts5/test/fts5matchinfo.test -@@ -500,14 +500,18 @@ - INSERT INTO t1 VALUES('c', 'd'); - } - -+if {$tcl_platform(byteOrder)=="littleEndian"} { -+ set res {X'02000000'} -+} else { -+ set res {X'00000002'} -+} - do_execsql_test 15.1 { - SELECT quote(matchinfo(t1, 'n')) FROM t1 LIMIT 1; --} {X'02000000'} -- -+} $res - do_execsql_test 15.2 { - DELETE FROM t1_content WHERE rowid=1; - SELECT quote(matchinfo(t1, 'n')) FROM t1 LIMIT 1; --} {X'02000000'} -+} $res - - fts5_aux_test_functions db - do_execsql_test 15.3 { -@@ -517,4 +521,3 @@ - } - - finish_test -- ---- /src/insert.c -+++ /src/insert.c -@@ -2170,12 +2170,14 @@ - x = *sqlite3VdbeGetOp(v, addrConflictCk); - if( x.opcode!=OP_IdxRowid ){ - int p2; /* New P2 value for copied conflict check opcode */ -+ const char *zP4; - if( sqlite3OpcodeProperty[x.opcode]&OPFLG_JUMP ){ - p2 = lblRecheckOk; - }else{ - p2 = x.p2; - } -- sqlite3VdbeAddOp4(v, x.opcode, x.p1, p2, x.p3, x.p4.z, x.p4type); -+ zP4 = x.p4type==P4_INT32 ? SQLITE_INT_TO_PTR(x.p4.i) : x.p4.z; -+ sqlite3VdbeAddOp4(v, x.opcode, x.p1, p2, x.p3, zP4, x.p4type); - sqlite3VdbeChangeP5(v, x.p5); - VdbeCoverageIf(v, p2!=x.p2); - } ---- /test/fts4aa.test -+++ /test/fts4aa.test -@@ -229,13 +229,18 @@ - # 2019-11-18 https://bugs.chromium.org/p/chromium/issues/detail?id=1025467 - db close - sqlite3 db :memory: -+if {$tcl_platform(byteOrder)=="littleEndian"} { -+ set res {X'0200000000000000000000000E0000000E00000001000000010000000100000001000000'} -+} else { -+ set res {X'0000000200000000000000000000000E0000000E00000001000000010000000100000001'} -+} - do_execsql_test fts4aa-6.10 { - CREATE VIRTUAL TABLE f USING fts4(); - INSERT INTO f_segdir VALUES (77,91,0,0,'255 77',x'0001308000004d5c4ddddddd4d4d7b4d4d4d614d8019ff4d05000001204d4d2e4d6e4d4d4d4b4d6c4d004d4d4d4d4d4d3d000000004d5d4d4d645d4d004d4d4d4d4d4d4d4d4d454d6910004d05ffff054d646c4d004d5d4d4d4d4d3d000000004d4d4d4d4d4d4d4d4d4d4d69624d4d4d04004d4d4d4d4d604d4ce1404d554d45'); - INSERT INTO f_segdir VALUES (77,108,0,0,'255 77',x'0001310000fa64004d4d4d3c5d4d654d4d4d614d8000ff4d05000001204d4d2e4d6e4d4d4dff4d4d4d4d4d4d00104d4d4d4d000000004d4d4d0400311d4d4d4d4d4d4d4d4d4d684d6910004d05ffff054d4d6c4d004d4d4d4d4d4d3d000000004d4d4d4d644d4d4d4d4d4d69624d4d4d03ed4d4d4d4d4d604d4ce1404d550080'); - INSERT INTO f_stat VALUES (0,x'80808080100000000064004d4d4d3c4d4d654d4d4d614d8000ff4df6ff1a00204d4d2e4d6e4d4d4d104d4d4d4d4d4d00104d4d4d4d4d4d69574d4d4d000031044d4d4d3e4d4d4c4d05004d6910'); - SELECT quote(matchinfo(f,'pnax')) from f where f match '0 1'; --} {X'0200000000000000000000000E0000000E00000001000000010000000100000001000000'} -+} $res - - # 2019-11-18 Detect infinite loop in fts3SelectLeaf() - db close diff --git a/dev-db/sqlite/files/sqlite-3.31.1-full_archive-security_fixes.patch b/dev-db/sqlite/files/sqlite-3.31.1-full_archive-security_fixes.patch deleted file mode 100644 index c0bb7144a67b..000000000000 --- a/dev-db/sqlite/files/sqlite-3.31.1-full_archive-security_fixes.patch +++ /dev/null @@ -1,163 +0,0 @@ -https://sqlite.org/cgi/src/info/9d0d4ab95dc0c56e -https://sqlite.org/cgi/src/info/abc473fb8fb99900 -https://sqlite.org/cgi/src/info/5aeb5a2d295e10d5 -https://sqlite.org/cgi/src/info/a67cf5b7d37d5b14 -https://sqlite.org/cgi/src/info/14d14eb537075c6a -https://sqlite.org/cgi/src/info/c431b3fd8fd0f6a6 - ---- /src/expr.c -+++ /src/expr.c -@@ -5463,19 +5463,25 @@ - case TK_LT: - case TK_LE: - case TK_GT: -- case TK_GE: -+ case TK_GE: { -+ Expr *pLeft = pExpr->pLeft; -+ Expr *pRight = pExpr->pRight; - testcase( pExpr->op==TK_EQ ); - testcase( pExpr->op==TK_NE ); - testcase( pExpr->op==TK_LT ); - testcase( pExpr->op==TK_LE ); - testcase( pExpr->op==TK_GT ); - testcase( pExpr->op==TK_GE ); -- if( (pExpr->pLeft->op==TK_COLUMN && IsVirtual(pExpr->pLeft->y.pTab)) -- || (pExpr->pRight->op==TK_COLUMN && IsVirtual(pExpr->pRight->y.pTab)) -+ /* The y.pTab=0 assignment in wherecode.c always happens after the -+ ** impliesNotNullRow() test */ -+ if( (pLeft->op==TK_COLUMN && ALWAYS(pLeft->y.pTab!=0) -+ && IsVirtual(pLeft->y.pTab)) -+ || (pRight->op==TK_COLUMN && ALWAYS(pRight->y.pTab!=0) -+ && IsVirtual(pRight->y.pTab)) - ){ -- return WRC_Prune; -+ return WRC_Prune; - } -- -+ } - default: - return WRC_Continue; - } ---- /src/resolve.c -+++ /src/resolve.c -@@ -1051,7 +1051,7 @@ - assert( !ExprHasProperty(pExpr, EP_Reduced) ); - /* Handle special cases of "x IS TRUE", "x IS FALSE", "x IS NOT TRUE", - ** and "x IS NOT FALSE". */ -- if( pRight->op==TK_ID ){ -+ if( pRight && pRight->op==TK_ID ){ - int rc = resolveExprStep(pWalker, pRight); - if( rc==WRC_Abort ) return WRC_Abort; - if( pRight->op==TK_TRUEFALSE ){ ---- /src/select.c -+++ /src/select.c -@@ -2806,6 +2806,7 @@ - /* Generate code to take the intersection of the two temporary - ** tables. - */ -+ if( rc ) break; - assert( p->pEList ); - iBreak = sqlite3VdbeMakeLabel(pParse); - iCont = sqlite3VdbeMakeLabel(pParse); -@@ -5148,7 +5149,7 @@ - pNew = sqlite3ExprListAppend(pParse, pNew, pExpr); - sqlite3TokenInit(&sColname, zColname); - sqlite3ExprListSetName(pParse, pNew, &sColname, 0); -- if( pNew && (p->selFlags & SF_NestedFrom)!=0 ){ -+ if( pNew && (p->selFlags & SF_NestedFrom)!=0 && !IN_RENAME_OBJECT ){ - struct ExprList_item *pX = &pNew->a[pNew->nExpr-1]; - sqlite3DbFree(db, pX->zEName); - if( pSub ){ ---- /src/sqliteInt.h -+++ /src/sqliteInt.h -@@ -2153,8 +2153,11 @@ - */ - #ifndef SQLITE_OMIT_VIRTUALTABLE - # define IsVirtual(X) ((X)->nModuleArg) -+# define ExprIsVtab(X) \ -+ ((X)->op==TK_COLUMN && (X)->y.pTab!=0 && (X)->y.pTab->nModuleArg) - #else - # define IsVirtual(X) 0 -+# define ExprIsVtab(X) 0 - #endif - - /* ---- /src/whereexpr.c -+++ /src/whereexpr.c -@@ -377,7 +377,8 @@ - ** MATCH(expression,vtab_column) - */ - pCol = pList->a[1].pExpr; -- if( pCol->op==TK_COLUMN && IsVirtual(pCol->y.pTab) ){ -+ testcase( pCol->op==TK_COLUMN && pCol->y.pTab==0 ); -+ if( ExprIsVtab(pCol) ){ - for(i=0; i<ArraySize(aOp); i++){ - if( sqlite3StrICmp(pExpr->u.zToken, aOp[i].zOp)==0 ){ - *peOp2 = aOp[i].eOp2; -@@ -399,7 +400,8 @@ - ** with function names in an arbitrary case. - */ - pCol = pList->a[0].pExpr; -- if( pCol->op==TK_COLUMN && IsVirtual(pCol->y.pTab) ){ -+ testcase( pCol->op==TK_COLUMN && pCol->y.pTab==0 ); -+ if( ExprIsVtab(pCol) ){ - sqlite3_vtab *pVtab; - sqlite3_module *pMod; - void (*xNotUsed)(sqlite3_context*,int,sqlite3_value**); -@@ -422,10 +424,12 @@ - int res = 0; - Expr *pLeft = pExpr->pLeft; - Expr *pRight = pExpr->pRight; -- if( pLeft->op==TK_COLUMN && IsVirtual(pLeft->y.pTab) ){ -+ testcase( pLeft->op==TK_COLUMN && pLeft->y.pTab==0 ); -+ if( ExprIsVtab(pLeft) ){ - res++; - } -- if( pRight && pRight->op==TK_COLUMN && IsVirtual(pRight->y.pTab) ){ -+ testcase( pRight && pRight->op==TK_COLUMN && pRight->y.pTab==0 ); -+ if( pRight && ExprIsVtab(pRight) ){ - res++; - SWAP(Expr*, pLeft, pRight); - } ---- /test/altertab.test -+++ /test/altertab.test -@@ -613,4 +613,21 @@ - SELECT sql FROM sqlite_master; - } {{CREATE TABLE t0 (c1 INTEGER, PRIMARY KEY(c1))}} - -+# 2020-02-23 ticket f50af3e8a565776b -+reset_db -+do_execsql_test 19.100 { -+ CREATE TABLE t1(x); -+ CREATE VIEW t2 AS SELECT 1 FROM t1, (t1 AS a0, t1); -+ ALTER TABLE t1 RENAME TO t3; -+ SELECT sql FROM sqlite_master; -+} {{CREATE TABLE "t3"(x)} {CREATE VIEW t2 AS SELECT 1 FROM "t3", ("t3" AS a0, "t3")}} -+do_execsql_test 19.110 { -+ INSERT INTO t3(x) VALUES(123); -+ SELECT * FROM t2; -+} {1} -+do_execsql_test 19.120 { -+ INSERT INTO t3(x) VALUES('xyz'); -+ SELECT * FROM t2; -+} {1 1 1 1 1 1 1 1} -+ - finish_test ---- /test/windowfault.test -+++ /test/windowfault.test -@@ -263,4 +263,15 @@ - faultsim_test_result {0 {}} - } - -+do_faultsim_test 11 -faults oom* -prep { -+} -body { -+ execsql { -+ VALUES(false),(current_date collate binary) -+ intersect -+ values(count() not like group_concat(cast(cast(0e00 as text) as integer) <= NULL || 0.4e-0 || 0x8 & true ) over () collate rtrim); -+ } -+} -test { -+ faultsim_test_result {0 {}} -+} -+ - finish_test diff --git a/dev-db/sqlite/files/sqlite-3.31.1-nonfull_archive-architectures.patch b/dev-db/sqlite/files/sqlite-3.31.1-nonfull_archive-architectures.patch deleted file mode 100644 index 79f6f07e0ef7..000000000000 --- a/dev-db/sqlite/files/sqlite-3.31.1-nonfull_archive-architectures.patch +++ /dev/null @@ -1,20 +0,0 @@ -https://sqlite.org/cgi/src/info/04885763c4cd00cb - ---- /sqlite3.c -+++ /sqlite3.c -@@ -121302,12 +121302,14 @@ - x = *sqlite3VdbeGetOp(v, addrConflictCk); - if( x.opcode!=OP_IdxRowid ){ - int p2; /* New P2 value for copied conflict check opcode */ -+ const char *zP4; - if( sqlite3OpcodeProperty[x.opcode]&OPFLG_JUMP ){ - p2 = lblRecheckOk; - }else{ - p2 = x.p2; - } -- sqlite3VdbeAddOp4(v, x.opcode, x.p1, p2, x.p3, x.p4.z, x.p4type); -+ zP4 = x.p4type==P4_INT32 ? SQLITE_INT_TO_PTR(x.p4.i) : x.p4.z; -+ sqlite3VdbeAddOp4(v, x.opcode, x.p1, p2, x.p3, zP4, x.p4type); - sqlite3VdbeChangeP5(v, x.p5); - VdbeCoverageIf(v, p2!=x.p2); - } diff --git a/dev-db/sqlite/files/sqlite-3.31.1-nonfull_archive-security_fixes.patch b/dev-db/sqlite/files/sqlite-3.31.1-nonfull_archive-security_fixes.patch deleted file mode 100644 index 3bbbbf7c8dde..000000000000 --- a/dev-db/sqlite/files/sqlite-3.31.1-nonfull_archive-security_fixes.patch +++ /dev/null @@ -1,112 +0,0 @@ -https://sqlite.org/cgi/src/info/9d0d4ab95dc0c56e -https://sqlite.org/cgi/src/info/abc473fb8fb99900 -https://sqlite.org/cgi/src/info/5aeb5a2d295e10d5 -https://sqlite.org/cgi/src/info/a67cf5b7d37d5b14 -https://sqlite.org/cgi/src/info/c431b3fd8fd0f6a6 - ---- /sqlite3.c -+++ /sqlite3.c -@@ -17428,8 +17428,11 @@ - */ - #ifndef SQLITE_OMIT_VIRTUALTABLE - # define IsVirtual(X) ((X)->nModuleArg) -+# define ExprIsVtab(X) \ -+ ((X)->op==TK_COLUMN && (X)->y.pTab!=0 && (X)->y.pTab->nModuleArg) - #else - # define IsVirtual(X) 0 -+# define ExprIsVtab(X) 0 - #endif - - /* -@@ -97816,7 +97819,7 @@ - assert( !ExprHasProperty(pExpr, EP_Reduced) ); - /* Handle special cases of "x IS TRUE", "x IS FALSE", "x IS NOT TRUE", - ** and "x IS NOT FALSE". */ -- if( pRight->op==TK_ID ){ -+ if( pRight && pRight->op==TK_ID ){ - int rc = resolveExprStep(pWalker, pRight); - if( rc==WRC_Abort ) return WRC_Abort; - if( pRight->op==TK_TRUEFALSE ){ -@@ -104133,19 +104136,25 @@ - case TK_LT: - case TK_LE: - case TK_GT: -- case TK_GE: -+ case TK_GE: { -+ Expr *pLeft = pExpr->pLeft; -+ Expr *pRight = pExpr->pRight; - testcase( pExpr->op==TK_EQ ); - testcase( pExpr->op==TK_NE ); - testcase( pExpr->op==TK_LT ); - testcase( pExpr->op==TK_LE ); - testcase( pExpr->op==TK_GT ); - testcase( pExpr->op==TK_GE ); -- if( (pExpr->pLeft->op==TK_COLUMN && IsVirtual(pExpr->pLeft->y.pTab)) -- || (pExpr->pRight->op==TK_COLUMN && IsVirtual(pExpr->pRight->y.pTab)) -+ /* The y.pTab=0 assignment in wherecode.c always happens after the -+ ** impliesNotNullRow() test */ -+ if( (pLeft->op==TK_COLUMN && ALWAYS(pLeft->y.pTab!=0) -+ && IsVirtual(pLeft->y.pTab)) -+ || (pRight->op==TK_COLUMN && ALWAYS(pRight->y.pTab!=0) -+ && IsVirtual(pRight->y.pTab)) - ){ -- return WRC_Prune; -+ return WRC_Prune; - } -- -+ } - default: - return WRC_Continue; - } -@@ -130673,6 +130682,7 @@ - /* Generate code to take the intersection of the two temporary - ** tables. - */ -+ if( rc ) break; - assert( p->pEList ); - iBreak = sqlite3VdbeMakeLabel(pParse); - iCont = sqlite3VdbeMakeLabel(pParse); -@@ -133015,7 +133025,7 @@ - pNew = sqlite3ExprListAppend(pParse, pNew, pExpr); - sqlite3TokenInit(&sColname, zColname); - sqlite3ExprListSetName(pParse, pNew, &sColname, 0); -- if( pNew && (p->selFlags & SF_NestedFrom)!=0 ){ -+ if( pNew && (p->selFlags & SF_NestedFrom)!=0 && !IN_RENAME_OBJECT ){ - struct ExprList_item *pX = &pNew->a[pNew->nExpr-1]; - sqlite3DbFree(db, pX->zEName); - if( pSub ){ -@@ -142593,7 +142603,8 @@ - ** MATCH(expression,vtab_column) - */ - pCol = pList->a[1].pExpr; -- if( pCol->op==TK_COLUMN && IsVirtual(pCol->y.pTab) ){ -+ testcase( pCol->op==TK_COLUMN && pCol->y.pTab==0 ); -+ if( ExprIsVtab(pCol) ){ - for(i=0; i<ArraySize(aOp); i++){ - if( sqlite3StrICmp(pExpr->u.zToken, aOp[i].zOp)==0 ){ - *peOp2 = aOp[i].eOp2; -@@ -142615,7 +142626,8 @@ - ** with function names in an arbitrary case. - */ - pCol = pList->a[0].pExpr; -- if( pCol->op==TK_COLUMN && IsVirtual(pCol->y.pTab) ){ -+ testcase( pCol->op==TK_COLUMN && pCol->y.pTab==0 ); -+ if( ExprIsVtab(pCol) ){ - sqlite3_vtab *pVtab; - sqlite3_module *pMod; - void (*xNotUsed)(sqlite3_context*,int,sqlite3_value**); -@@ -142638,10 +142650,12 @@ - int res = 0; - Expr *pLeft = pExpr->pLeft; - Expr *pRight = pExpr->pRight; -- if( pLeft->op==TK_COLUMN && IsVirtual(pLeft->y.pTab) ){ -+ testcase( pLeft->op==TK_COLUMN && pLeft->y.pTab==0 ); -+ if( ExprIsVtab(pLeft) ){ - res++; - } -- if( pRight && pRight->op==TK_COLUMN && IsVirtual(pRight->y.pTab) ){ -+ testcase( pRight && pRight->op==TK_COLUMN && pRight->y.pTab==0 ); -+ if( pRight && ExprIsVtab(pRight) ){ - res++; - SWAP(Expr*, pLeft, pRight); - } diff --git a/dev-db/sqlite/files/sqlite-3.32.1-full_archive-build_1.patch b/dev-db/sqlite/files/sqlite-3.32.1-full_archive-build_1.patch new file mode 100644 index 000000000000..aec90e4c07ad --- /dev/null +++ b/dev-db/sqlite/files/sqlite-3.32.1-full_archive-build_1.patch @@ -0,0 +1,670 @@ +Add initialization functions for internal usage in libsqlite3.so. + +--- /ext/misc/carray.c ++++ /ext/misc/carray.c +@@ -383,16 +383,8 @@ + + #endif /* SQLITE_OMIT_VIRTUALTABLE */ + +-#ifdef _WIN32 +-__declspec(dllexport) +-#endif +-int sqlite3_carray_init( +- sqlite3 *db, +- char **pzErrMsg, +- const sqlite3_api_routines *pApi +-){ ++int sqlite3CarrayInit(sqlite3 *db){ + int rc = SQLITE_OK; +- SQLITE_EXTENSION_INIT2(pApi); + #ifndef SQLITE_OMIT_VIRTUALTABLE + rc = sqlite3_create_module(db, "carray", &carrayModule, 0); + #ifdef SQLITE_TEST +@@ -404,3 +396,18 @@ + #endif /* SQLITE_OMIT_VIRTUALTABLE */ + return rc; + } ++ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) ++#ifdef _WIN32 ++__declspec(dllexport) ++#endif ++int sqlite3_carray_init( ++ sqlite3 *db, ++ char **pzErrMsg, ++ const sqlite3_api_routines *pApi ++){ ++ SQLITE_EXTENSION_INIT2(pApi); ++ (void)pzErrMsg; /* Unused parameter */ ++ return sqlite3CarrayInit(db); ++} ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/completion.c ++++ /ext/misc/completion.c +@@ -483,12 +483,13 @@ + return rc; + } + ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) + #ifdef _WIN32 + __declspec(dllexport) + #endif + int sqlite3_completion_init( +- sqlite3 *db, +- char **pzErrMsg, ++ sqlite3 *db, ++ char **pzErrMsg, + const sqlite3_api_routines *pApi + ){ + int rc = SQLITE_OK; +@@ -499,3 +500,4 @@ + #endif + return rc; + } ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/csv.c ++++ /ext/misc/csv.c +@@ -928,6 +928,22 @@ + #endif /* !defined(SQLITE_OMIT_VIRTUALTABLE) */ + + ++int sqlite3CsvInit(sqlite3 *db){ ++#ifndef SQLITE_OMIT_VIRTUALTABLE ++ int rc; ++ rc = sqlite3_create_module(db, "csv", &CsvModule, 0); ++#ifdef SQLITE_TEST ++ if( rc==SQLITE_OK ){ ++ rc = sqlite3_create_module(db, "csv_wr", &CsvModuleFauxWrite, 0); ++ } ++#endif ++ return rc; ++#else ++ return SQLITE_OK; ++#endif ++} ++ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) + #ifdef _WIN32 + __declspec(dllexport) + #endif +@@ -941,17 +957,8 @@ + char **pzErrMsg, + const sqlite3_api_routines *pApi + ){ +-#ifndef SQLITE_OMIT_VIRTUALTABLE +- int rc; + SQLITE_EXTENSION_INIT2(pApi); +- rc = sqlite3_create_module(db, "csv", &CsvModule, 0); +-#ifdef SQLITE_TEST +- if( rc==SQLITE_OK ){ +- rc = sqlite3_create_module(db, "csv_wr", &CsvModuleFauxWrite, 0); +- } +-#endif +- return rc; +-#else +- return SQLITE_OK; +-#endif ++ (void)pzErrMsg; /* Unused parameter */ ++ return sqlite3CsvInit(db); + } ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/dbdata.c ++++ /ext/misc/dbdata.c +@@ -803,7 +803,7 @@ + /* + ** Invoke this routine to register the "sqlite_dbdata" virtual table module + */ +-static int sqlite3DbdataRegister(sqlite3 *db){ ++int sqlite3DbdataRegister(sqlite3 *db){ + static sqlite3_module dbdata_module = { + 0, /* iVersion */ + 0, /* xCreate */ +@@ -838,6 +838,7 @@ + return rc; + } + ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) + #ifdef _WIN32 + __declspec(dllexport) + #endif +@@ -849,3 +850,4 @@ + SQLITE_EXTENSION_INIT2(pApi); + return sqlite3DbdataRegister(db); + } ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/eval.c ++++ /ext/misc/eval.c +@@ -102,6 +102,20 @@ + } + + ++int sqlite3EvalInit(sqlite3 *db){ ++ int rc = SQLITE_OK; ++ rc = sqlite3_create_function(db, "eval", 1, ++ SQLITE_UTF8|SQLITE_DIRECTONLY, 0, ++ sqlEvalFunc, 0, 0); ++ if( rc==SQLITE_OK ){ ++ rc = sqlite3_create_function(db, "eval", 2, ++ SQLITE_UTF8|SQLITE_DIRECTONLY, 0, ++ sqlEvalFunc, 0, 0); ++ } ++ return rc; ++} ++ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) + #ifdef _WIN32 + __declspec(dllexport) + #endif +@@ -110,16 +124,8 @@ + char **pzErrMsg, + const sqlite3_api_routines *pApi + ){ +- int rc = SQLITE_OK; + SQLITE_EXTENSION_INIT2(pApi); + (void)pzErrMsg; /* Unused parameter */ +- rc = sqlite3_create_function(db, "eval", 1, +- SQLITE_UTF8|SQLITE_DIRECTONLY, 0, +- sqlEvalFunc, 0, 0); +- if( rc==SQLITE_OK ){ +- rc = sqlite3_create_function(db, "eval", 2, +- SQLITE_UTF8|SQLITE_DIRECTONLY, 0, +- sqlEvalFunc, 0, 0); +- } +- return rc; ++ return sqlite3EvalInit(db); + } ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/fileio.c ++++ /ext/misc/fileio.c +@@ -340,7 +340,7 @@ + ** This function does the work for the writefile() UDF. Refer to + ** header comments at the top of this file for details. + */ +-static int writeFile( ++static int writeFileContents( + sqlite3_context *pCtx, /* Context to return bytes written in */ + const char *zFile, /* File to write */ + sqlite3_value *pData, /* Data to write */ +@@ -480,10 +480,10 @@ + mtime = sqlite3_value_int64(argv[3]); + } + +- res = writeFile(context, zFile, argv[1], mode, mtime); ++ res = writeFileContents(context, zFile, argv[1], mode, mtime); + if( res==1 && errno==ENOENT ){ + if( makeDirectory(zFile)==SQLITE_OK ){ +- res = writeFile(context, zFile, argv[1], mode, mtime); ++ res = writeFileContents(context, zFile, argv[1], mode, mtime); + } + } + +@@ -970,18 +970,9 @@ + # define fsdirRegister(x) SQLITE_OK + #endif + +-#ifdef _WIN32 +-__declspec(dllexport) +-#endif +-int sqlite3_fileio_init( +- sqlite3 *db, +- char **pzErrMsg, +- const sqlite3_api_routines *pApi +-){ ++int sqlite3FileioInit(sqlite3 *db){ + int rc = SQLITE_OK; +- SQLITE_EXTENSION_INIT2(pApi); +- (void)pzErrMsg; /* Unused parameter */ +- rc = sqlite3_create_function(db, "readfile", 1, ++ rc = sqlite3_create_function(db, "readfile", 1, + SQLITE_UTF8|SQLITE_DIRECTONLY, 0, + readfileFunc, 0, 0); + if( rc==SQLITE_OK ){ +@@ -998,3 +989,18 @@ + } + return rc; + } ++ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) ++#ifdef _WIN32 ++__declspec(dllexport) ++#endif ++int sqlite3_fileio_init( ++ sqlite3 *db, ++ char **pzErrMsg, ++ const sqlite3_api_routines *pApi ++){ ++ SQLITE_EXTENSION_INIT2(pApi); ++ (void)pzErrMsg; /* Unused parameter */ ++ return sqlite3FileioInit(db); ++} ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/ieee754.c ++++ /ext/misc/ieee754.c +@@ -110,6 +110,20 @@ + } + + ++int sqlite3IeeeInit(sqlite3 *db){ ++ int rc = SQLITE_OK; ++ rc = sqlite3_create_function(db, "ieee754", 1, ++ SQLITE_UTF8|SQLITE_INNOCUOUS, 0, ++ ieee754func, 0, 0); ++ if( rc==SQLITE_OK ){ ++ rc = sqlite3_create_function(db, "ieee754", 2, ++ SQLITE_UTF8|SQLITE_INNOCUOUS, 0, ++ ieee754func, 0, 0); ++ } ++ return rc; ++} ++ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) + #ifdef _WIN32 + __declspec(dllexport) + #endif +@@ -118,16 +132,8 @@ + char **pzErrMsg, + const sqlite3_api_routines *pApi + ){ +- int rc = SQLITE_OK; + SQLITE_EXTENSION_INIT2(pApi); + (void)pzErrMsg; /* Unused parameter */ +- rc = sqlite3_create_function(db, "ieee754", 1, +- SQLITE_UTF8|SQLITE_INNOCUOUS, 0, +- ieee754func, 0, 0); +- if( rc==SQLITE_OK ){ +- rc = sqlite3_create_function(db, "ieee754", 2, +- SQLITE_UTF8|SQLITE_INNOCUOUS, 0, +- ieee754func, 0, 0); +- } +- return rc; ++ return sqlite3IeeeInit(db); + } ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/regexp.c ++++ /ext/misc/regexp.c +@@ -740,10 +740,18 @@ + } + } + ++int sqlite3RegexpInit(sqlite3 *db){ ++ int rc = SQLITE_OK; ++ rc = sqlite3_create_function(db, "regexp", 2, SQLITE_UTF8|SQLITE_INNOCUOUS, ++ 0, re_sql_func, 0, 0); ++ return rc; ++} ++ + /* + ** Invoke this routine to register the regexp() function with the + ** SQLite database connection. + */ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) + #ifdef _WIN32 + __declspec(dllexport) + #endif +@@ -752,9 +760,8 @@ + char **pzErrMsg, + const sqlite3_api_routines *pApi + ){ +- int rc = SQLITE_OK; + SQLITE_EXTENSION_INIT2(pApi); +- rc = sqlite3_create_function(db, "regexp", 2, SQLITE_UTF8|SQLITE_INNOCUOUS, +- 0, re_sql_func, 0, 0); +- return rc; ++ (void)pzErrMsg; /* Unused parameter */ ++ return sqlite3RegexpInit(db); + } ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/sha1.c ++++ /ext/misc/sha1.c +@@ -175,7 +175,7 @@ + } + + /* Compute a string using sqlite3_vsnprintf() and hash it */ +-static void hash_step_vformat( ++static void sha1_hash_step_vformat( + SHA1Context *p, /* Add content to this context */ + const char *zFormat, + ... +@@ -306,7 +306,7 @@ + nCol = sqlite3_column_count(pStmt); + z = sqlite3_sql(pStmt); + n = (int)strlen(z); +- hash_step_vformat(&cx,"S%d:",n); ++ sha1_hash_step_vformat(&cx,"S%d:",n); + hash_step(&cx,(unsigned char*)z,n); + + /* Compute a hash over the result of the query */ +@@ -349,14 +349,14 @@ + case SQLITE_TEXT: { + int n2 = sqlite3_column_bytes(pStmt, i); + const unsigned char *z2 = sqlite3_column_text(pStmt, i); +- hash_step_vformat(&cx,"T%d:",n2); ++ sha1_hash_step_vformat(&cx,"T%d:",n2); + hash_step(&cx, z2, n2); + break; + } + case SQLITE_BLOB: { + int n2 = sqlite3_column_bytes(pStmt, i); + const unsigned char *z2 = sqlite3_column_blob(pStmt, i); +- hash_step_vformat(&cx,"B%d:",n2); ++ sha1_hash_step_vformat(&cx,"B%d:",n2); + hash_step(&cx, z2, n2); + break; + } +@@ -370,6 +370,20 @@ + } + + ++int sqlite3ShaInit(sqlite3 *db){ ++ int rc = SQLITE_OK; ++ rc = sqlite3_create_function(db, "sha1", 1, ++ SQLITE_UTF8 | SQLITE_INNOCUOUS | SQLITE_DETERMINISTIC, ++ 0, sha1Func, 0, 0); ++ if( rc==SQLITE_OK ){ ++ rc = sqlite3_create_function(db, "sha1_query", 1, ++ SQLITE_UTF8|SQLITE_DIRECTONLY, 0, ++ sha1QueryFunc, 0, 0); ++ } ++ return rc; ++} ++ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) + #ifdef _WIN32 + __declspec(dllexport) + #endif +@@ -378,16 +392,8 @@ + char **pzErrMsg, + const sqlite3_api_routines *pApi + ){ +- int rc = SQLITE_OK; + SQLITE_EXTENSION_INIT2(pApi); + (void)pzErrMsg; /* Unused parameter */ +- rc = sqlite3_create_function(db, "sha1", 1, +- SQLITE_UTF8 | SQLITE_INNOCUOUS | SQLITE_DETERMINISTIC, +- 0, sha1Func, 0, 0); +- if( rc==SQLITE_OK ){ +- rc = sqlite3_create_function(db, "sha1_query", 1, +- SQLITE_UTF8|SQLITE_DIRECTONLY, 0, +- sha1QueryFunc, 0, 0); +- } +- return rc; ++ return sqlite3ShaInit(db); + } ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/shathree.c ++++ /ext/misc/shathree.c +@@ -527,7 +527,7 @@ + /* Compute a string using sqlite3_vsnprintf() with a maximum length + ** of 50 bytes and add it to the hash. + */ +-static void hash_step_vformat( ++static void sha3_hash_step_vformat( + SHA3Context *p, /* Add content to this context */ + const char *zFormat, + ... +@@ -622,7 +622,7 @@ + nCol = sqlite3_column_count(pStmt); + z = sqlite3_sql(pStmt); + n = (int)strlen(z); +- hash_step_vformat(&cx,"S%d:",n); ++ sha3_hash_step_vformat(&cx,"S%d:",n); + SHA3Update(&cx,(unsigned char*)z,n); + + /* Compute a hash over the result of the query */ +@@ -665,14 +665,14 @@ + case SQLITE_TEXT: { + int n2 = sqlite3_column_bytes(pStmt, i); + const unsigned char *z2 = sqlite3_column_text(pStmt, i); +- hash_step_vformat(&cx,"T%d:",n2); ++ sha3_hash_step_vformat(&cx,"T%d:",n2); + SHA3Update(&cx, z2, n2); + break; + } + case SQLITE_BLOB: { + int n2 = sqlite3_column_bytes(pStmt, i); + const unsigned char *z2 = sqlite3_column_blob(pStmt, i); +- hash_step_vformat(&cx,"B%d:",n2); ++ sha3_hash_step_vformat(&cx,"B%d:",n2); + SHA3Update(&cx, z2, n2); + break; + } +@@ -685,17 +685,8 @@ + } + + +-#ifdef _WIN32 +-__declspec(dllexport) +-#endif +-int sqlite3_shathree_init( +- sqlite3 *db, +- char **pzErrMsg, +- const sqlite3_api_routines *pApi +-){ ++int sqlite3ShathreeInit(sqlite3 *db){ + int rc = SQLITE_OK; +- SQLITE_EXTENSION_INIT2(pApi); +- (void)pzErrMsg; /* Unused parameter */ + rc = sqlite3_create_function(db, "sha3", 1, + SQLITE_UTF8 | SQLITE_INNOCUOUS | SQLITE_DETERMINISTIC, + 0, sha3Func, 0, 0); +@@ -716,3 +707,18 @@ + } + return rc; + } ++ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) ++#ifdef _WIN32 ++__declspec(dllexport) ++#endif ++int sqlite3_shathree_init( ++ sqlite3 *db, ++ char **pzErrMsg, ++ const sqlite3_api_routines *pApi ++){ ++ SQLITE_EXTENSION_INIT2(pApi); ++ (void)pzErrMsg; /* Unused parameter */ ++ return sqlite3ShathreeInit(db); ++} ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/sqlar.c ++++ /ext/misc/sqlar.c +@@ -14,6 +14,8 @@ + ** for working with sqlar archives and used by the shell tool's built-in + ** sqlar support. + */ ++#ifdef SQLITE_HAVE_ZLIB ++ + #include "sqlite3ext.h" + SQLITE_EXTENSION_INIT1 + #include <zlib.h> +@@ -101,6 +103,20 @@ + } + + ++int sqlite3SqlarInit(sqlite3 *db){ ++ int rc = SQLITE_OK; ++ rc = sqlite3_create_function(db, "sqlar_compress", 1, ++ SQLITE_UTF8|SQLITE_INNOCUOUS, 0, ++ sqlarCompressFunc, 0, 0); ++ if( rc==SQLITE_OK ){ ++ rc = sqlite3_create_function(db, "sqlar_uncompress", 2, ++ SQLITE_UTF8|SQLITE_INNOCUOUS, 0, ++ sqlarUncompressFunc, 0, 0); ++ } ++ return rc; ++} ++ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) + #ifdef _WIN32 + __declspec(dllexport) + #endif +@@ -109,16 +125,10 @@ + char **pzErrMsg, + const sqlite3_api_routines *pApi + ){ +- int rc = SQLITE_OK; + SQLITE_EXTENSION_INIT2(pApi); + (void)pzErrMsg; /* Unused parameter */ +- rc = sqlite3_create_function(db, "sqlar_compress", 1, +- SQLITE_UTF8|SQLITE_INNOCUOUS, 0, +- sqlarCompressFunc, 0, 0); +- if( rc==SQLITE_OK ){ +- rc = sqlite3_create_function(db, "sqlar_uncompress", 2, +- SQLITE_UTF8|SQLITE_INNOCUOUS, 0, +- sqlarUncompressFunc, 0, 0); +- } +- return rc; ++ return sqlite3SqlarInit(db); + } ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ ++ ++#endif /* SQLITE_HAVE_ZLIB */ +--- /ext/misc/totype.c ++++ /ext/misc/totype.c +@@ -491,17 +491,8 @@ + #pragma warning(default: 4748) + #endif + +-#ifdef _WIN32 +-__declspec(dllexport) +-#endif +-int sqlite3_totype_init( +- sqlite3 *db, +- char **pzErrMsg, +- const sqlite3_api_routines *pApi +-){ ++int sqlite3TotypeInit(sqlite3 *db){ + int rc = SQLITE_OK; +- SQLITE_EXTENSION_INIT2(pApi); +- (void)pzErrMsg; /* Unused parameter */ + rc = sqlite3_create_function(db, "tointeger", 1, + SQLITE_UTF8 | SQLITE_DETERMINISTIC | SQLITE_INNOCUOUS, 0, + tointegerFunc, 0, 0); +@@ -512,3 +503,18 @@ + } + return rc; + } ++ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) ++#ifdef _WIN32 ++__declspec(dllexport) ++#endif ++int sqlite3_totype_init( ++ sqlite3 *db, ++ char **pzErrMsg, ++ const sqlite3_api_routines *pApi ++){ ++ SQLITE_EXTENSION_INIT2(pApi); ++ (void)pzErrMsg; /* Unused parameter */ ++ return sqlite3TotypeInit(db); ++} ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/uint.c ++++ /ext/misc/uint.c +@@ -78,6 +78,11 @@ + return (nKey1 - i) - (nKey2 - j); + } + ++int sqlite3UintInit(sqlite3 *db){ ++ return sqlite3_create_collation(db, "UINT", SQLITE_UTF8, 0, uintCollFunc); ++} ++ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) + #ifdef _WIN32 + __declspec(dllexport) + #endif +@@ -88,5 +93,6 @@ + ){ + SQLITE_EXTENSION_INIT2(pApi); + (void)pzErrMsg; /* Unused parameter */ +- return sqlite3_create_collation(db, "uint", SQLITE_UTF8, 0, uintCollFunc); ++ return sqlite3UintInit(db); + } ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/uuid.c ++++ /ext/misc/uuid.c +@@ -206,21 +206,12 @@ + sqlite3_result_blob(context, pBlob, 16, SQLITE_TRANSIENT); + } + +-#ifdef _WIN32 +-__declspec(dllexport) +-#endif +-int sqlite3_uuid_init( +- sqlite3 *db, +- char **pzErrMsg, +- const sqlite3_api_routines *pApi +-){ ++int sqlite3UuidInit(sqlite3 *db){ + int rc = SQLITE_OK; +- SQLITE_EXTENSION_INIT2(pApi); +- (void)pzErrMsg; /* Unused parameter */ + rc = sqlite3_create_function(db, "uuid", 0, SQLITE_UTF8|SQLITE_INNOCUOUS, 0, + sqlite3UuidFunc, 0, 0); + if( rc==SQLITE_OK ){ +- rc = sqlite3_create_function(db, "uuid_str", 1, ++ rc = sqlite3_create_function(db, "uuid_str", 1, + SQLITE_UTF8|SQLITE_INNOCUOUS|SQLITE_DETERMINISTIC, + 0, sqlite3UuidStrFunc, 0, 0); + } +@@ -231,3 +222,18 @@ + } + return rc; + } ++ ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) ++#ifdef _WIN32 ++__declspec(dllexport) ++#endif ++int sqlite3_uuid_init( ++ sqlite3 *db, ++ char **pzErrMsg, ++ const sqlite3_api_routines *pApi ++){ ++ SQLITE_EXTENSION_INIT2(pApi); ++ (void)pzErrMsg; /* Unused parameter */ ++ return sqlite3UuidInit(db); ++} ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ +--- /ext/misc/zipfile.c ++++ /ext/misc/zipfile.c +@@ -24,6 +24,8 @@ + ** * No support for zip64 extensions + ** * Only the "inflate/deflate" (zlib) compression method is supported + */ ++#ifdef SQLITE_HAVE_ZLIB ++ + #include "sqlite3ext.h" + SQLITE_EXTENSION_INIT1 + #include <stdio.h> +@@ -2137,7 +2139,7 @@ + /* + ** Register the "zipfile" virtual table. + */ +-static int zipfileRegister(sqlite3 *db){ ++int sqlite3ZipfileInit(sqlite3 *db){ + static sqlite3_module zipfileModule = { + 1, /* iVersion */ + zipfileConnect, /* xCreate */ +@@ -2171,9 +2173,10 @@ + return rc; + } + #else /* SQLITE_OMIT_VIRTUALTABLE */ +-# define zipfileRegister(x) SQLITE_OK ++# define sqlite3ZipfileInit(x) SQLITE_OK + #endif + ++#if !defined(SQLITE_CORE) || defined(SQLITE_TEST) + #ifdef _WIN32 + __declspec(dllexport) + #endif +@@ -2184,5 +2187,8 @@ + ){ + SQLITE_EXTENSION_INIT2(pApi); + (void)pzErrMsg; /* Unused parameter */ +- return zipfileRegister(db); ++ return sqlite3ZipfileInit(db); + } ++#endif /* !defined(SQLITE_CORE) || defined(SQLITE_TEST) */ ++ ++#endif /* SQLITE_HAVE_ZLIB */ diff --git a/dev-db/sqlite/files/sqlite-3.31.0-full_archive-build.patch b/dev-db/sqlite/files/sqlite-3.32.1-full_archive-build_2.patch index 9ff44c0fe7ce..f12c0b22a483 100644 --- a/dev-db/sqlite/files/sqlite-3.31.0-full_archive-build.patch +++ b/dev-db/sqlite/files/sqlite-3.32.1-full_archive-build_2.patch @@ -1,3 +1,4 @@ +Enable some extensions in libsqlite3.so. Move some code to libsqlite3.so to avoid duplication. Link executables against libsqlite3.so. Increase timeout for fuzzcheck. @@ -5,7 +6,7 @@ Fix building with dlopen() not available. --- /Makefile.in +++ /Makefile.in -@@ -311,6 +311,9 @@ +@@ -313,6 +313,9 @@ # Source code for extensions # SRC += \ @@ -15,37 +16,67 @@ Fix building with dlopen() not available. $(TOP)/ext/fts1/fts1.c \ $(TOP)/ext/fts1/fts1.h \ $(TOP)/ext/fts1/fts1_hash.c \ -@@ -363,8 +366,12 @@ +@@ -365,8 +368,24 @@ $(TOP)/ext/rbu/sqlite3rbu.h \ $(TOP)/ext/rbu/sqlite3rbu.c SRC += \ + $(TOP)/ext/misc/appendvfs.c \ ++ $(TOP)/ext/misc/carray.c \ ++ $(TOP)/ext/misc/completion.c \ ++ $(TOP)/ext/misc/csv.c \ + $(TOP)/ext/misc/dbdata.c \ ++ $(TOP)/ext/misc/eval.c \ ++ $(TOP)/ext/misc/fileio.c \ ++ $(TOP)/ext/misc/ieee754.c \ $(TOP)/ext/misc/json1.c \ - $(TOP)/ext/misc/stmt.c ++ $(TOP)/ext/misc/regexp.c \ ++ $(TOP)/ext/misc/sha1.c \ ++ $(TOP)/ext/misc/shathree.c \ + $(TOP)/ext/misc/sqlar.c \ + $(TOP)/ext/misc/stmt.c \ ++ $(TOP)/ext/misc/totype.c \ ++ $(TOP)/ext/misc/uint.c \ ++ $(TOP)/ext/misc/uuid.c \ + $(TOP)/ext/misc/zipfile.c # Generated source code files # -@@ -435,7 +442,6 @@ +@@ -437,33 +456,24 @@ # Statically linked extensions # TESTSRC += \ - $(TOP)/ext/expert/sqlite3expert.c \ $(TOP)/ext/expert/test_expert.c \ $(TOP)/ext/misc/amatch.c \ - $(TOP)/ext/misc/carray.c \ -@@ -461,7 +467,6 @@ - $(TOP)/ext/misc/totype.c \ +- $(TOP)/ext/misc/carray.c \ + $(TOP)/ext/misc/closure.c \ +- $(TOP)/ext/misc/csv.c \ +- $(TOP)/ext/misc/eval.c \ + $(TOP)/ext/misc/explain.c \ +- $(TOP)/ext/misc/fileio.c \ + $(TOP)/ext/misc/fuzzer.c \ + $(TOP)/ext/fts5/fts5_tcl.c \ + $(TOP)/ext/fts5/fts5_test_mi.c \ + $(TOP)/ext/fts5/fts5_test_tok.c \ +- $(TOP)/ext/misc/ieee754.c \ + $(TOP)/ext/misc/mmapwarm.c \ + $(TOP)/ext/misc/nextchar.c \ + $(TOP)/ext/misc/normalize.c \ + $(TOP)/ext/misc/percentile.c \ + $(TOP)/ext/misc/prefixes.c \ +- $(TOP)/ext/misc/regexp.c \ + $(TOP)/ext/misc/remember.c \ + $(TOP)/ext/misc/series.c \ + $(TOP)/ext/misc/spellfix.c \ +- $(TOP)/ext/misc/totype.c \ $(TOP)/ext/misc/unionvtab.c \ $(TOP)/ext/misc/wholenumber.c \ - $(TOP)/ext/misc/zipfile.c \ $(TOP)/ext/userauth/userauth.c # Source code to the library files needed by the test fixture -@@ -639,25 +644,25 @@ +@@ -645,25 +655,25 @@ libtclsqlite3.la: tclsqlite.lo libsqlite3.la $(LTLINK) -no-undefined -o $@ tclsqlite.lo \ @@ -82,7 +113,7 @@ Fix building with dlopen() not available. srcck1$(BEXE): $(TOP)/tool/srcck1.c $(BCC) -o srcck1$(BEXE) $(TOP)/tool/srcck1.c -@@ -767,7 +772,7 @@ +@@ -774,7 +784,7 @@ # Rule to build the amalgamation # sqlite3.lo: sqlite3.c @@ -91,22 +122,23 @@ Fix building with dlopen() not available. # Rules to build the LEMON compiler generator # -@@ -1064,14 +1069,9 @@ +@@ -1074,15 +1084,6 @@ # Source files that go into making shell.c SHELL_SRC = \ $(TOP)/src/shell.c.in \ - $(TOP)/ext/misc/appendvfs.c \ - $(TOP)/ext/misc/shathree.c \ - $(TOP)/ext/misc/fileio.c \ - $(TOP)/ext/misc/completion.c \ +- $(TOP)/ext/misc/shathree.c \ +- $(TOP)/ext/misc/fileio.c \ +- $(TOP)/ext/misc/completion.c \ - $(TOP)/ext/misc/sqlar.c \ +- $(TOP)/ext/misc/uint.c \ - $(TOP)/ext/expert/sqlite3expert.c \ - $(TOP)/ext/expert/sqlite3expert.h \ - $(TOP)/ext/misc/zipfile.c \ $(TOP)/ext/misc/memtrace.c \ $(TOP)/src/test_windirent.c -@@ -1239,11 +1239,11 @@ +@@ -1251,11 +1252,11 @@ # Fuzz testing fuzztest: fuzzcheck$(TEXE) $(FUZZDATA) sessionfuzz$(TEXE) $(TOP)/test/sessionfuzz-data1.db @@ -120,7 +152,7 @@ Fix building with dlopen() not available. valgrind ./sessionfuzz$(TEXE) run $(TOP)/test/sessionfuzz-data1.db # The veryquick.test TCL tests. -@@ -1274,24 +1274,23 @@ +@@ -1286,24 +1287,23 @@ smoketest: $(TESTPROGS) fuzzcheck$(TEXE) ./testfixture$(TEXE) $(TOP)/test/main.test $(TESTOPTS) @@ -153,7 +185,7 @@ Fix building with dlopen() not available. $(TOP)/src/tclsqlite.c \ $(TOP)/ext/repair/sqlite3_checker.tcl \ $(TOP)/ext/repair/checkindex.c \ -@@ -1302,36 +1301,36 @@ +@@ -1314,36 +1314,36 @@ sqlite3_checker.c: $(CHECKER_DEPS) $(TCLSH_CMD) $(TOP)/tool/mkccode.tcl $(TOP)/ext/repair/sqlite3_checker.c.in >$@ @@ -208,7 +240,7 @@ Fix building with dlopen() not available. changesetfuzz$(TEXE): $(TOP)/ext/session/changesetfuzz.c sqlite3.lo $(LTLINK) -o $@ $(TOP)/ext/session/changesetfuzz.c sqlite3.lo $(TLIBS) -@@ -1356,11 +1355,11 @@ +@@ -1368,11 +1368,11 @@ kvtest$(TEXE): $(TOP)/test/kvtest.c sqlite3.c $(LTLINK) $(KV_OPT) -o $@ $(TOP)/test/kvtest.c sqlite3.c $(TLIBS) @@ -236,40 +268,6 @@ Fix building with dlopen() not available. else OPT_FEATURE_FLAGS="-DSQLITE_OMIT_LOAD_EXTENSION=1" fi ---- /ext/misc/sqlar.c -+++ /ext/misc/sqlar.c -@@ -14,6 +14,8 @@ - ** for working with sqlar archives and used by the shell tool's built-in - ** sqlar support. - */ -+#ifdef SQLITE_HAVE_ZLIB -+ - #include "sqlite3ext.h" - SQLITE_EXTENSION_INIT1 - #include <zlib.h> -@@ -121,3 +123,5 @@ - } - return rc; - } -+ -+#endif /* SQLITE_HAVE_ZLIB */ ---- /ext/misc/zipfile.c -+++ /ext/misc/zipfile.c -@@ -24,6 +24,8 @@ - ** * No support for zip64 extensions - ** * Only the "inflate/deflate" (zlib) compression method is supported - */ -+#ifdef SQLITE_HAVE_ZLIB -+ - #include "sqlite3ext.h" - SQLITE_EXTENSION_INIT1 - #include <stdio.h> -@@ -2186,3 +2188,5 @@ - (void)pzErrMsg; /* Unused parameter */ - return zipfileRegister(db); - } -+ -+#endif /* SQLITE_HAVE_ZLIB */ --- /ext/repair/sqlite3_checker.c.in +++ /ext/repair/sqlite3_checker.c.in @@ -2,6 +2,7 @@ @@ -289,9 +287,76 @@ Fix building with dlopen() not available. INCLUDE $ROOT/src/tclsqlite.c INCLUDE $ROOT/ext/misc/btreeinfo.c INCLUDE $ROOT/ext/repair/checkindex.c +--- /src/main.c ++++ /src/main.c +@@ -50,12 +50,31 @@ + #ifdef SQLITE_ENABLE_FTS5 + int sqlite3Fts5Init(sqlite3*); + #endif ++#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB) ++int sqlite3DbdataRegister(sqlite3*); ++#endif + #ifdef SQLITE_ENABLE_JSON1 + int sqlite3Json1Init(sqlite3*); + #endif + #ifdef SQLITE_ENABLE_STMTVTAB + int sqlite3StmtVtabInit(sqlite3*); + #endif ++int sqlite3CarrayInit(sqlite3*); ++int sqlite3CompletionVtabInit(sqlite3*); ++int sqlite3CsvInit(sqlite3*); ++int sqlite3EvalInit(sqlite3*); ++int sqlite3FileioInit(sqlite3*); ++int sqlite3IeeeInit(sqlite3*); ++int sqlite3RegexpInit(sqlite3*); ++int sqlite3ShaInit(sqlite3*); ++int sqlite3ShathreeInit(sqlite3*); ++int sqlite3TotypeInit(sqlite3*); ++int sqlite3UintInit(sqlite3*); ++int sqlite3UuidInit(sqlite3*); ++#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_HAVE_ZLIB) ++int sqlite3ZipfileInit(sqlite3*); ++int sqlite3SqlarInit(sqlite3*); ++#endif + + /* + ** An array of pointers to extension initializer functions for +@@ -83,6 +102,9 @@ + #ifdef SQLITE_ENABLE_DBPAGE_VTAB + sqlite3DbpageRegister, + #endif ++#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB) ++ sqlite3DbdataRegister, ++#endif + #ifdef SQLITE_ENABLE_DBSTAT_VTAB + sqlite3DbstatRegister, + #endif +@@ -96,6 +118,22 @@ + #ifdef SQLITE_ENABLE_BYTECODE_VTAB + sqlite3VdbeBytecodeVtabInit, + #endif ++ sqlite3CarrayInit, ++ sqlite3CompletionVtabInit, ++ sqlite3CsvInit, ++ sqlite3EvalInit, ++ sqlite3FileioInit, ++ sqlite3IeeeInit, ++ sqlite3RegexpInit, ++ sqlite3ShaInit, ++ sqlite3ShathreeInit, ++ sqlite3TotypeInit, ++ sqlite3UintInit, ++ sqlite3UuidInit, ++#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_HAVE_ZLIB) ++ sqlite3ZipfileInit, ++ sqlite3SqlarInit, ++#endif + }; + + #ifndef SQLITE_AMALGAMATION --- /src/shell.c.in +++ /src/shell.c.in -@@ -61,6 +61,7 @@ +@@ -69,6 +69,7 @@ #include <stdio.h> #include <assert.h> #include "sqlite3.h" @@ -299,7 +364,7 @@ Fix building with dlopen() not available. typedef sqlite3_int64 i64; typedef sqlite3_uint64 u64; typedef unsigned char u8; -@@ -127,6 +128,10 @@ +@@ -135,6 +136,10 @@ # define SHELL_USE_LOCAL_GETLINE 1 #endif @@ -309,13 +374,17 @@ Fix building with dlopen() not available. + #if defined(_WIN32) || defined(WIN32) - # include <io.h> -@@ -939,18 +944,7 @@ - INCLUDE ../ext/misc/shathree.c - INCLUDE ../ext/misc/fileio.c - INCLUDE ../ext/misc/completion.c + # if SQLITE_OS_WINRT +@@ -1005,22 +1010,7 @@ + INCLUDE test_windirent.c + #define dirent DIRENT + #endif +-INCLUDE ../ext/misc/shathree.c +-INCLUDE ../ext/misc/fileio.c +-INCLUDE ../ext/misc/completion.c -INCLUDE ../ext/misc/appendvfs.c INCLUDE ../ext/misc/memtrace.c +-INCLUDE ../ext/misc/uint.c -#ifdef SQLITE_HAVE_ZLIB -INCLUDE ../ext/misc/zipfile.c -INCLUDE ../ext/misc/sqlar.c @@ -329,29 +398,34 @@ Fix building with dlopen() not available. #if defined(SQLITE_ENABLE_SESSION) /* -@@ -4173,10 +4167,13 @@ - sqlite3_shathree_init(p->db, 0, 0); - sqlite3_completion_init(p->db, 0, 0); - #if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB) -+ extern int sqlite3_dbdata_init(sqlite3 *, char **, const sqlite3_api_routines *); - sqlite3_dbdata_init(p->db, 0, 0); - #endif - #ifdef SQLITE_HAVE_ZLIB -+ extern int sqlite3_zipfile_init(sqlite3 *, char **, const sqlite3_api_routines *); - sqlite3_zipfile_init(p->db, 0, 0); -+ extern int sqlite3_sqlar_init(sqlite3 *, char **, const sqlite3_api_routines *); - sqlite3_sqlar_init(p->db, 0, 0); +@@ -4261,17 +4251,6 @@ + #ifndef SQLITE_OMIT_LOAD_EXTENSION + sqlite3_enable_load_extension(p->db, 1); #endif +- sqlite3_fileio_init(p->db, 0, 0); +- sqlite3_shathree_init(p->db, 0, 0); +- sqlite3_completion_init(p->db, 0, 0); +- sqlite3_uint_init(p->db, 0, 0); +-#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB) +- sqlite3_dbdata_init(p->db, 0, 0); +-#endif +-#ifdef SQLITE_HAVE_ZLIB +- sqlite3_zipfile_init(p->db, 0, 0); +- sqlite3_sqlar_init(p->db, 0, 0); +-#endif sqlite3_create_function(p->db, "shell_add_schema", 3, SQLITE_UTF8, 0, -@@ -6176,6 +6173,7 @@ + shellAddSchemaName, 0, 0); + sqlite3_create_function(p->db, "shell_module_schema", 1, SQLITE_UTF8, 0, +@@ -6281,8 +6260,6 @@ + ); goto end_ar_command; } - sqlite3_fileio_init(cmd.db, 0, 0); -+ extern int sqlite3_sqlar_init(sqlite3 *, char **, const sqlite3_api_routines *); - sqlite3_sqlar_init(cmd.db, 0, 0); +- sqlite3_fileio_init(cmd.db, 0, 0); +- sqlite3_sqlar_init(cmd.db, 0, 0); sqlite3_create_function(cmd.db, "shell_putsnl", 1, SQLITE_UTF8, cmd.p, shellPutsFunc, 0, 0); -@@ -10354,6 +10352,7 @@ + +@@ -10621,6 +10598,7 @@ #endif } data.out = stdout; @@ -359,6 +433,94 @@ Fix building with dlopen() not available. sqlite3_appendvfs_init(0,0,0); /* Go ahead and open the database file if it already exists. If the +--- /src/test_config.c ++++ /src/test_config.c +@@ -540,6 +540,8 @@ + Tcl_SetVar2(interp, "sqlite_options", "progress", "1", TCL_GLOBAL_ONLY); + #endif + ++ Tcl_SetVar2(interp, "sqlite_options", "regexp", "1", TCL_GLOBAL_ONLY); ++ + #ifdef SQLITE_OMIT_REINDEX + Tcl_SetVar2(interp, "sqlite_options", "reindex", "0", TCL_GLOBAL_ONLY); + #else +@@ -662,6 +664,8 @@ + Tcl_SetVar2(interp, "sqlite_options", "truncate_opt", "1", TCL_GLOBAL_ONLY); + #endif + ++ Tcl_SetVar2(interp, "sqlite_options", "uint", "1", TCL_GLOBAL_ONLY); ++ + #ifdef SQLITE_OMIT_UTF16 + Tcl_SetVar2(interp, "sqlite_options", "utf16", "0", TCL_GLOBAL_ONLY); + #else +--- /test/e_expr.test ++++ /test/e_expr.test +@@ -1078,7 +1078,7 @@ + # + # There is a regexp function if ICU is enabled though. + # +-ifcapable !icu { ++ifcapable !icu&&!regexp { + do_catchsql_test e_expr-18.1.1 { + SELECT regexp('abc', 'def') + } {1 {no such function: regexp}} +--- /test/icu.test ++++ /test/icu.test +@@ -41,7 +41,7 @@ + # + test_expr icu-1.1 {i1='hello'} {i1 REGEXP 'hello'} 1 + test_expr icu-1.2 {i1='hello'} {i1 REGEXP '.ello'} 1 +- test_expr icu-1.3 {i1='hello'} {i1 REGEXP '.ell'} 0 ++ test_expr icu-1.3 {i1='hello'} {i1 REGEXP '.ell$'} 0 + test_expr icu-1.4 {i1='hello'} {i1 REGEXP '.ell.*'} 1 + test_expr icu-1.5 {i1=NULL} {i1 REGEXP '.ell.*'} {} + +--- /test/pragma.test ++++ /test/pragma.test +@@ -1360,17 +1360,32 @@ + } ;# ifcapable trigger + + ifcapable schema_pragmas { +- do_test pragma-11.1 { +- execsql2 { +- pragma collation_list; +- } +- } {seq 0 name RTRIM seq 1 name NOCASE seq 2 name BINARY} +- do_test pragma-11.2 { +- db collate New_Collation blah... +- execsql { +- pragma collation_list; +- } +- } {0 New_Collation 1 RTRIM 2 NOCASE 3 BINARY} ++ ifcapable uint { ++ do_test pragma-11.1 { ++ execsql2 { ++ pragma collation_list; ++ } ++ } {seq 0 name UINT seq 1 name RTRIM seq 2 name NOCASE seq 3 name BINARY} ++ do_test pragma-11.2 { ++ db collate New_Collation blah... ++ execsql { ++ pragma collation_list; ++ } ++ } {0 New_Collation 1 UINT 2 RTRIM 3 NOCASE 4 BINARY} ++ } ++ ifcapable !uint { ++ do_test pragma-11.1 { ++ execsql2 { ++ pragma collation_list; ++ } ++ } {seq 0 name RTRIM seq 1 name NOCASE seq 2 name BINARY} ++ do_test pragma-11.2 { ++ db collate New_Collation blah... ++ execsql { ++ pragma collation_list; ++ } ++ } {0 New_Collation 1 RTRIM 2 NOCASE 3 BINARY} ++ } + } + + ifcapable schema_pragmas&&tempdb { --- /test/sessionfuzz.c +++ /test/sessionfuzz.c @@ -700,42 +700,6 @@ @@ -414,14 +576,26 @@ Fix building with dlopen() not available. sqlite3ext.h sqlite3rbu.h sqliteicu.h -@@ -403,6 +404,11 @@ +@@ -404,6 +405,23 @@ sqlite3session.c fts5.c stmt.c + appendvfs.c ++ carray.c ++ completion.c ++ csv.c + dbdata.c ++ eval.c ++ fileio.c ++ ieee754.c ++ regexp.c ++ sha1.c ++ shathree.c + sqlar.c + sqlite3expert.c ++ totype.c ++ uint.c ++ uuid.c + zipfile.c } { copy_file tsrc/$file @@ -440,7 +614,7 @@ Fix building with dlopen() not available. const char *sqlite3_analyzer_init_proc(Tcl_Interp *interp){ --- /tool/sqltclsh.c.in +++ /tool/sqltclsh.c.in -@@ -27,19 +27,17 @@ +@@ -27,21 +27,13 @@ #define SQLITE_OMIT_SHARED_CACHE 1 #define SQLITE_DEFAULT_MEMSTATUS 0 #define SQLITE_MAX_EXPR_DEPTH 0 @@ -457,10 +631,10 @@ Fix building with dlopen() not available. (void)interp; + extern int sqlite3_appendvfs_init(sqlite3 *,char **, const sqlite3_api_routines *); sqlite3_appendvfs_init(0,0,0); - #ifdef SQLITE_HAVE_ZLIB -+ extern int sqlite3_sqlar_init(sqlite3 *, char **, const sqlite3_api_routines *); - sqlite3_auto_extension((void(*)(void))sqlite3_sqlar_init); -+ extern int sqlite3_zipfile_init(sqlite3 *, char **, const sqlite3_api_routines *); - sqlite3_auto_extension((void(*)(void))sqlite3_zipfile_init); - #endif +-#ifdef SQLITE_HAVE_ZLIB +- sqlite3_auto_extension((void(*)(void))sqlite3_sqlar_init); +- sqlite3_auto_extension((void(*)(void))sqlite3_zipfile_init); +-#endif + return + BEGIN_STRING diff --git a/dev-db/sqlite/files/sqlite-3.32.3-backports_1.patch b/dev-db/sqlite/files/sqlite-3.32.3-backports_1.patch new file mode 100644 index 000000000000..256d18ee76fc --- /dev/null +++ b/dev-db/sqlite/files/sqlite-3.32.3-backports_1.patch @@ -0,0 +1,361 @@ +https://sqlite.org/src/info/d48af4d2cfff3d5f +https://sqlite.org/src/info/cc888878ea8d5bc7 +https://sqlite.org/src/info/be545f85a6ef09cc +https://sqlite.org/src/info/6e0ffa2053124168 +https://sqlite.org/src/info/4d0cfb1236884349 +https://sqlite.org/src/info/ccff8cb8267d4c56 +https://sqlite.org/src/info/5124732370fd53c9 + +--- /ext/fts3/fts3.c ++++ /ext/fts3/fts3.c +@@ -2068,7 +2068,7 @@ + sqlite3_int64 *piPrev, /* IN/OUT: Previous value written to list */ + sqlite3_int64 iVal /* Write this value to the list */ + ){ +- assert( iVal-*piPrev > 0 || (*piPrev==0 && iVal==0) ); ++ assert_fts3_nc( iVal-*piPrev > 0 || (*piPrev==0 && iVal==0) ); + *pp += sqlite3Fts3PutVarint(*pp, iVal-*piPrev); + *piPrev = iVal; + } +@@ -5208,10 +5208,12 @@ + ); + if( res ){ + nNew = (int)(pOut - pPhrase->doclist.pList) - 1; +- assert( pPhrase->doclist.pList[nNew]=='\0' ); +- assert( nNew<=pPhrase->doclist.nList && nNew>0 ); +- memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew); +- pPhrase->doclist.nList = nNew; ++ if( nNew>=0 ){ ++ assert( pPhrase->doclist.pList[nNew]=='\0' ); ++ assert( nNew<=pPhrase->doclist.nList && nNew>0 ); ++ memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew); ++ pPhrase->doclist.nList = nNew; ++ } + *paPoslist = pPhrase->doclist.pList; + *pnToken = pPhrase->nToken; + } +@@ -5563,7 +5565,10 @@ + }else + #endif + { +- bHit = (pExpr->bEof==0 && pExpr->iDocid==pCsr->iPrevId); ++ bHit = ( ++ pExpr->bEof==0 && pExpr->iDocid==pCsr->iPrevId ++ && pExpr->pPhrase->doclist.nList>0 ++ ); + } + break; + } +--- /ext/fts3/fts3_write.c ++++ /ext/fts3/fts3_write.c +@@ -341,7 +341,9 @@ + ** created by merging the oldest :2 segments from absolute level :1. See + ** function sqlite3Fts3Incrmerge() for details. */ + /* 29 */ "SELECT 2 * total(1 + leaves_end_block - start_block) " +- " FROM %Q.'%q_segdir' WHERE level = ? AND idx < ?", ++ " FROM (SELECT * FROM %Q.'%q_segdir' " ++ " WHERE level = ? ORDER BY idx ASC LIMIT ?" ++ " )", + + /* SQL_DELETE_SEGDIR_ENTRY + ** Delete the %_segdir entry on absolute level :1 with index :2. */ +@@ -2853,6 +2855,19 @@ + return SQLITE_OK; + } + ++static int fts3GrowSegReaderBuffer(Fts3MultiSegReader *pCsr, int nReq){ ++ if( nReq>pCsr->nBuffer ){ ++ char *aNew; ++ pCsr->nBuffer = nReq*2; ++ aNew = sqlite3_realloc(pCsr->aBuffer, pCsr->nBuffer); ++ if( !aNew ){ ++ return SQLITE_NOMEM; ++ } ++ pCsr->aBuffer = aNew; ++ } ++ return SQLITE_OK; ++} ++ + + int sqlite3Fts3SegReaderStep( + Fts3Table *p, /* Virtual table handle */ +@@ -2987,15 +3002,9 @@ + } + + nByte = sqlite3Fts3VarintLen(iDelta) + (isRequirePos?nList+1:0); +- if( nDoclist+nByte>pCsr->nBuffer ){ +- char *aNew; +- pCsr->nBuffer = (nDoclist+nByte)*2; +- aNew = sqlite3_realloc(pCsr->aBuffer, pCsr->nBuffer); +- if( !aNew ){ +- return SQLITE_NOMEM; +- } +- pCsr->aBuffer = aNew; +- } ++ ++ rc = fts3GrowSegReaderBuffer(pCsr, nByte+nDoclist); ++ if( rc ) return rc; + + if( isFirst ){ + char *a = &pCsr->aBuffer[nDoclist]; +@@ -3020,6 +3029,9 @@ + fts3SegReaderSort(apSegment, nMerge, j, xCmp); + } + if( nDoclist>0 ){ ++ rc = fts3GrowSegReaderBuffer(pCsr, nDoclist+FTS3_NODE_PADDING); ++ if( rc ) return rc; ++ memset(&pCsr->aBuffer[nDoclist], 0, FTS3_NODE_PADDING); + pCsr->aDoclist = pCsr->aBuffer; + pCsr->nDoclist = nDoclist; + rc = SQLITE_ROW; +@@ -4288,7 +4300,7 @@ + int i; + int nHeight = (int)aRoot[0]; + NodeWriter *pNode; +- if( nHeight<1 || nHeight>FTS_MAX_APPENDABLE_HEIGHT ){ ++ if( nHeight<1 || nHeight>=FTS_MAX_APPENDABLE_HEIGHT ){ + sqlite3_reset(pSelect); + return FTS_CORRUPT_VTAB; + } +--- /src/expr.c ++++ /src/expr.c +@@ -4272,7 +4272,9 @@ + int nCol; + testcase( op==TK_EXISTS ); + testcase( op==TK_SELECT ); +- if( op==TK_SELECT && (nCol = pExpr->x.pSelect->pEList->nExpr)!=1 ){ ++ if( pParse->db->mallocFailed ){ ++ return 0; ++ }else if( op==TK_SELECT && (nCol = pExpr->x.pSelect->pEList->nExpr)!=1 ){ + sqlite3SubselectError(pParse, nCol, 1); + }else{ + return sqlite3CodeSubselect(pParse, pExpr); +--- /test/fts3corrupt4.test ++++ /test/fts3corrupt4.test +@@ -6123,4 +6123,163 @@ + SELECT offsets(t1) FROM t1 WHERE t1 MATCH 'rtree ner "json1^enable"'; + } + ++#------------------------------------------------------------------------- ++do_execsql_test 42.1 { ++ CREATE VIRTUAL TABLE f USING fts3(a, b); ++} ++do_execsql_test 42.2 { ++ INSERT INTO f_segdir VALUES(0,2,1111,0,0,X'00'); ++ INSERT INTO f_segdir VALUES(0,3,0 ,0,0,X'00013003010200'); ++} ++do_execsql_test 42.3 { ++ INSERT INTO f(f) VALUES ('merge=107,2'); ++} ++ ++#------------------------------------------------------------------------- ++reset_db ++set saved $sqlite_fts3_enable_parentheses ++set sqlite_fts3_enable_parentheses 1 ++do_execsql_test 43.1 { ++ CREATE VIRTUAL TABLE def USING fts3(xyz); ++ INSERT INTO def_segdir VALUES(0,0,0,0,0, X'0001310301c9000103323334050d81'); ++} {} ++ ++do_execsql_test 43.2 { ++ SELECT rowid FROM def WHERE def MATCH '1 NEAR 1' ++} {1} ++ ++set sqlite_fts3_enable_parentheses $saved ++ ++#------------------------------------------------------------------------- ++reset_db ++do_execsql_test 44.1 { ++ CREATE VIRTUAL TABLE t0 USING fts3(col0 INTEGER PRIMARY KEY,col1 VARCHAR(8),col2 BINARY,col3 BINARY); ++ INSERT INTO t0_content VALUES(0,NULL,NULL,NULL,NULL); ++ INSERT INTO t0_segdir VALUES(0,0,0,0,'0 42',X'00013103010200010332333405010201ba00000461616161050101020200000462626262050101030200'); ++} ++ ++do_execsql_test 44.2 { ++ SELECT matchinfo(t0, t0) IS NULL FROM t0 WHERE t0 MATCH '1*' ++} {0} ++ ++#------------------------------------------------------------------------- ++# ++reset_db ++do_test 45.0 { ++ sqlite3 db {} ++ db deserialize [decode_hexdb { ++.open --hexdb ++| size 24576 pagesize 4096 filename crash-65c98512cc9e49.db ++| page 1 offset 0 ++| 0: 53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00 SQLite format 3. ++| 16: 10 00 01 01 00 40 20 20 00 00 00 00 00 00 00 06 .....@ ........ ++| 96: 00 00 00 00 0d 0e fc 00 06 0d bc 00 0f ca 0f 6c ...............l ++| 112: 0f 04 0e 13 0e c9 0d bc 00 00 00 00 00 00 00 00 ................ ++| 3504: 00 00 00 00 00 00 00 00 00 00 00 00 55 06 07 17 ............U... ++| 3520: 1b 1b 01 81 01 74 61 62 6c 65 78 31 5f 73 74 61 .....tablex1_sta ++| 3536: 74 78 31 5f 73 74 61 74 06 43 52 45 41 54 45 20 tx1_stat.CREATE ++| 3552: 54 41 42 4c 45 20 27 78 31 5f 73 74 61 74 27 28 TABLE 'x1_stat'( ++| 3568: 69 64 20 49 4e 54 45 47 45 52 20 50 52 49 4d 41 id INTEGER PRIMA ++| 3584: 52 59 20 4b 45 59 2c 20 76 61 6c 75 65 20 42 4c RY KEY, value BL ++| 3600: 41 82 29 81 33 04 07 17 1f 1f 01 82 35 74 61 62 A.).3.......5tab ++| 3616: 6c 65 78 31 5f 73 65 67 64 69 72 78 31 5f 73 65 lex1_segdirx1_se ++| 3632: 67 64 69 72 04 43 52 45 41 54 45 20 54 41 42 4c gdir.CREATE TABL ++| 3648: 45 20 27 78 31 5f 73 65 67 64 69 72 27 28 6c 65 E 'x1_segdir'(le ++| 3664: 76 65 6c 20 49 4e 54 45 47 45 52 2c 69 64 78 20 vel INTEGER,idx ++| 3680: 49 4e 54 45 47 45 52 2c 73 74 61 72 74 5f 62 6c INTEGER,start_bl ++| 3696: 6f 63 6b 20 49 4e 54 45 47 45 52 2c 6c 65 61 76 ock INTEGER,leav ++| 3712: 65 73 5f 65 6e 64 5f 62 6c 6f 63 6b 20 49 4e 54 es_end_block INT ++| 3728: 45 47 45 52 2c 65 6e 64 5f 62 6c 6f 63 6b 20 49 EGER,end_block I ++| 3744: 4e 54 45 47 45 52 2c 72 6f 6f 74 20 42 4c 4f 42 NTEGER,root BLOB ++| 3760: 2c 50 52 49 4d 41 52 59 20 4b 45 59 28 6c 65 76 ,PRIMARY KEY(lev ++| 3776: 65 6c 2c 20 69 64 78 29 29 31 05 06 17 45 1f 01 el, idx))1...E.. ++| 3792: 00 69 6e 64 65 78 73 71 6c 69 74 65 5f 61 75 74 .indexsqlite_aut ++| 3808: 6f 69 6e 64 65 78 5f 78 31 5f 73 65 67 64 69 72 oindex_x1_segdir ++| 3824: 5f 31 78 31 5f 73 65 67 64 69 72 05 00 00 00 08 _1x1_segdir..... ++| 3840: 60 00 00 00 66 03 07 17 23 23 01 81 13 74 61 62 `...f...##...tab ++| 3856: 6c 65 78 31 5f 73 65 67 6d 65 6e 74 73 78 31 5f lex1_segmentsx1_ ++| 3872: 73 65 67 6d 65 6e 74 73 03 43 52 45 41 54 45 20 segments.CREATE ++| 3888: 54 41 42 4c 45 20 27 78 31 5f 73 65 67 6d 65 6e TABLE 'x1_segmen ++| 3904: 74 73 27 28 62 6c 6f 63 6b 69 64 20 49 4e 54 45 ts'(blockid INTE ++| 3920: 47 45 52 20 50 52 49 4d 41 52 59 20 4b 45 59 2c GER PRIMARY KEY, ++| 3936: 20 62 6c 6f 63 6b 20 42 4c 4f 42 29 5c 02 07 17 block BLOB).... ++| 3952: 21 21 01 81 03 74 61 62 6c 65 78 31 5f 63 6f 6e !!...tablex1_con ++| 3968: 74 65 6e 74 78 31 5f 63 6f 6e 74 65 6e 74 02 43 tentx1_content.C ++| 3984: 52 45 41 54 45 20 54 41 42 4c 45 20 27 78 31 5f REATE TABLE 'x1_ ++| 4000: 63 6f 6e 74 65 6e 74 27 28 64 6f 63 69 64 20 49 content'(docid I ++| 4016: 4e 54 45 47 45 52 20 50 52 49 4d 41 52 59 20 4b NTEGER PRIMARY K ++| 4032: 45 59 2c 20 27 63 30 78 27 29 34 01 06 17 11 11 EY, 'c0x')4..... ++| 4048: 08 57 74 61 62 6c 65 78 31 78 31 43 52 45 41 54 .Wtablex1x1CREAT ++| 4064: 45 20 56 49 52 54 55 41 4c 20 54 41 42 4c 45 20 E VIRTUAL TABLE ++| 4080: 78 31 20 55 53 49 4e 47 20 66 74 73 33 28 78 29 x1 USING fts3(x) ++| page 2 offset 4096 ++| 0: 0d 00 00 00 11 0f 77 f0 0f f8 0f f0 0f e8 0f e0 ......w......... ++| 16: 0f d8 0f d0 0f c8 0f c0 00 00 00 00 00 00 00 00 ................ ++| 3952: 00 00 00 00 00 00 00 00 06 11 03 00 13 77 78 79 .............wxy ++| 3968: 06 10 03 00 13 74 75 76 06 0f 03 00 13 71 33 73 .....tuv.....q3s ++| 3984: 06 0e 03 00 13 6e 6f 70 06 0d 03 00 13 6b 6c 6d .....nop.....klm ++| 4000: 06 0c 03 04 c3 68 69 6a 06 0b 03 00 13 65 66 67 .....hij.....efg ++| 4016: 06 0a 03 00 13 62 63 64 06 09 03 00 13 79 7a 61 .....bcd.....yza ++| 4032: 06 08 03 00 13 76 77 78 06 07 03 00 13 73 74 75 .....vwx.....stu ++| 4048: 06 06 03 00 13 70 71 72 06 05 03 00 13 6d 6e 6f .....pqr.....mno ++| 4064: 06 03 03 00 13 6a 6b 6c 06 03 03 00 13 67 68 69 .....jkl.....ghi ++| 4080: 06 02 02 00 03 64 65 66 06 01 03 00 13 61 52 63 .....def.....aRc ++| page 3 offset 8192 ++| 0: 0d 00 00 00 03 0f a7 00 0f b5 0f a7 0f fa 01 00 ................ ++| 4000: 00 00 00 00 00 00 00 0c 02 03 00 1e 00 03 6b 6c ..............kl ++| 4016: 6d 03 0d 02 00 43 01 04 00 81 0a 00 03 61 62 63 m....C.......abc ++| 4032: 03 0b 32 00 00 03 62 63 64 03 0a 02 00 00 03 64 ..2...bcd......d ++| 4048: 69 26 03 02 02 00 00 03 65 66 67 03 0b 02 00 00 i&......efg..... ++| 4064: 03 67 68 69 03 03 02 00 00 03 68 69 6a 03 0c 02 .ghi......hij... ++| 4080: 00 00 03 6a 6a 2c 03 04 02 00 03 81 00 03 00 00 ...jj,.......... ++| page 4 offset 12288 ++| 0: 0d 0f 3a 00 05 0f 25 00 0f 9e 0f 88 0f 43 0f 25 ..:...%......C.% ++| 16: 0f 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .r.............. ++| 3856: 00 00 00 00 00 00 00 00 00 56 01 08 08 13 1e 03 .........V...... ++| 3872: 30 20 39 00 03 13 05 07 08 08 18 08 13 1e 30 20 0 9...........0 ++| 3888: 39 00 03 77 78 79 03 11 02 00 0f 6c 00 09 01 08 9..wxy.....l.... ++| 3904: 08 15 54 27 04 07 09 01 08 08 15 42 02 30 20 33 ..T'.......B.0 3 ++| 3920: 36 00 03 6e 6f 70 03 0e 02 00 00 03 71 72 73 03 6..nop......qrs. ++| 3936: 0f 02 00 00 03 74 75 76 03 10 02 00 0f cf b1 06 .....tuv........ ++| 3952: 01 08 14 06 07 01 08 09 01 1b 14 02 02 31 32 38 .............128 ++| 3968: 20 2d 37 32 10 01 01 6b 14 03 07 09 09 08 08 15 -72...k........ ++| 3984: 1e 30 20 33 36 00 03 79 7a 61 03 09 02 00 2f 02 .0 36..yza..../. ++| 4000: 07 09 08 08 08 15 54 30 20 33 36 00 03 6d 6e 6f ......T0 36..mno ++| 4016: 03 05 02 00 00 03 70 71 72 03 06 02 00 00 03 73 ......pqr......s ++| 4032: 74 75 03 07 02 00 00 03 76 77 78 03 08 02 00 00 tu......vwx..... ++| 4048: 00 00 4a 08 08 08 15 54 30 20 33 36 00 03 61 62 ..J....T0 36..ab ++| 4064: 63 03 01 02 00 00 03 64 65 66 03 02 02 00 00 03 c......def...... ++| 4080: 67 68 69 03 03 67 00 00 03 6a 6b 6c 03 04 02 00 ghi..g...jkl.... ++| page 5 offset 16384 ++| 0: 0a 0f e7 00 05 0f da 00 0f e1 0f fa 0f f4 0f ed ................ ++| 16: 0f da 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ ++| 4048: 00 00 00 00 00 00 00 1a 01 03 06 04 01 08 01 02 ................ ++| 4064: 06 05 04 08 08 01 05 00 00 00 06 01 03 06 04 09 ................ ++| 4080: 02 01 02 04 05 04 09 09 01 03 05 04 09 08 01 02 ................ ++| page 6 offset 20480 ++| 0: 0d 00 10 00 01 0f f9 00 0f f9 00 00 00 00 00 00 ................ ++| 4080: 00 00 00 00 00 00 00 00 00 05 01 03 00 10 01 03 ................ ++| end crash-65c98512cc9e49.db ++}]} {} ++ ++do_catchsql_test 45.2 { ++ INSERT INTO x1(x1) VALUES( 'merge=1' ) ++} {1 {database disk image is malformed}} ++ ++#------------------------------------------------------------------------- ++reset_db ++set saved $sqlite_fts3_enable_parentheses ++set sqlite_fts3_enable_parentheses 1 ++do_execsql_test 46.1 { ++ CREATE VIRTUAL TABLE t0 USING fts3(a INTEGER PRIMARY KEY,b,c,d); ++ INSERT INTO t0_segdir VALUES(0,0,0,0,'0 42',X'0001310301c9000103323334050d8000f200000461616161050101020200000462626262050101030200'); ++} {} ++ ++do_catchsql_test 46.2 { ++ SELECT * FROM t0 ++ WHERE t0 MATCH x'2b0a312b0a312a312a2a0b5d0a0b0b0a312a0a0b0b0a312a0b310a392a0b0a27312a2a0b5d0a312a0b310a31315d0b310a312a316d2a0b313b15bceaa50a312a0b0a27312a2a0b5d0a312a0b310a312b0b2a310a312a0b2a0b2a0b2e5d0a0bff313336e34a2a312a0b0a3c310b0a0b4b4b0b4b2a4bec40322b2a0b310a0a312a0a0a0a0a0a0a0a0a0b310a312a2a2a0b5d0a0b0b0a312a0b310a312a0b0a4e4541530b310a5df5ced70a0a0a0a0a4f520a0a0a0a0a0a0a312a0b0a4e4541520b310a5d616161610a0a0a0a4f520a0a0a0a0a0a312b0a312a312a0a0a0a0a0a0a004a0b0a310b220a0b0a310a4a22310a0b0a7e6fe0e0e030e0e0e0e0e01176e02000e0e0e0e0e01131320226310a0b0a310a4a22310a0b0a310a766f8b8b4ee0e0300ae0090909090909090909090909090909090909090909090909090909090909090947aaaa540b09090909090909090909090909090909090909090909090909090909090909fae0e0f2f22164e0e0f273e07fefefef7d6dfafafafa6d6d6d6d'; ++} {1 {database disk image is malformed}} ++ ++set sqlite_fts3_enable_parentheses $saved ++ + finish_test +--- /test/fts3corrupt6.test ++++ /test/fts3corrupt6.test +@@ -0,0 +1,60 @@ ++# 2020 June 8 ++# ++# The author disclaims copyright to this source code. In place of ++# a legal notice, here is a blessing: ++# ++# May you do good and not evil. ++# May you find forgiveness for yourself and forgive others. ++# May you share freely, never taking more than you give. ++# ++#************************************************************************* ++# This file implements regression tests for SQLite library. The ++# focus of this script is testing the FTS3 module. ++# ++# $Id: fts3aa.test,v 1.1 2007/08/20 17:38:42 shess Exp $ ++# ++ ++set testdir [file dirname $argv0] ++source $testdir/tester.tcl ++source $testdir/fts3_common.tcl ++set testprefix fts3corrupt6 ++ ++# If SQLITE_ENABLE_FTS3 is defined, omit this file. ++ifcapable !fts3 { ++ finish_test ++ return ++} ++ ++set ::saved_sqlite_fts3_enable_parentheses $::sqlite_fts3_enable_parentheses ++set sqlite_fts3_enable_parentheses 1 ++sqlite3_fts3_may_be_corrupt 1 ++database_may_be_corrupt ++ ++do_execsql_test 1.0 { ++ BEGIN TRANSACTION; ++ CREATE TABLE t_content(col0 INTEGER); ++ PRAGMA writable_schema=ON; ++ CREATE VIRTUAL TABLE t0 USING fts3(col0 INTEGER PRIMARY KEY,col1 VARCHAR(8),col2 BINARY,col3 BINARY); ++ INSERT INTO t0_content VALUES(0,NULL,NULL,NULL,NULL); ++ INSERT INTO t0_segdir VALUES(0,0,0,0,'0 42',X'000131030102000103323334050101010200000461616161050101020200000462626262050101030200'); ++ COMMIT; ++} ++ ++do_execsql_test 1.1 { ++ SELECT 0+matchinfo(t0,'yxyyxy') FROM t0 WHERE t0 MATCH CAST( x'2b0a312b0a312a312a2a0b5d0a0b0b0a312a0a0b0b0a312a0b310a392a0b0a27312a2a0b5d0a312a0b310a31315d0b310a312a316d2a0b313b15bceaa50a312a0b0a27312a2a0b5d0a312a0b310a312b0b2a310a312a0b2a0b2a0b2e5d0a0bff313336e34a2a312a0b0a3c310b0a0b4b4b0b4b2a4bec40322b2a0b310a0a312a0a0a0a0a0a0a0a0a0b310a312a2a2a0b5d0a0b0b0a312a0b310a312a0b0a4e4541530b310a5df5ced70a0a0a0a0a4f520a0a0a0a0a0a0a312a0b0a4e4541520b310a5d616161610a0a0a0a4f520a0a0a0a0a0a312b0a312a312a0a0a0a0a0a0a004a0b0a310b220a0b0a310a4a22310a0b0a7e6fe0e0e030e0e0e0e0e01176e02000e0e0e0e0e01131320226310a0b0a310a4a22310a0b0a310a766f8b8b4ee0e0300ae0090909090909090909090909090909090909090909090909090909090909090947aaaa540b09090909090909090909090909090909090909090909090909090909090909fae0e0f2f22164e0e0f273e07fefefef7d6dfafafafa6d6d6d6d' AS TEXT); ++} {0} ++ ++do_execsql_test 1.2 { ++ CREATE VIRTUAL TABLE t1 USING fts3(col0 INTEGER PRIMARY KEY,col1 VARCHAR(8),col2 BINARY,col3 BINARY); ++ INSERT INTO t1_content VALUES(0,NULL,NULL,NULL,NULL); ++ INSERT INTO t1_segdir VALUES(0,0,0,0,'0 42',X'000131030102000103323334050101010200000461616161050101020200000462626262050101030200'); ++} ++ ++do_execsql_test 1.3 { ++ SELECT 42+matchinfo(t1,'yxyyxy') FROM t1 WHERE t1 MATCH x'2b0a312b0a312a312a2a0b5d0a0b0b0a312a0a0b0b0a312a0b310a392a0b0a27312a2a0b5d0a312a0b310a31315d0b310a312a316d2a0b313b15bceaa50a312a0b0a27312a2a0b5d0a312a0b310a312b0b2a310a312a0b2a0b2a0b2e5d0a0bff313336e34a2a312a0b0a3c310b0a0b4b4b0b4b2a4bec40322b2a0b310a0a312a0a0a0a0a0a0a0a0a0b310a312a2a2a0b5d0a0b0b0a312a0b310a312a0b0a4e4541530b310a5df5ced70a0a0a0a0a4f520a0a0a0a0a0a0a312a0b0a4e4541520b310a5d616161610a0a0a0a4f520a0a0a0a0a0a312b0a312a312a0a0a0a0a0a0a004a0b0a310b220a0b0a310a4a22310a0b0a7e6fe0e0e030e0e0e0e0e01176e02000e0e0e0e0e01131320226310a0b0a310a4a22310a0b0a310a766f8b8b4ee0e0300ae0090909090909090909090909090909090909090909090909090909090909090947aaaa540b09090909090909090909090909090909090909090909090909090909090909fae0e0f2f22164e0e0f273e07fefefef7d6dfafafafa6d6d6d6d'; ++} {42} ++ ++set sqlite_fts3_enable_parentheses $saved_sqlite_fts3_enable_parentheses ++finish_test ++ ++ diff --git a/dev-db/sqlite/files/sqlite-3.32.3-backports_2.patch b/dev-db/sqlite/files/sqlite-3.32.3-backports_2.patch new file mode 100644 index 000000000000..32b6f9b1624f --- /dev/null +++ b/dev-db/sqlite/files/sqlite-3.32.3-backports_2.patch @@ -0,0 +1,302 @@ +https://sqlite.org/src/info/30735432bc33cb95 +https://sqlite.org/src/info/1bd18ca35bdbf303 +https://sqlite.org/src/info/49da8bdce17ced91 +https://sqlite.org/src/info/f25a56c26e28abd4 + +--- /ext/fts5/fts5_index.c ++++ /ext/fts5/fts5_index.c +@@ -2321,11 +2321,11 @@ + } + + search_success: +- pIter->iLeafOffset = iOff + nNew; +- if( pIter->iLeafOffset>n || nNew<1 ){ ++ if( (i64)iOff+nNew>n || nNew<1 ){ + p->rc = FTS5_CORRUPT; + return; + } ++ pIter->iLeafOffset = iOff + nNew; + pIter->iTermLeafOffset = pIter->iLeafOffset; + pIter->iTermLeafPgno = pIter->iLeafPgno; + +--- /ext/fts5/test/fts5corrupt3.test ++++ /ext/fts5/test/fts5corrupt3.test +@@ -10108,6 +10108,221 @@ + INSERT INTO t1(t1) SELECT x FROM t2; + } {1 {database disk image is malformed}} + ++#------------------------------------------------------------------------- ++reset_db ++do_test 69.0 { ++ sqlite3 db {} ++ db deserialize [decode_hexdb { ++.open --hexdb ++| size 32768 pagesize 4096 filename crash-31c462b8b665d0.db ++| page 1 offset 0 ++| 0: 53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00 SQLite format 3. ++| 16: 10 00 01 01 00 40 20 20 00 00 00 00 00 00 00 08 .....@ ........ ++| 32: 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 ................ ++| 96: 00 00 00 00 0d 0f c7 00 07 0d 92 00 0f 8d 0f 36 ...............6 ++| 112: 0e cb 0e 6b 0e 0e 0d b6 0d 92 00 00 00 00 00 00 ...k............ ++| 3472: 00 00 22 08 06 17 11 11 01 31 74 61 62 6c 65 74 .........1tablet ++| 3488: 32 74 32 08 43 52 45 41 54 45 20 54 41 42 4c 45 2t2.CREATE TABLE ++| 3504: 20 74 32 28 78 29 56 07 06 17 1f 1f 01 7d 74 61 t2(x)V.......ta ++| 3520: 62 6c 65 74 31 5f 63 6f 6e 66 69 67 74 31 5f 63 blet1_configt1_c ++| 3536: 6f 6e 66 69 67 07 43 52 45 41 54 45 20 54 41 42 onfig.CREATE TAB ++| 3552: 4c 45 20 27 74 31 5f 63 6f 6e 66 69 67 27 28 6b LE 't1_config'(k ++| 3568: 20 50 52 49 4d 41 52 59 20 4b 45 59 2c 20 76 29 PRIMARY KEY, v) ++| 3584: 20 57 49 54 48 4f 55 54 20 52 4f 57 49 44 5b 06 WITHOUT ROWID[. ++| 3600: 07 17 21 21 01 81 01 74 61 62 6c 65 74 31 5f 64 ..!!...tablet1_d ++| 3616: 6f 63 73 69 7a 65 74 31 5f 64 6f 63 73 69 7a 65 ocsizet1_docsize ++| 3632: 06 43 52 45 41 54 45 20 54 41 42 4c 45 20 27 74 .CREATE TABLE 't ++| 3648: 31 5f 64 6f 63 73 69 7a 65 27 28 69 64 20 49 4e 1_docsize'(id IN ++| 3664: 54 45 47 45 52 20 50 52 49 4d 41 52 59 20 4b 45 TEGER PRIMARY KE ++| 3680: 59 2c 20 73 7a 20 42 4c 4f 42 29 5e 05 07 17 21 Y, sz BLOB)^...! ++| 3696: 21 01 81 07 74 61 62 6c 65 74 31 5f 63 6f 6e 74 !...tablet1_cont ++| 3712: 65 6e 74 74 31 5f 63 6f 6e 74 65 6e 74 05 43 52 entt1_content.CR ++| 3728: 45 41 54 45 20 54 41 42 4c 45 20 27 74 31 5f 63 EATE TABLE 't1_c ++| 3744: 6f 6e 74 65 6e 74 27 28 69 64 20 49 4e 54 45 47 ontent'(id INTEG ++| 3760: 45 52 20 50 52 49 4d 41 52 59 20 4b 45 59 2c 20 ER PRIMARY KEY, ++| 3776: 63 39 2c 20 63 31 2c 20 63 32 29 69 04 07 17 19 c9, c1, c2)i.... ++| 3792: 19 01 81 2d 74 61 62 6c 65 74 31 5f 69 64 78 74 ...-tablet1_idxt ++| 3808: 31 5f 69 64 78 04 43 52 45 41 54 45 20 54 41 42 1_idx.CREATE TAB ++| 3824: 4c 45 20 27 74 31 5f 69 64 78 27 28 73 65 67 69 LE 't1_idx'(segi ++| 3840: 64 2c 20 74 65 72 6d 2c 20 70 67 6e 6f 2c 20 50 d, term, pgno, P ++| 3856: 52 49 4d 41 52 59 20 4b 45 59 28 73 65 67 69 64 RIMARY KEY(segid ++| 3872: 2c 20 74 65 72 6d 29 29 20 57 49 54 48 4f 55 54 , term)) WITHOUT ++| 3888: 20 52 4f 57 49 44 55 03 07 17 1b 1b 01 81 01 74 ROWIDU........t ++| 3904: 61 62 6c 65 74 31 5f 64 61 74 61 74 31 5f 64 61 ablet1_datat1_da ++| 3920: 74 61 03 43 52 45 41 54 45 20 54 41 42 4c 45 20 ta.CREATE TABLE ++| 3936: 27 74 31 5f 64 61 74 61 27 28 69 64 20 49 4e 54 't1_data'(id INT ++| 3952: 45 47 45 52 20 50 52 49 4d 41 52 59 20 4b 45 59 EGER PRIMARY KEY ++| 3968: 2c 20 62 6c 6f 63 6b 20 42 4c 4f 42 29 38 02 06 , block BLOB)8.. ++| 3984: 17 11 11 08 5f 74 61 62 6c 65 74 31 74 31 43 52 ...._tablet1t1CR ++| 4000: 45 41 54 45 20 56 49 52 54 55 41 4c 20 54 41 42 EATE VIRTUAL TAB ++| 4016: 4c 45 20 74 31 20 55 53 49 4e 47 20 66 74 73 35 LE t1 USING fts5 ++| 4032: 28 61 2c 62 2c 63 29 00 00 00 00 00 00 00 00 00 (a,b,c)......... ++| page 3 offset 8192 ++| 0: 0d 00 00 00 03 0c 94 00 0f e6 0f ef 0c 94 00 00 ................ ++| 3216: 00 00 00 00 86 4a 84 80 80 80 80 01 04 00 8d 18 .....J.......... ++| 3232: 00 00 03 2b 02 30 30 01 02 06 01 02 06 01 02 06 ...+.00......... ++| 3248: 1f 02 03 01 02 03 01 02 03 01 08 32 30 31 36 30 ...........20160 ++| 3264: 36 30 39 01 02 07 01 02 07 01 02 07 01 01 34 01 609...........4. ++| 3280: 02 05 01 02 05 01 02 05 01 01 35 01 02 04 01 02 ..........5..... ++| 3296: 04 01 02 04 02 07 30 30 30 30 30 30 30 1c 02 04 ......0000000... ++| 3312: 01 02 04 01 02 04 01 06 62 69 6e 61 72 79 03 06 ........binary.. ++| 3328: 01 02 02 03 06 01 02 02 03 06 01 02 02 03 06 01 ................ ++| 3344: 02 02 03 06 00 02 02 03 06 01 02 02 03 06 01 02 ................ ++| 3360: 02 03 06 01 02 02 03 06 01 02 02 03 06 01 02 02 ................ ++| 3376: 03 06 01 02 02 03 06 01 02 02 01 08 63 6f 6d 70 ............comp ++| 3392: 69 6c 65 72 01 02 02 01 02 02 01 02 02 01 06 64 iler...........d ++| 3408: 62 73 74 61 74 07 02 03 01 02 03 01 02 03 02 04 bstat........... ++| 3424: 65 62 75 67 04 02 02 01 02 02 01 02 02 01 06 65 ebug...........e ++| 3440: 6e 61 62 6c 65 07 02 02 01 02 02 01 02 02 01 02 nable........... ++| 3456: 02 01 02 02 01 02 02 01 02 02 01 02 02 01 02 02 ................ ++| 3472: 01 02 02 01 02 02 01 02 02 01 02 02 01 02 02 01 ................ ++| 3488: 01 02 01 02 02 01 02 02 01 02 02 01 02 02 01 02 ................ ++| 3504: 02 01 02 02 02 08 78 74 65 6e 73 69 6f 6e 1f 02 ......xtension.. ++| 3520: 04 01 02 04 01 02 04 01 04 66 74 73 34 1a 02 03 .........fts4... ++| 3536: 01 02 03 01 02 03 04 01 35 0d 02 03 01 02 03 01 ........5....... ++| 3552: 02 03 01 03 67 63 63 01 aa 03 01 02 03 01 02 03 ....gcc......... ++| 3568: 02 06 65 6f 70 6f 6c 79 10 02 03 02 02 03 01 02 ..eopoly........ ++| 3584: 03 01 05 6a 73 6f 6e 31 13 02 03 01 02 03 01 02 ...json1........ ++| 3600: 03 01 04 6c 6f 61 64 1f 02 03 01 02 03 01 02 03 ...load......... ++| 3616: 01 03 6d 61 78 1c 02 02 01 02 02 01 02 02 02 05 ..max........... ++| 3632: 65 6d 6f 72 79 1c 02 03 01 02 03 01 02 03 04 04 emory........... ++| 3648: 73 79 73 35 16 02 03 01 02 03 01 02 03 01 06 6e sys5...........n ++| 3664: 6f 63 61 73 65 02 06 01 02 02 03 06 01 02 02 03 ocase........... ++| 3680: 06 01 02 02 03 06 01 02 02 03 06 01 02 02 03 06 ................ ++| 3696: 01 02 02 03 06 01 02 02 03 06 01 02 02 03 06 01 ................ ++| 3712: 02 02 03 06 01 02 02 03 06 01 02 02 03 06 01 02 ................ ++| 3728: 02 01 04 6f 6d 69 74 1f 02 02 01 02 02 01 02 01 ...omit......... ++| 3744: ff ff ff ff ff ff ff ff f0 00 00 00 00 00 01 02 ................ ++| 3760: 58 81 96 4d 01 06 01 02 02 03 06 01 02 02 03 06 X..M............ ++| 3776: 01 02 02 03 06 01 02 02 03 06 01 02 02 03 06 01 ................ ++| 3792: 02 02 03 06 01 02 02 03 06 01 02 02 03 06 01 02 ................ ++| 3808: 02 03 06 01 02 02 03 06 01 02 02 03 06 01 02 02 ................ ++| 3824: 01 0a 74 68 72 65 61 64 73 61 66 65 22 02 02 01 ..threadsafe.... ++| 3840: 02 02 01 02 02 01 04 76 74 61 62 07 02 04 01 02 .......vtab..... ++| 3856: 04 01 02 04 01 01 78 01 06 01 01 02 01 06 01 01 ......x......... ++| 3872: 02 01 06 01 1e 02 01 06 01 01 02 01 06 01 01 02 ................ ++| 3888: 01 06 01 01 02 01 06 01 01 02 01 06 01 01 02 01 ................ ++| 3904: 06 01 01 02 01 06 01 01 02 01 06 01 01 02 01 06 ................ ++| 3920: 01 01 02 01 06 01 01 02 01 06 01 01 02 01 06 01 ................ ++| 3936: 00 02 01 06 01 01 02 01 06 01 01 02 01 06 01 01 ................ ++| 3952: 02 01 06 01 01 02 01 06 01 01 02 01 06 01 01 02 ................ ++| 3968: 01 06 01 01 02 01 06 01 01 02 01 06 01 01 02 01 ................ ++| 3984: 06 01 01 02 01 06 01 01 02 01 06 01 01 02 01 06 ................ ++| 4000: 01 01 02 01 06 01 01 02 01 06 01 01 02 01 06 01 ................ ++| 4016: 01 02 01 06 01 01 02 01 06 01 01 02 01 06 01 01 ................ ++| 4032: 02 01 06 01 01 02 01 06 01 01 02 04 15 13 0c 0c ................ ++| 4048: 12 44 13 11 0f 47 13 0f 0b 0e 11 10 0f 0e 10 0f .D...G.......... ++| 4064: 44 0f 10 40 15 0f 07 01 03 00 14 24 5a 24 24 0f D..@.......$Z$$. ++| 4080: 0a 03 00 24 00 00 00 00 01 01 01 00 01 01 01 01 ...$............ ++| page 4 offset 12288 ++| 0: 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ ++| 4080: 00 00 00 00 00 00 00 00 00 00 05 04 09 0c 01 02 ................ ++| page 5 offset 16384 ++| 0: 0d 00 00 00 24 0c 0a 00 0f d8 0f af 0f 86 0f 74 ....$..........t ++| 16: 0f 61 0f 4e 0f 2f 0f 0f 0e ef 0e d7 0e be 0e a5 .a.N./.......... ++| 32: 0e 8d 0e 74 0e 5b 0e 40 0e 24 0e 08 0d ef 0d d5 ...t.[.@.$...... ++| 48: 0d bb 0d a0 0d 84 0d 68 0d 4f 0d 00 00 00 00 00 .......h.O...... ++| 3072: 00 00 00 00 00 00 00 00 00 00 18 24 05 00 25 0f ...........$..%. ++| 3088: 19 54 48 52 45 41 44 53 41 46 45 3d 30 58 42 49 .THREADSAFE=0XBI ++| 3104: 4e 41 52 59 18 23 05 00 25 0f 19 54 48 52 45 41 NARY.#..%..THREA ++| 3120: 44 53 41 46 45 3d 30 58 4e 4f 43 41 53 45 17 22 DSAFE=0XNOCASE.. ++| 3136: 05 00 25 0f 17 54 48 52 45 41 44 53 41 46 45 3d ..%..THREADSAFE= ++| 3152: 30 58 52 54 52 49 4d 1f 21 05 00 33 0f 19 4f 4d 0XRTRIM.!..3..OM ++| 3168: 49 54 20 4c 4f 41 44 20 45 58 54 45 4e 53 49 4f IT LOAD EXTENSIO ++| 3184: 4e 58 42 49 4e 41 52 59 1f 20 05 00 33 d3 19 4f NXBINARY. ..3..O ++| 3200: 4d 49 54 28 2c 4f 41 44 b2 04 55 85 44 54 e5 34 MIT(,OAD..U.DT.4 ++| 3216: 94 f4 e5 84 e4 f4 34 15 34 51 e1 f0 50 03 30 f1 ......4.4Q..P.0. ++| 3232: 74 f4 d4 95 42 04 c4 f4 14 42 04 55 85 44 54 e5 t...B....B.U.DT. ++| 3248: 34 94 f4 e5 85 25 45 24 94 d1 f1 e0 50 03 30 f1 4....%E$....P.0. ++| 3264: 94 d4 15 82 04 d4 54 d4 f5 25 93 d3 53 03 03 03 ......T..%..S... ++| 3280: 03 03 03 05 84 24 94 e4 15 25 91 f1 d0 50 03 30 .....$...%...P.0 ++| 3296: f1 94 d4 15 82 04 d4 54 d4 f5 25 93 d3 53 03 03 .......T..%..S.. ++| 3312: 03 03 03 03 05 84 e4 f4 34 15 34 51 e1 c0 50 03 ........4.4Q..P. ++| 3328: 30 f1 74 d4 15 82 04 d4 54 d4 f5 25 93 d3 53 03 0.t.....T..%..S. ++| 3344: 03 03 03 03 03 05 85 25 45 24 94 d1 81 b0 50 02 .......%E$....P. ++| 3360: 50 f1 94 54 e4 14 24 c4 52 05 25 45 24 54 55 84 P..T..$.R.%E$TU. ++| 3376: 24 94 e4 15 25 91 81 a0 50 02 50 f1 94 54 e4 14 $...%...P.P..T.. ++| 3392: 24 c4 52 05 25 45 24 54 55 84 e4 f4 34 15 34 51 $.R.%E$TU...4.4Q ++| 3408: 71 90 50 02 50 f1 74 54 e4 14 24 c4 52 05 25 45 q.P.P.tT..$.R.%E ++| 3424: 24 54 55 85 25 45 24 94 d1 a1 80 50 02 90 f1 94 $TU.%E$....P.... ++| 3440: 54 e4 14 24 c4 52 04 d4 54 d5 35 95 33 55 84 24 T..$.R..T.5.3U.$ ++| 3456: 94 e4 15 25 91 a1 70 50 02 90 f1 94 54 e4 14 24 ...%..pP....T..$ ++| 3472: c4 52 04 d4 54 d5 35 95 33 55 84 e4 f4 34 15 34 .R..T.5.3U...4.4 ++| 3488: 51 91 60 50 02 90 f1 74 54 e4 14 24 c4 52 04 d4 Q.`P...tT..$.R.. ++| 3504: 54 d5 35 95 33 55 85 25 45 24 94 d1 81 50 50 02 T.5.3U.%E$...PP. ++| 3520: 50 f1 94 54 e4 14 24 c4 52 04 a5 34 f4 e3 15 84 P..T..$.R..4.... ++| 3536: 24 94 e4 15 25 91 81 40 50 02 50 f1 94 54 e4 14 $...%..@P.P..T.. ++| 3552: 24 c4 52 04 a5 34 f4 e3 15 84 e4 f4 34 15 34 51 $.R..4......4.4Q ++| 3568: 71 30 50 02 4f f1 74 54 e4 14 24 c4 52 04 a5 34 q0P.O.tT..$.R..4 ++| 3584: f4 e3 15 85 25 45 24 94 d1 a1 20 50 02 90 f1 94 ....%E$... P.... ++| 3600: 54 e4 14 24 c4 52 04 74 54 f5 04 f4 c5 95 84 24 T..$.R.tT......$ ++| 3616: 94 e4 15 25 91 a1 10 50 02 90 f1 94 54 e4 14 24 ...%...P....T..$ ++| 3632: c4 52 04 74 54 f5 04 f4 c5 95 84 e4 f4 34 15 34 .R.tT........4.4 ++| 3648: 51 91 00 50 02 90 f1 74 54 e4 14 24 c4 51 f4 74 Q..P...tT..$.Q.t ++| 3664: 54 f5 04 f4 c5 95 85 25 45 24 94 d1 70 f0 50 02 T......%E$..p.P. ++| 3680: 30 f1 94 54 e4 14 24 c5 20 46 54 53 35 58 42 49 0..T..$. FTS5XBI ++| 3696: 4e 41 52 59 17 0e 05 00 23 0f 19 45 4e 41 42 4c NARY....#..ENABL ++| 3712: 45 20 46 54 53 35 58 4f 4f 43 41 53 45 16 0d 05 E FTS5XOOCASE... ++| 3728: 00 23 0f 17 45 4e 41 42 4c 45 20 46 54 53 35 58 .#..ENABLE FTS5X ++| 3744: 52 54 52 49 4d 17 0c 05 00 23 0f 19 45 4e 41 42 RTRIM....#..ENAB ++| 3760: 4c 45 20 46 54 53 34 58 42 49 4e 41 52 59 97 0b LE FTS4XBINARY.. ++| 3776: 05 00 23 0f 19 45 4e 41 42 4c 45 20 46 54 53 34 ..#..ENABLE FTS4 ++| 3792: 58 4e 4f 43 41 53 45 16 0a 05 00 23 0f 17 45 4e XNOCASE....#..EN ++| 3808: 41 42 4c 45 20 46 54 53 34 58 52 54 52 49 4d 1e ABLE FTS4XRTRIM. ++| 3824: 09 05 00 3e 5f 19 45 4e 41 42 4c 45 20 44 42 53 ...>_.ENABLE DBS ++| 3840: 44 41 54 20 56 54 41 42 58 42 49 4e 41 52 59 1e DAT VTABXBINARY. ++| 3856: 08 05 00 31 0f 19 45 4e 41 42 4c 45 20 44 42 53 ...1..ENABLE DBS ++| 3872: 54 41 54 20 56 54 41 42 58 4e 4f 43 4d e3 45 1d TAT VTABXNOCM.E. ++| 3888: 07 05 00 31 0f 17 45 4e 41 42 4c 45 20 44 42 53 ...1..ENABLE DBS ++| 3904: 54 41 54 20 56 54 41 42 58 52 54 52 49 4d 11 06 TAT VTABXRTRIM.. ++| 3920: 05 00 17 0f 19 44 45 42 55 47 58 42 49 4e 41 52 .....DEBUGXBINAR ++| 3936: 59 11 05 05 00 17 0f 19 44 45 42 55 47 58 4e 4f Y.......DEBUGXNO ++| 3952: 43 41 53 45 10 02 02 50 08 5f 17 44 45 42 55 47 CASE...P._.DEBUG ++| 3968: 58 52 54 52 49 4d 27 03 05 00 44 0f 19 43 4f 4d XRTRIM'...D..COM ++| 3984: 50 49 4c 45 52 3d 67 63 63 2d 35 2e 34 2e 30 20 PILER=gcc-5.4.0 ++| 4000: 32 30 31 36 30 36 30 39 58 42 49 4e 41 52 59 27 20160609XBINARY' ++| 4016: 02 05 00 43 0f 19 43 4f 4d 50 49 4c 45 52 3d 67 ...C..COMPILER=g ++| 4032: 63 63 2d 35 2e 34 2e 30 20 32 30 31 36 30 36 30 cc-5.4.0 2016060 ++| 4048: 39 58 4e 4f 43 41 53 45 26 01 05 00 43 c9 17 43 9XNOCASE&...C..C ++| 4064: 4f 4d 50 49 4c 47 02 3d 67 63 63 2d 35 2e 34 2e OMPILG.=gcc-5.4. ++| 4080: 30 20 32 30 31 36 30 36 30 39 58 52 54 52 49 4d 0 20160609XRTRIM ++| page 6 offset 20480 ++| 0: 0d 00 00 00 24 0e e0 00 0f f8 0f f0 0f e8 0f e0 ....$........... ++| 16: 0f d8 0f d0 0f c8 0f c0 0f b8 0f b0 0f a8 0f a0 ................ ++| 32: 0f 98 0f 90 0f 88 0f 80 0f 78 0f 70 0f 68 0f 60 .........x.p.h.` ++| 48: 0f 58 0f 50 0f 48 0f 40 0f 38 00 00 00 00 00 00 .X.P.H.@.8...... ++| 3808: 06 24 03 00 12 02 01 01 06 23 03 00 12 02 01 01 .$.......#...... ++| 3824: 06 22 03 00 12 02 01 01 06 21 03 00 12 03 01 01 .........!...... ++| 3840: 06 20 03 00 12 03 01 01 06 1f 03 00 12 03 01 01 . .............. ++| 3856: 06 1e 03 00 12 03 01 01 06 1d 03 00 12 03 01 01 ................ ++| 3872: 06 1c 03 00 12 03 01 01 06 1b 03 00 12 02 01 01 ................ ++| 3888: 06 1a 03 00 12 02 01 01 06 19 03 00 12 02 01 01 ................ ++| 3904: 06 18 03 00 12 02 01 01 06 17 03 00 12 02 01 01 ................ ++| 3920: 06 16 03 00 12 02 01 01 06 15 03 00 12 02 01 01 ................ ++| 3936: 06 14 03 00 12 02 01 01 06 13 03 00 12 02 01 01 ................ ++| 3952: 06 12 03 00 12 02 01 01 06 11 03 00 12 02 01 01 ................ ++| 3968: 06 10 03 00 12 02 01 01 06 1f 03 00 12 02 01 01 ................ ++| 3984: 06 0e 03 00 12 02 01 01 06 0d 03 00 12 02 01 01 ................ ++| 4000: 06 0c 03 00 12 02 01 01 06 0b 03 00 12 02 01 01 ................ ++| 4016: 06 0a 03 00 12 02 01 01 06 09 03 00 12 03 01 01 ................ ++| 4032: 06 08 03 00 12 03 01 01 06 07 03 00 12 03 01 01 ................ ++| 4048: 06 06 03 00 12 01 01 01 06 05 03 00 12 01 01 01 ................ ++| 4064: 06 04 03 00 12 01 01 01 06 03 03 00 12 06 01 01 ................ ++| 4080: 06 02 03 00 12 06 01 01 06 01 03 00 12 06 01 01 ................ ++| page 7 offset 24576 ++| 0: 0a 00 00 00 01 0f f4 00 0f f4 00 00 00 00 00 00 ................ ++| 4080: 00 00 00 00 0b 03 1b 01 76 65 72 73 69 6f 6e 04 ........version. ++| page 8 offset 28672 ++| 0: 0d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ ++| 4048: 00 00 00 00 00 00 11 03 02 2b 69 6e 74 65 67 72 .........+integr ++| 4064: 69 74 79 2d 63 68 65 63 6b 09 00 00 00 00 00 00 ity-check....... ++| end crash-31c462b8b665d0.db ++}]} {} ++ ++ ++do_catchsql_test 69.2 { ++ SELECT * FROM t1 WHERE a MATCH 'fx*' ++} {1 {database disk image is malformed}} + + sqlite3_fts5_may_be_corrupt 0 + finish_test +--- /src/btree.c ++++ /src/btree.c +@@ -3886,7 +3886,7 @@ + Pgno nFree = get4byte(&pBt->pPage1->aData[36]); + Pgno nFin = finalDbSize(pBt, nOrig, nFree); + +- if( nOrig<nFin ){ ++ if( nOrig<nFin || nFree>=nOrig ){ + rc = SQLITE_CORRUPT_BKPT; + }else if( nFree>0 ){ + rc = saveAllCursors(pBt, 0, 0); +@@ -8772,7 +8772,11 @@ + assert( pPage->intKey || pX->nKey>=0 ); + assert( pPage->leaf || !pPage->intKey ); + if( pPage->nFree<0 ){ +- rc = btreeComputeFreeSpace(pPage); ++ if( pCur->eState>CURSOR_INVALID ){ ++ rc = SQLITE_CORRUPT_BKPT; ++ }else{ ++ rc = btreeComputeFreeSpace(pPage); ++ } + if( rc ) return rc; + } + +--- /test/corruptL.test ++++ /test/corruptL.test +@@ -1266,5 +1266,30 @@ + do_execsql_test 15.1 { + UPDATE c1 SET c= NOT EXISTS(SELECT 1 FROM c1 ORDER BY (SELECT 1 FROM c1 ORDER BY a)) +10 WHERE d BETWEEN 4 AND 7; + } {} ++ ++#------------------------------------------------------------------------- ++reset_db ++do_execsql_test 16.0 { ++ CREATE TABLE t1(w, x, y, z, UNIQUE(w, x), UNIQUE(y, z)); ++ INSERT INTO t1 VALUES(1, 1, 1, 1); ++ ++ CREATE TABLE t1idx(x, y, i INTEGER, PRIMARY KEY(x)) WITHOUT ROWID; ++ INSERT INTO t1idx VALUES(10, NULL, 5); ++ ++ PRAGMA writable_schema = 1; ++ UPDATE sqlite_master SET rootpage = ( ++ SELECT rootpage FROM sqlite_master WHERE name='t1idx' ++ ) WHERE type = 'index'; ++} ++ ++db close ++sqlite3 db test.db ++ ++do_catchsql_test 16.1 { ++ PRAGMA writable_schema = ON; ++ INSERT INTO t1(rowid, w, x, y, z) VALUES(5, 10, 11, 10, NULL); ++} {1 {database disk image is malformed}} ++ + finish_test + ++ diff --git a/dev-db/sqlite/files/sqlite-3.32.3-backports_3.patch b/dev-db/sqlite/files/sqlite-3.32.3-backports_3.patch new file mode 100644 index 000000000000..07cb5d4a3960 --- /dev/null +++ b/dev-db/sqlite/files/sqlite-3.32.3-backports_3.patch @@ -0,0 +1,220 @@ +https://sqlite.org/src/info/14eed318aa9e6e16 +https://sqlite.org/src/info/9679c0c61131f0e9 +https://sqlite.org/src/info/28515bbbae4fbc26 +https://sqlite.org/src/info/892e9191dc8f8056 +https://sqlite.org/src/info/270ac1a0f232d755 + +--- /ext/fts3/fts3.c ++++ /ext/fts3/fts3.c +@@ -5831,7 +5831,8 @@ + fts3EvalRestart(pCsr, pRoot, &rc); + do { + fts3EvalNextRow(pCsr, pRoot, &rc); +- assert( pRoot->bEof==0 ); ++ assert_fts3_nc( pRoot->bEof==0 ); ++ if( pRoot->bEof ) rc = FTS_CORRUPT_VTAB; + }while( pRoot->iDocid!=iDocid && rc==SQLITE_OK ); + } + } +--- /ext/misc/appendvfs.c ++++ /ext/misc/appendvfs.c +@@ -439,7 +439,7 @@ + p = (ApndFile*)pFile; + memset(p, 0, sizeof(*p)); + pSubFile = ORIGFILE(pFile); +- p->base.pMethods = &apnd_io_methods; ++ pFile->pMethods = &apnd_io_methods; + rc = pSubVfs->xOpen(pSubVfs, zName, pSubFile, flags, pOutFlags); + if( rc ) goto apnd_open_done; + rc = pSubFile->pMethods->xFileSize(pSubFile, &sz); +--- /ext/misc/cksumvfs.c ++++ /ext/misc/cksumvfs.c +@@ -634,7 +634,7 @@ + p = (CksmFile*)pFile; + memset(p, 0, sizeof(*p)); + pSubFile = ORIGFILE(pFile); +- p->base.pMethods = &cksm_io_methods; ++ pFile->pMethods = &cksm_io_methods; + rc = pSubVfs->xOpen(pSubVfs, zName, pSubFile, flags, pOutFlags); + if( rc ) goto cksm_open_done; + if( flags & SQLITE_OPEN_WAL ){ +--- /src/date.c ++++ /src/date.c +@@ -1112,8 +1112,8 @@ + case 'm': sqlite3_snprintf(3, &z[j],"%02d",x.M); j+=2; break; + case 'M': sqlite3_snprintf(3, &z[j],"%02d",x.m); j+=2; break; + case 's': { +- sqlite3_snprintf(30,&z[j],"%lld", +- (i64)(x.iJD/1000 - 21086676*(i64)10000)); ++ i64 iS = (i64)(x.iJD/1000 - 21086676*(i64)10000); ++ sqlite3Int64ToText(iS, &z[j]); + j += sqlite3Strlen30(&z[j]); + break; + } +--- /src/memdb.c ++++ /src/memdb.c +@@ -339,7 +339,7 @@ + p->mFlags = SQLITE_DESERIALIZE_RESIZEABLE | SQLITE_DESERIALIZE_FREEONCLOSE; + assert( pOutFlags!=0 ); /* True because flags==SQLITE_OPEN_MAIN_DB */ + *pOutFlags = flags | SQLITE_OPEN_MEMORY; +- p->base.pMethods = &memdb_io_methods; ++ pFile->pMethods = &memdb_io_methods; + p->szMax = sqlite3GlobalConfig.mxMemdbSize; + return SQLITE_OK; + } +--- /src/memjournal.c ++++ /src/memjournal.c +@@ -366,7 +366,7 @@ + assert( MEMJOURNAL_DFLT_FILECHUNKSIZE==fileChunkSize(p->nChunkSize) ); + } + +- p->pMethod = (const sqlite3_io_methods*)&MemJournalMethods; ++ pJfd->pMethods = (const sqlite3_io_methods*)&MemJournalMethods; + p->nSpill = nSpill; + p->flags = flags; + p->zJournal = zName; +@@ -392,7 +392,7 @@ + int sqlite3JournalCreate(sqlite3_file *pJfd){ + int rc = SQLITE_OK; + MemJournal *p = (MemJournal*)pJfd; +- if( p->pMethod==&MemJournalMethods && ( ++ if( pJfd->pMethods==&MemJournalMethods && ( + #ifdef SQLITE_ENABLE_ATOMIC_WRITE + p->nSpill>0 + #else +--- /src/os_unix.c ++++ /src/os_unix.c +@@ -5689,7 +5689,7 @@ + if( rc!=SQLITE_OK ){ + if( h>=0 ) robust_close(pNew, h, __LINE__); + }else{ +- pNew->pMethod = pLockingStyle; ++ pId->pMethods = pLockingStyle; + OpenCounter(+1); + verifyDbFile(pNew); + } +--- /src/os_win.c ++++ /src/os_win.c +@@ -5266,7 +5266,7 @@ + } + + sqlite3_free(zTmpname); +- pFile->pMethod = pAppData ? pAppData->pMethod : &winIoMethod; ++ id->pMethods = pAppData ? pAppData->pMethod : &winIoMethod; + pFile->pVfs = pVfs; + pFile->h = h; + if( isReadonly ){ +--- /src/sqliteInt.h ++++ /src/sqliteInt.h +@@ -4437,6 +4437,7 @@ + int sqlite3FixExprList(DbFixer*, ExprList*); + int sqlite3FixTriggerStep(DbFixer*, TriggerStep*); + int sqlite3RealSameAsInt(double,sqlite3_int64); ++void sqlite3Int64ToText(i64,char*); + int sqlite3AtoF(const char *z, double*, int, u8); + int sqlite3GetInt32(const char *, int*); + int sqlite3Atoi(const char*); +--- /src/test_multiplex.c ++++ /src/test_multiplex.c +@@ -591,9 +591,9 @@ + + if( rc==SQLITE_OK ){ + if( pSubOpen->pMethods->iVersion==1 ){ +- pMultiplexOpen->base.pMethods = &gMultiplex.sIoMethodsV1; ++ pConn->pMethods = &gMultiplex.sIoMethodsV1; + }else{ +- pMultiplexOpen->base.pMethods = &gMultiplex.sIoMethodsV2; ++ pConn->pMethods = &gMultiplex.sIoMethodsV2; + } + }else{ + multiplexFreeComponents(pGroup); +--- /src/util.c ++++ /src/util.c +@@ -596,6 +596,30 @@ + #endif + + /* ++** Render an signed 64-bit integer as text. Store the result in zOut[]. ++** ++** The caller must ensure that zOut[] is at least 21 bytes in size. ++*/ ++void sqlite3Int64ToText(i64 v, char *zOut){ ++ int i; ++ u64 x; ++ char zTemp[22]; ++ if( v<0 ){ ++ x = (v==SMALLEST_INT64) ? ((u64)1)<<63 : -v; ++ }else{ ++ x = v; ++ } ++ i = sizeof(zTemp)-2; ++ zTemp[sizeof(zTemp)-1] = 0; ++ do{ ++ zTemp[i--] = (x%10) + '0'; ++ x = x/10; ++ }while( x ); ++ if( v<0 ) zTemp[i--] = '-'; ++ memcpy(zOut, &zTemp[i+1], sizeof(zTemp)-1-i); ++} ++ ++/* + ** Compare the 19-character string zNum against the text representation + ** value 2^63: 9223372036854775808. Return negative, zero, or positive + ** if zNum is less than, equal to, or greater than the string. +--- /src/vdbemem.c ++++ /src/vdbemem.c +@@ -104,16 +104,25 @@ + static void vdbeMemRenderNum(int sz, char *zBuf, Mem *p){ + StrAccum acc; + assert( p->flags & (MEM_Int|MEM_Real|MEM_IntReal) ); +- sqlite3StrAccumInit(&acc, 0, zBuf, sz, 0); ++ assert( sz>22 ); + if( p->flags & MEM_Int ){ +- sqlite3_str_appendf(&acc, "%lld", p->u.i); +- }else if( p->flags & MEM_IntReal ){ +- sqlite3_str_appendf(&acc, "%!.15g", (double)p->u.i); ++#if GCC_VERSION>=7000000 ++ /* Work-around for GCC bug ++ ** https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96270 */ ++ i64 x; ++ assert( (p->flags&MEM_Int)*2==sizeof(x) ); ++ memcpy(&x, (char*)&p->u, (p->flags&MEM_Int)*2); ++ sqlite3Int64ToText(x, zBuf); ++#else ++ sqlite3Int64ToText(p->u.i, zBuf); ++#endif + }else{ +- sqlite3_str_appendf(&acc, "%!.15g", p->u.r); ++ sqlite3StrAccumInit(&acc, 0, zBuf, sz, 0); ++ sqlite3_str_appendf(&acc, "%!.15g", ++ (p->flags & MEM_IntReal)!=0 ? (double)p->u.i : p->u.r); ++ assert( acc.zText==zBuf && acc.mxAlloc<=0 ); ++ zBuf[acc.nChar] = 0; /* Fast version of sqlite3StrAccumFinish(&acc) */ + } +- assert( acc.zText==zBuf && acc.mxAlloc<=0 ); +- zBuf[acc.nChar] = 0; /* Fast version of sqlite3StrAccumFinish(&acc) */ + } + + #ifdef SQLITE_DEBUG +--- /test/fts3corrupt4.test ++++ /test/fts3corrupt4.test +@@ -6282,4 +6282,19 @@ + + set sqlite_fts3_enable_parentheses $saved + ++#------------------------------------------------------------------------- ++reset_db ++do_execsql_test 47.1 { ++ CREATE VIRTUAL TABLE t1 USING fts3(a,b,c); ++} ++do_execsql_test 47.2 { ++ INSERT INTO t1_segdir VALUES(0,0,0,0,0,X'000130120106000106000106001f030001030001030000083230313630363039090107000107000107000001340901050001050001050000013509010400010400010400010730303030303030091c0400010400010400000662696e6172793c0301020200030102020003010202000301020200030102020003010202000301020200030102020003010202000301020200030102020003010202000008636f6d70696c657209010200010200010200000664627374617409070300010300010300010465627567090402000102000102000006656e61626c653f07020001020001020001020001020001020001020001020001020001020001020001020001010001020001020001020001020001020001020001020001020001087874656e73696f6e091f0400010400010400000466747334090a0300010300010300030135090d03000103000103000003676363090103000103000103000106656f706f6c790910030001030001030000056a736f6e310913030001030001030000046c6f6164091f030001030001030000036d6178091c02000102000102000105656d6f7279091c03000103000103000304737973350916030001030001030000066e6f636173653c02010202000301020200030102020003010202000301020200030102020003010202000301020200030102020003010202000301020200030102020000046f6d6974091f020001020001020000057274726565091903000103000103000302696d3c01010202000301020200030102020003010202000301020200030102020003010202000301a202000301020200030102020003010202000301020200000a746872656164736166650922020001020001020000047674616209070400010400010400000178b401010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200010101020001010102000101010200'); ++ INSERT INTO t1_segdir VALUES(0,1,0,0,0,X'0001300425061b000008323031363036303903250700000134032505000001350325040001073030303030303003251a000008636f6d70696c657203250200000664627374617403250a00010465627567032508000006656e61626c650925090504040404040001087874656e73696f6e03251d0000046674733403250d0003013503250f000003676363032503000106656f706f6c790325110000056a736f6e310325130000046c6f616403251c0000036d6178032518000105656d6f7279032519000304737973350325150000046f6d697403251b000005727472656503251700000a7468726561647361666503251e0000047674616333250b00'); ++} ++ ++do_catchsql_test 47.3 { ++ SELECT matchinfo(t1) FROM t1 WHERE t1 MATCH '"json1 enable"'; ++} {1 {database disk image is malformed}} ++ ++ + finish_test diff --git a/dev-db/sqlite/files/sqlite-3.32.3-security_fixes.patch b/dev-db/sqlite/files/sqlite-3.32.3-security_fixes.patch new file mode 100644 index 000000000000..ad2a3bfe16d0 --- /dev/null +++ b/dev-db/sqlite/files/sqlite-3.32.3-security_fixes.patch @@ -0,0 +1,146 @@ +https://sqlite.org/src/info/cc888878ea8d5bc7 +https://sqlite.org/src/info/be545f85a6ef09cc +https://sqlite.org/src/info/6e0ffa2053124168 +https://sqlite.org/src/info/4d0cfb1236884349 + +--- /ext/fts3/fts3.c ++++ /ext/fts3/fts3.c +@@ -5208,10 +5208,12 @@ + ); + if( res ){ + nNew = (int)(pOut - pPhrase->doclist.pList) - 1; +- assert( pPhrase->doclist.pList[nNew]=='\0' ); +- assert( nNew<=pPhrase->doclist.nList && nNew>0 ); +- memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew); +- pPhrase->doclist.nList = nNew; ++ if( nNew>=0 ){ ++ assert( pPhrase->doclist.pList[nNew]=='\0' ); ++ assert( nNew<=pPhrase->doclist.nList && nNew>0 ); ++ memset(&pPhrase->doclist.pList[nNew], 0, pPhrase->doclist.nList - nNew); ++ pPhrase->doclist.nList = nNew; ++ } + *paPoslist = pPhrase->doclist.pList; + *pnToken = pPhrase->nToken; + } +--- /ext/fts3/fts3_write.c ++++ /ext/fts3/fts3_write.c +@@ -341,7 +341,9 @@ + ** created by merging the oldest :2 segments from absolute level :1. See + ** function sqlite3Fts3Incrmerge() for details. */ + /* 29 */ "SELECT 2 * total(1 + leaves_end_block - start_block) " +- " FROM %Q.'%q_segdir' WHERE level = ? AND idx < ?", ++ " FROM (SELECT * FROM %Q.'%q_segdir' " ++ " WHERE level = ? ORDER BY idx ASC LIMIT ?" ++ " )", + + /* SQL_DELETE_SEGDIR_ENTRY + ** Delete the %_segdir entry on absolute level :1 with index :2. */ +@@ -2853,6 +2855,19 @@ + return SQLITE_OK; + } + ++static int fts3GrowSegReaderBuffer(Fts3MultiSegReader *pCsr, int nReq){ ++ if( nReq>pCsr->nBuffer ){ ++ char *aNew; ++ pCsr->nBuffer = nReq*2; ++ aNew = sqlite3_realloc(pCsr->aBuffer, pCsr->nBuffer); ++ if( !aNew ){ ++ return SQLITE_NOMEM; ++ } ++ pCsr->aBuffer = aNew; ++ } ++ return SQLITE_OK; ++} ++ + + int sqlite3Fts3SegReaderStep( + Fts3Table *p, /* Virtual table handle */ +@@ -2987,15 +3002,9 @@ + } + + nByte = sqlite3Fts3VarintLen(iDelta) + (isRequirePos?nList+1:0); +- if( nDoclist+nByte>pCsr->nBuffer ){ +- char *aNew; +- pCsr->nBuffer = (nDoclist+nByte)*2; +- aNew = sqlite3_realloc(pCsr->aBuffer, pCsr->nBuffer); +- if( !aNew ){ +- return SQLITE_NOMEM; +- } +- pCsr->aBuffer = aNew; +- } ++ ++ rc = fts3GrowSegReaderBuffer(pCsr, nByte+nDoclist); ++ if( rc ) return rc; + + if( isFirst ){ + char *a = &pCsr->aBuffer[nDoclist]; +@@ -3020,6 +3029,9 @@ + fts3SegReaderSort(apSegment, nMerge, j, xCmp); + } + if( nDoclist>0 ){ ++ rc = fts3GrowSegReaderBuffer(pCsr, nDoclist+FTS3_NODE_PADDING); ++ if( rc ) return rc; ++ memset(&pCsr->aBuffer[nDoclist], 0, FTS3_NODE_PADDING); + pCsr->aDoclist = pCsr->aBuffer; + pCsr->nDoclist = nDoclist; + rc = SQLITE_ROW; +--- /src/expr.c ++++ /src/expr.c +@@ -4272,7 +4272,9 @@ + int nCol; + testcase( op==TK_EXISTS ); + testcase( op==TK_SELECT ); +- if( op==TK_SELECT && (nCol = pExpr->x.pSelect->pEList->nExpr)!=1 ){ ++ if( pParse->db->mallocFailed ){ ++ return 0; ++ }else if( op==TK_SELECT && (nCol = pExpr->x.pSelect->pEList->nExpr)!=1 ){ + sqlite3SubselectError(pParse, nCol, 1); + }else{ + return sqlite3CodeSubselect(pParse, pExpr); +--- /test/fts3corrupt4.test ++++ /test/fts3corrupt4.test +@@ -6123,4 +6123,44 @@ + SELECT offsets(t1) FROM t1 WHERE t1 MATCH 'rtree ner "json1^enable"'; + } + ++#------------------------------------------------------------------------- ++do_execsql_test 42.1 { ++ CREATE VIRTUAL TABLE f USING fts3(a, b); ++} ++do_execsql_test 42.2 { ++ INSERT INTO f_segdir VALUES(0,2,1111,0,0,X'00'); ++ INSERT INTO f_segdir VALUES(0,3,0 ,0,0,X'00013003010200'); ++} ++do_execsql_test 42.3 { ++ INSERT INTO f(f) VALUES ('merge=107,2'); ++} ++ ++#------------------------------------------------------------------------- ++reset_db ++set saved $sqlite_fts3_enable_parentheses ++set sqlite_fts3_enable_parentheses 1 ++do_execsql_test 43.1 { ++ CREATE VIRTUAL TABLE def USING fts3(xyz); ++ INSERT INTO def_segdir VALUES(0,0,0,0,0, X'0001310301c9000103323334050d81'); ++} {} ++ ++do_execsql_test 43.2 { ++ SELECT rowid FROM def WHERE def MATCH '1 NEAR 1' ++} {1} ++ ++set sqlite_fts3_enable_parentheses $saved ++ ++#------------------------------------------------------------------------- ++reset_db ++do_execsql_test 44.1 { ++ CREATE VIRTUAL TABLE t0 USING fts3(col0 INTEGER PRIMARY KEY,col1 VARCHAR(8),col2 BINARY,col3 BINARY); ++ INSERT INTO t0_content VALUES(0,NULL,NULL,NULL,NULL); ++ INSERT INTO t0_segdir VALUES(0,0,0,0,'0 42',X'00013103010200010332333405010201ba00000461616161050101020200000462626262050101030200'); ++} ++ ++do_execsql_test 44.2 { ++ SELECT matchinfo(t0, t0) IS NULL FROM t0 WHERE t0 MATCH '1*' ++} {0} ++ ++ + finish_test diff --git a/dev-db/sqlite/sqlite-3.31.1.ebuild b/dev-db/sqlite/sqlite-3.32.3-r1.ebuild index 50984a94d7b8..c433b78721c9 100644 --- a/dev-db/sqlite/sqlite-3.31.1.ebuild +++ b/dev-db/sqlite/sqlite-3.32.3-r1.ebuild @@ -16,11 +16,8 @@ HOMEPAGE="https://sqlite.org/" if [[ "${PV}" == "9999" ]]; then SRC_URI="" else - SRC_URI="doc? ( https://sqlite.org/2020/${PN}-doc-${DOC_PV}.zip ) - tcl? ( https://sqlite.org/2020/${PN}-src-${SRC_PV}.zip ) - test? ( https://sqlite.org/2020/${PN}-src-${SRC_PV}.zip ) - tools? ( https://sqlite.org/2020/${PN}-src-${SRC_PV}.zip ) - !tcl? ( !test? ( !tools? ( https://sqlite.org/2020/${PN}-autoconf-${SRC_PV}.tar.gz ) ) )" + SRC_URI="https://sqlite.org/2020/${PN}-src-${SRC_PV}.zip + doc? ( https://sqlite.org/2020/${PN}-doc-${DOC_PV}.zip )" fi LICENSE="public-domain" @@ -36,19 +33,8 @@ if [[ "${PV}" == "9999" ]]; then BDEPEND=">=dev-lang/tcl-8.6:0 dev-vcs/fossil" else - BDEPEND="doc? ( app-arch/unzip ) - tcl? ( - app-arch/unzip - >=dev-lang/tcl-8.6:0 - ) - test? ( - app-arch/unzip - >=dev-lang/tcl-8.6:0 - ) - tools? ( - app-arch/unzip - >=dev-lang/tcl-8.6:0 - )" + BDEPEND="app-arch/unzip + >=dev-lang/tcl-8.6:0" fi RDEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}] icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] ) @@ -58,21 +44,11 @@ RDEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}] DEPEND="${RDEPEND} test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )" -full_archive() { - [[ "${PV}" == "9999" ]] || use tcl || use test || use tools -} - -pkg_setup() { - if [[ "${PV}" == "9999" ]]; then - S="${WORKDIR}/${PN}" - else - if full_archive; then - S="${WORKDIR}/${PN}-src-${SRC_PV}" - else - S="${WORKDIR}/${PN}-autoconf-${SRC_PV}" - fi - fi -} +if [[ "${PV}" == "9999" ]]; then + S="${WORKDIR}/${PN}" +else + S="${WORKDIR}/${PN}-src-${SRC_PV}" +fi src_unpack() { if [[ "${PV}" == "9999" ]]; then @@ -123,30 +99,14 @@ src_unpack() { } src_prepare() { - if full_archive; then - eapply "${FILESDIR}/${PN}-3.31.0-full_archive-build.patch" - eapply "${FILESDIR}/${PN}-3.31.1-full_archive-architectures.patch" - eapply "${FILESDIR}/${PN}-3.31.1-full_archive-security_fixes.patch" + eapply "${FILESDIR}/"${PN}-3.32.1-full_archive-build_{1,2}.patch + eapply "${FILESDIR}/"${PN}-3.32.3-backports_{1,2,3}.patch - eapply_user + eapply_user - # Fix AC_CHECK_FUNCS. - # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html - sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac || die "sed failed" - else - eapply "${FILESDIR}/${PN}-3.25.0-nonfull_archive-build.patch" - eapply "${FILESDIR}/${PN}-3.31.1-nonfull_archive-architectures.patch" - eapply "${FILESDIR}/${PN}-3.31.1-nonfull_archive-security_fixes.patch" - - eapply_user - - # Fix AC_CHECK_FUNCS. - # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html - sed \ - -e "s/AC_CHECK_FUNCS(\[fdatasync.*/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" \ - -e "/AC_CHECK_FUNCS(posix_fallocate)/d" \ - -i configure.ac || die "sed failed" - fi + # Fix AC_CHECK_FUNCS. + # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html + sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac || die "sed failed" eautoreconf @@ -158,23 +118,24 @@ multilib_src_configure() { local options=() options+=( - --enable-$(full_archive && echo load-extension || echo dynamic-extensions) + --enable-load-extension --enable-threadsafe ) - if ! full_archive; then - options+=(--disable-static-shell) - fi # Support detection of misuse of SQLite API. # https://sqlite.org/compile.html#enable_api_armor append-cppflags -DSQLITE_ENABLE_API_ARMOR + # Support bytecode and tables_used virtual tables. + # https://sqlite.org/bytecodevtab.html + append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB + # Support column metadata functions. # https://sqlite.org/c3ref/column_database_name.html append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA # Support sqlite_dbpage virtual table. - # https://sqlite.org/compile.html#enable_dbpage_vtab + # https://sqlite.org/dbpage.html append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB # Support dbstat virtual table. @@ -182,7 +143,6 @@ multilib_src_configure() { append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB # Support sqlite3_serialize() and sqlite3_deserialize() functions. - # https://sqlite.org/compile.html#enable_deserialize # https://sqlite.org/c3ref/serialize.html # https://sqlite.org/c3ref/deserialize.html append-cppflags -DSQLITE_ENABLE_DESERIALIZE @@ -251,7 +211,8 @@ multilib_src_configure() { append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY # Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements. - # https://sqlite.org/compile.html#enable_update_delete_limit + # https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses + # https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT # Support soundex() function. @@ -263,26 +224,14 @@ multilib_src_configure() { append-cppflags -DSQLITE_USE_URI # debug USE flag. - if full_archive; then - options+=($(use_enable debug)) - else - if use debug; then - append-cppflags -DSQLITE_DEBUG - else - append-cppflags -DNDEBUG - fi - fi + options+=($(use_enable debug)) # icu USE flag. if use icu; then # Support ICU extension. # https://sqlite.org/compile.html#enable_icu append-cppflags -DSQLITE_ENABLE_ICU - if full_archive; then - sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" - else - sed -e "s/^LIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" - fi + sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" fi # readline USE flag. @@ -290,8 +239,8 @@ multilib_src_configure() { --disable-editline $(use_enable readline) ) - if full_archive && use readline; then - options+=(--with-readline-inc="-I${EPREFIX}/usr/include/readline") + if use readline; then + options+=(--with-readline-inc="-I${ESYSROOT}/usr/include/readline") fi # secure-delete USE flag. @@ -305,9 +254,7 @@ multilib_src_configure() { options+=($(use_enable static-libs static)) # tcl, test, tools USE flags. - if full_archive; then - options+=(--enable-tcl) - fi + options+=(--enable-tcl) if [[ "${CHOST}" == *-mint* ]]; then append-cppflags -DSQLITE_OMIT_WAL diff --git a/dev-db/sqlite/sqlite-3.32.3.ebuild b/dev-db/sqlite/sqlite-3.32.3.ebuild new file mode 100644 index 000000000000..fd258a4bd4c0 --- /dev/null +++ b/dev-db/sqlite/sqlite-3.32.3.ebuild @@ -0,0 +1,340 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit autotools flag-o-matic multilib-minimal toolchain-funcs + +if [[ "${PV}" != "9999" ]]; then + SRC_PV="$(printf "%u%02u%02u%02u" $(ver_rs 1- " "))" + DOC_PV="${SRC_PV}" + # DOC_PV="$(printf "%u%02u%02u00" $(ver_rs 1-3 " "))" +fi + +DESCRIPTION="SQL database engine" +HOMEPAGE="https://sqlite.org/" +if [[ "${PV}" == "9999" ]]; then + SRC_URI="" +else + SRC_URI="https://sqlite.org/2020/${PN}-src-${SRC_PV}.zip + doc? ( https://sqlite.org/2020/${PN}-doc-${DOC_PV}.zip )" +fi + +LICENSE="public-domain" +SLOT="3" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="debug doc icu +readline secure-delete static-libs tcl test tools" +if [[ "${PV}" == "9999" ]]; then + PROPERTIES="live" +fi +RESTRICT="!test? ( test )" + +if [[ "${PV}" == "9999" ]]; then + BDEPEND=">=dev-lang/tcl-8.6:0 + dev-vcs/fossil" +else + BDEPEND="app-arch/unzip + >=dev-lang/tcl-8.6:0" +fi +RDEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}] + icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] ) + readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] ) + tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] ) + tools? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )" +DEPEND="${RDEPEND} + test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )" + +if [[ "${PV}" == "9999" ]]; then + S="${WORKDIR}/${PN}" +else + S="${WORKDIR}/${PN}-src-${SRC_PV}" +fi + +src_unpack() { + if [[ "${PV}" == "9999" ]]; then + local distdir="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}" + addwrite "${distdir}" + mkdir -p "${distdir}/fossil-src/${PN}" || die + + mkdir "${WORKDIR}/${PN}" || die + pushd "${WORKDIR}/${PN}" > /dev/null || die + if [[ ! -f "${distdir}/fossil-src/${PN}/sqlite.fossil" ]]; then + einfo fossil clone --verbose https://sqlite.org/src sqlite.fossil + fossil clone --verbose https://sqlite.org/src sqlite.fossil || die + echo + else + cp -p "${distdir}/fossil-src/${PN}/sqlite.fossil" . || die + einfo fossil pull --repository sqlite.fossil --verbose https://sqlite.org/src + fossil pull --repository sqlite.fossil --verbose https://sqlite.org/src || die + echo + fi + cp -p sqlite.fossil "${distdir}/fossil-src/${PN}" || die + einfo fossil open --quiet sqlite.fossil + fossil open --quiet sqlite.fossil || die + echo + popd > /dev/null || die + + if use doc; then + mkdir "${WORKDIR}/${PN}-doc" || die + pushd "${WORKDIR}/${PN}-doc" > /dev/null || die + if [[ ! -f "${distdir}/fossil-src/${PN}/sqlite-doc.fossil" ]]; then + einfo fossil clone --verbose https://sqlite.org/docsrc sqlite-doc.fossil + fossil clone --verbose https://sqlite.org/docsrc sqlite-doc.fossil || die + echo + else + cp -p "${distdir}/fossil-src/${PN}/sqlite-doc.fossil" . || die + einfo fossil pull --repository sqlite-doc.fossil --verbose https://sqlite.org/docsrc + fossil pull --repository sqlite-doc.fossil --verbose https://sqlite.org/docsrc || die + echo + fi + cp -p sqlite-doc.fossil "${distdir}/fossil-src/${PN}" || die + einfo fossil open --quiet sqlite-doc.fossil + fossil open --quiet sqlite-doc.fossil || die + echo + popd > /dev/null || die + fi + else + default + fi +} + +src_prepare() { + eapply "${FILESDIR}/${PN}-3.32.1-full_archive-build_1.patch" + eapply "${FILESDIR}/${PN}-3.32.1-full_archive-build_2.patch" + eapply "${FILESDIR}/${PN}-3.32.3-security_fixes.patch" + + eapply_user + + # Fix AC_CHECK_FUNCS. + # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html + sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac || die "sed failed" + + eautoreconf + + multilib_copy_sources +} + +multilib_src_configure() { + local -x CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" + local options=() + + options+=( + --enable-load-extension + --enable-threadsafe + ) + + # Support detection of misuse of SQLite API. + # https://sqlite.org/compile.html#enable_api_armor + append-cppflags -DSQLITE_ENABLE_API_ARMOR + + # Support bytecode and tables_used virtual tables. + # https://sqlite.org/bytecodevtab.html + append-cppflags -DSQLITE_ENABLE_BYTECODE_VTAB + + # Support column metadata functions. + # https://sqlite.org/c3ref/column_database_name.html + append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA + + # Support sqlite_dbpage virtual table. + # https://sqlite.org/dbpage.html + append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB + + # Support dbstat virtual table. + # https://sqlite.org/dbstat.html + append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB + + # Support sqlite3_serialize() and sqlite3_deserialize() functions. + # https://sqlite.org/c3ref/serialize.html + # https://sqlite.org/c3ref/deserialize.html + append-cppflags -DSQLITE_ENABLE_DESERIALIZE + + # Support comments in output of EXPLAIN. + # https://sqlite.org/compile.html#enable_explain_comments + append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS + + # Support Full-Text Search versions 3, 4 and 5. + # https://sqlite.org/fts3.html + # https://sqlite.org/fts5.html + append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 + options+=(--enable-fts5) + + # Support hidden columns. + append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS + + # Support JSON1 extension. + # https://sqlite.org/json1.html + append-cppflags -DSQLITE_ENABLE_JSON1 + + # Support memsys5 memory allocator. + # https://sqlite.org/malloc.html#memsys5 + append-cppflags -DSQLITE_ENABLE_MEMSYS5 + + # Support sqlite3_normalized_sql() function. + # https://sqlite.org/c3ref/expanded_sql.html + append-cppflags -DSQLITE_ENABLE_NORMALIZE + + # Support sqlite_offset() function. + # https://sqlite.org/lang_corefunc.html#sqlite_offset + append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC + + # Support pre-update hook functions. + # https://sqlite.org/c3ref/preupdate_count.html + append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK + + # Support Resumable Bulk Update extension. + # https://sqlite.org/rbu.html + append-cppflags -DSQLITE_ENABLE_RBU + + # Support R*Trees. + # https://sqlite.org/rtree.html + # https://sqlite.org/geopoly.html + append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY + + # Support scan status functions. + # https://sqlite.org/c3ref/stmt_scanstatus.html + # https://sqlite.org/c3ref/stmt_scanstatus_reset.html + append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS + + # Support sqlite_stmt virtual table. + # https://sqlite.org/stmt.html + append-cppflags -DSQLITE_ENABLE_STMTVTAB + + # Support Session extension. + # https://sqlite.org/sessionintro.html + options+=(--enable-session) + + # Support unknown() function. + # https://sqlite.org/compile.html#enable_unknown_sql_function + append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION + + # Support unlock notification. + # https://sqlite.org/unlock_notify.html + append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY + + # Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements. + # https://sqlite.org/lang_delete.html#optional_limit_and_order_by_clauses + # https://sqlite.org/lang_update.html#optional_limit_and_order_by_clauses + append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT + + # Support soundex() function. + # https://sqlite.org/lang_corefunc.html#soundex + append-cppflags -DSQLITE_SOUNDEX + + # Support URI filenames. + # https://sqlite.org/uri.html + append-cppflags -DSQLITE_USE_URI + + # debug USE flag. + options+=($(use_enable debug)) + + # icu USE flag. + if use icu; then + # Support ICU extension. + # https://sqlite.org/compile.html#enable_icu + append-cppflags -DSQLITE_ENABLE_ICU + sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" + fi + + # readline USE flag. + options+=( + --disable-editline + $(use_enable readline) + ) + if use readline; then + options+=(--with-readline-inc="-I${ESYSROOT}/usr/include/readline") + fi + + # secure-delete USE flag. + if use secure-delete; then + # Enable secure_delete pragma by default. + # https://sqlite.org/pragma.html#pragma_secure_delete + append-cppflags -DSQLITE_SECURE_DELETE + fi + + # static-libs USE flag. + options+=($(use_enable static-libs static)) + + # tcl, test, tools USE flags. + options+=(--enable-tcl) + + if [[ "${CHOST}" == *-mint* ]]; then + append-cppflags -DSQLITE_OMIT_WAL + fi + + if [[ "${ABI}" == "x86" ]]; then + if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then + append-cflags -mfpmath=sse + else + append-cflags -ffloat-store + fi + fi + + econf "${options[@]}" +} + +multilib_src_compile() { + emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" + + if use tools && multilib_is_native_abi; then + emake changeset dbdump dbhash dbtotxt index_usage rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh + fi +} + +multilib_src_test() { + if [[ "${EUID}" -eq 0 ]]; then + ewarn "Skipping tests due to root permissions" + return + fi + + local -x SQLITE_HISTORY="${T}/sqlite_history_${ABI}" + + emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test) +} + +multilib_src_install() { + emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install + + if use tools && multilib_is_native_abi; then + install_tool() { + if [[ -f ".libs/${1}" ]]; then + newbin ".libs/${1}" "${2}" + else + newbin "${1}" "${2}" + fi + } + + install_tool changeset sqlite3-changeset + install_tool dbdump sqlite3-db-dump + install_tool dbhash sqlite3-db-hash + install_tool dbtotxt sqlite3-db-to-txt + install_tool index_usage sqlite3-index-usage + install_tool rbu sqlite3-rbu + install_tool scrub sqlite3-scrub + install_tool showdb sqlite3-show-db + install_tool showjournal sqlite3-show-journal + install_tool showshm sqlite3-show-shm + install_tool showstat4 sqlite3-show-stat4 + install_tool showwal sqlite3-show-wal + install_tool sqldiff sqlite3-diff + install_tool sqlite3_analyzer sqlite3-analyzer + install_tool sqlite3_checker sqlite3-checker + install_tool sqlite3_expert sqlite3-expert + install_tool sqltclsh sqlite3-tclsh + + unset -f install_tool + fi +} + +multilib_src_install_all() { + find "${D}" -name "*.la" -type f -delete || die + + doman sqlite3.1 + + if use doc; then + rm "${WORKDIR}/${PN}-doc-${DOC_PV}/"*.{db,txt} || die + ( + docinto html + dodoc -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"* + ) + fi +} diff --git a/dev-db/tokumx/Manifest b/dev-db/tokumx/Manifest index 9f7361965058..7b831550dd15 100644 --- a/dev-db/tokumx/Manifest +++ b/dev-db/tokumx/Manifest @@ -10,4 +10,4 @@ DIST tokumx-enterprise-2.0.2.tar.gz 16756175 BLAKE2B 8caaf9f12db713192ab1eaa3128 DIST tokumx-git-tag-1.5.0.tar.bz2 13059584 BLAKE2B f662d72c8eb65551c074f11e36dac0fa68f5a0b86fe9654e49160c42511576146e9194c3d3cd607c8fba4272992c35f4268ad3db7032ae9dfb7c9417f954e8c8 SHA512 ba19237db7d3dcbd3ac07b8cc4860549830fa065fa4d26cbae685274524cd5b89f671d5f126ec25bee605c99929ce0436bb2ac32d67efdbb8dd6d7526d3f1c24 EBUILD tokumx-1.5.0-r2.ebuild 2011 BLAKE2B 35fba61eced8fd15f074896dccd934927182afd5333981aad798630b938fa7e450ce03bfcb25fc43a61e5fb145759513a19efb30adc5a5a0f1aa7d2357dfca69 SHA512 d21efce4a337030babacf95f856148e479717bcad25d247de4105556aaa53780a08af3f121fc85c9c0ccdaa77d6054294b1e66765e5b8c51e27049236121162a EBUILD tokumx-2.0.2-r2.ebuild 2207 BLAKE2B acb8641fff305c13a1d1f6d1520d6b15b3c324841885dc369a46d1502ecdec929a8b13bb39e541b45f7c2425985a4be845fab037d3ec787ae6c95a842435d957 SHA512 1711ad11b86d467c6c5add5987bbfe0a47d1df3ce378f2b7c6a87f4105f19d21ecd5313698bf4471114720fe80551cb168b1d2deb9017d4e8a0525e2c5120a28 -MISC metadata.xml 441 BLAKE2B 900ea406bc2cdac6196b49607274989e6b290d56b6a02f83949cdbb20fbd1960193a48053d3c963a852170ffb11736bda77eb9a843506be89d256fc48a1a97db SHA512 5d2c7f880ced8d3d9d8c8f9daef5d0f975f76d9db58000c0f2cf80ee818b35346973e2bc30f2b39d646845a4045d6389a929e76e1d2a3724f7330e1ab5901277 +MISC metadata.xml 333 BLAKE2B 63e2cc3741856889c9b936978cded64f221c5add3b88bc8ce4eabcec720953a59efa960986af3faf199c700db33c7ccb7c09cc0642f87dd7d55cca4631e21569 SHA512 f3df4559b5415a478fc8e721ed1b1be21ab8255d7f74b4db61b7dd5058061dd929997d3cbb94b1a5b61059f6b2244a13aec4bd13ef88a9a96f90acdaeefbb946 diff --git a/dev-db/tokumx/metadata.xml b/dev-db/tokumx/metadata.xml index ffbb5d9f2c31..aecb193ea796 100644 --- a/dev-db/tokumx/metadata.xml +++ b/dev-db/tokumx/metadata.xml @@ -5,10 +5,6 @@ <email>chainsaw@gentoo.org</email> <name>Tony Vroon</name> </maintainer> - <maintainer type="person"> - <email>ultrabug@gentoo.org</email> - <name>Alexys Jacob</name> - </maintainer> <use> <flag name="pax_kernel">Apply patch needed for hardened kernels</flag> </use> |