diff options
Diffstat (limited to 'dev-db')
77 files changed, 4922 insertions, 3253 deletions
diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz Binary files differindex e548c6df0995..5bdcb46dc249 100644 --- a/dev-db/Manifest.gz +++ b/dev-db/Manifest.gz diff --git a/dev-db/aerospike-server-community/Manifest b/dev-db/aerospike-server-community/Manifest index cab83d5e5bb1..a6713aa520cd 100644 --- a/dev-db/aerospike-server-community/Manifest +++ b/dev-db/aerospike-server-community/Manifest @@ -18,5 +18,5 @@ EBUILD aerospike-server-community-3.16.0.6.ebuild 1638 BLAKE2B 1ce48fbefbc7b5232 EBUILD aerospike-server-community-4.0.0.1.ebuild 1638 BLAKE2B 7572376d50c39edcb444d35b3b006c3f79d41c1138cd22d221182ccdf549dabf26c7ae876c0128dda245fbeb2c3ca6a2d96672d816147a591ce60b4d9ace09b4 SHA512 8e3ccb10b5daf85fab5e23412884cbcfc4db93a0cf2e49d55f5948c59dfabfeafba61f3e8f8aa82603764bc7a3f232458a96147b2987c33a767d0ce9f29f26ac EBUILD aerospike-server-community-4.0.0.4.ebuild 1638 BLAKE2B 7572376d50c39edcb444d35b3b006c3f79d41c1138cd22d221182ccdf549dabf26c7ae876c0128dda245fbeb2c3ca6a2d96672d816147a591ce60b4d9ace09b4 SHA512 8e3ccb10b5daf85fab5e23412884cbcfc4db93a0cf2e49d55f5948c59dfabfeafba61f3e8f8aa82603764bc7a3f232458a96147b2987c33a767d0ce9f29f26ac EBUILD aerospike-server-community-4.1.0.1.ebuild 1638 BLAKE2B 751741ae79b6700d6233106c6d47daab9ed2d998fafa1162ad19612a4e2ad6865d7a06f698d56aaf52f61ad06203bd6551657a68c0c6d7dd6c027f3a8cd0fd96 SHA512 44c44e9aa4781b43d74d2a2e397c724916ee02da62899525436d6b8eb0b2ac20a9507f3cb2b24cadcf4168859a3b61b6e1dc78ed2c9b9c3bf104f17f10c359c3 -EBUILD aerospike-server-community-9999.ebuild 1937 BLAKE2B c94acd0bacf3d04f0cfe679ebd53202e65cbd85b3874c8f91fa06b761f4b8318e1e21760fc4651e10b06d07df63094df5ee16b6594519c62bae9d608ef60ecfe SHA512 5eb93fafa4380da81697360accd88c4c6c5c40588b5ee7fee41b678dbefada15aa518e7f80ccc4da9c98e98f5715c46011cf4a300733b1212300d7a3b683cb1c +EBUILD aerospike-server-community-9999.ebuild 1921 BLAKE2B 7ee8da5034709fe63c47aa0f6caaf426be2184d68b6f5403261173e4f56fe87ded940b35a65e6994154da9a2ba2c7f023c4c65789a5e12ad1238cce2d3950572 SHA512 3c034f9f0498c74317d8996fca9f022b3eb7d9bca05bea1903e10596a632165a4f1e7ca516cbbf97e24cd8d1b6b89812ae48ec0ee5e448b1436384e3c18fe3fa MISC metadata.xml 281 BLAKE2B c83365afa5d87cf5b8d65ed299e16797d54a0c5f8632ad69c7449edcd52b32f150bc7f933a9e3662d45c37fc64dfcd97b09b3d265a328cdc3ca6cc609a2311f2 SHA512 d3a33c339bb7409528ddca6187790b842150e273bd7630a610c0be08be50e26278ed7b4d42305bfd1a796544c6be251301c938b15d70e609b9d91bd22161aee6 diff --git a/dev-db/aerospike-server-community/aerospike-server-community-9999.ebuild b/dev-db/aerospike-server-community/aerospike-server-community-9999.ebuild index 4c485634ff5c..0ff1b892d746 100644 --- a/dev-db/aerospike-server-community/aerospike-server-community-9999.ebuild +++ b/dev-db/aerospike-server-community/aerospike-server-community-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=5 @@ -14,7 +14,7 @@ SLOT="0" KEYWORDS="" IUSE="+tools" -RDEPEND="app-crypt/gcr +RDEPEND=" dev-libs/jansson dev-libs/jemalloc" DEPEND="${RDEPEND}" diff --git a/dev-db/kdb/Manifest b/dev-db/kdb/Manifest index 72af1b6f2b2c..61aa7eb55935 100644 --- a/dev-db/kdb/Manifest +++ b/dev-db/kdb/Manifest @@ -2,6 +2,5 @@ AUX kdb-3.1.0-crashfix.patch 1137 BLAKE2B e7ea0a921390ee4e6011f7db579de8acc9a8dc AUX kdb-3.1.0-fix-loading-objdata.patch 1157 BLAKE2B 49e71094b66790a1a7a40ca7c75190ca2c2cc5d6403737c6cfaf89af55e8fb363a80f8ee6ca19b01f2b3c8706caed0dcda5a52dc64c4d9b7c9ea02400a642d86 SHA512 423f817358b1ed7f74dc9dd565b51a3089212d974f3dee7efad4ad2393640f8c23d30ba6d8c1213669beb6e5182978935fe7548a5a7a21e99c8b7b6fbfce9f6f AUX kdb-3.1.0-postgresql-11.patch 1087 BLAKE2B 0799a1ac60b2aae5129e6a442f41608a0f4dc76f24315a2add9bcc395a7a4bc1eef4536a345a741bf248f77e7d10a92e3f3108c2e7a180eec7ee2b4c2286d454 SHA512 9986884f2375f3a6bf18855b7a05620a4cbb0e280148ead9ffb390e71270d4b0bbafeb407495ed78216c225ee0760f233d3fb1ceeb39c35ea3f9455f14cdec76 DIST kdb-3.1.0.tar.xz 543780 BLAKE2B d874765758e245fc939bf88312b064d2dcff3460b2c9e968277e0ce7b8821314273cb3086e821645f9d7605de1a4268e25d11c40f8bf847a8dc98c410bd4d9eb SHA512 f94f1ff87cb5133570f7e9b0ab48202a516eabe1c3f2ed750cd1794800d9b9936bbd62e1479ca6877c293f6473b7f4e2d4a144b928b5bc0f228af327131b43c2 -EBUILD kdb-3.1.0-r1.ebuild 1051 BLAKE2B fdb334e923fe982490712bb019e3318a1b5a91d2e2aae531db58dcc0c95c05f602f9372f4157215a51922a7859656a5aafd91d7b2f06a87de1bff32fbb616675 SHA512 b0c3b31c9c35bd8cc27d35763baac99952753685beafca43a20c21e528965471f8e01ef7b72aa021a20b2ee166a01a5887d497fac07875dd0811e450503db737 -EBUILD kdb-3.1.0-r2.ebuild 1222 BLAKE2B 66d7fae401dc74d7c4acba16615acca40aa12bfc36efa336296b6d0bc6c7034fbb8c351c19a232f07339e43a6cd813bcacbbea033d761ecf393295747d6835ac SHA512 8e84a7fd7227815fabc512019cfb0099a4b609b8a9d95de5f5d6252a5296e16bd4e8d467167a9ca0002df4d4816b26eef22b9e3d9a63deb2b5d46affc7952de0 +EBUILD kdb-3.1.0-r2.ebuild 1220 BLAKE2B 310d1af5bad0c14b4fe0f0aa1429df87ebcd9410463c19cfc5e93a300bb6400d55bbfa445149772de61401a5be797ef2e643c04e50b1321952c51bd84395085c SHA512 9704432dd43ecd8b2881df1880dc1f7686dbc4b1e833795412b651cbe85b74a2d9689d8ff8b08a516574e4bdff4c5a7027551909d028d4a7a61a337e1d753fa2 MISC metadata.xml 249 BLAKE2B ad415db89e5dee1627aa77f44ded9d4e1e5b8217d06c7ca25bbaa3fe92ce67c2b1090957c45a821b407d7927e5af798498aa6a5b903895ee1af8ee20a446c7f7 SHA512 76a5a340b13f0053ca3c5e94ed24380ea8d29b45ac8655419e22eaadb1e4a827c04d2e7e36b65145c4964e6526f656618fc6ac144e277ef53cb7373e6239e3c3 diff --git a/dev-db/kdb/kdb-3.1.0-r1.ebuild b/dev-db/kdb/kdb-3.1.0-r1.ebuild deleted file mode 100644 index d4fa79db7399..000000000000 --- a/dev-db/kdb/kdb-3.1.0-r1.ebuild +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 python3_6 ) - -inherit kde5 python-any-r1 - -DESCRIPTION="Database connectivity and creation framework for various vendors" -[[ ${KDE_BUILD_TYPE} != live ]] && SRC_URI="mirror://kde/stable/${PN}/src/${P}.tar.xz" - -LICENSE="LGPL-2+" -SLOT="5/4" -KEYWORDS="amd64 x86" -IUSE="debug mysql postgres sqlite" - -RDEPEND=" - $(add_frameworks_dep kcoreaddons) - $(add_qt_dep qtgui) - $(add_qt_dep qtwidgets) - $(add_qt_dep qtxml) - dev-libs/icu:= - mysql? ( virtual/mysql ) - postgres? ( - $(add_qt_dep qtnetwork) - dev-db/postgresql:* - ) - sqlite? ( dev-db/sqlite:3 ) -" -DEPEND="${RDEPEND} - ${PYTHON_DEPS} - dev-qt/linguist-tools:5 -" - -pkg_setup() { - python-any-r1_pkg_setup - kde5_pkg_setup -} - -src_configure() { - local mycmakeargs=( - -DKDB_DEBUG_GUI=$(usex debug) - $(cmake-utils_use_find_package mysql MySQL) - $(cmake-utils_use_find_package postgres PostgreSQL) - $(cmake-utils_use_find_package sqlite Sqlite) - ) - - kde5_src_configure -} diff --git a/dev-db/kdb/kdb-3.1.0-r2.ebuild b/dev-db/kdb/kdb-3.1.0-r2.ebuild index e39c39e70d8c..0ce2b2aa7e9e 100644 --- a/dev-db/kdb/kdb-3.1.0-r2.ebuild +++ b/dev-db/kdb/kdb-3.1.0-r2.ebuild @@ -12,7 +12,7 @@ DESCRIPTION="Database connectivity and creation framework for various vendors" LICENSE="LGPL-2+" SLOT="5/4" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="debug mysql postgres sqlite" RDEPEND=" diff --git a/dev-db/lmdb/Manifest b/dev-db/lmdb/Manifest index febaf374125e..ca6d8b6970c6 100644 --- a/dev-db/lmdb/Manifest +++ b/dev-db/lmdb/Manifest @@ -6,5 +6,5 @@ DIST LMDB_0.9.22.tar.gz 143468 BLAKE2B 125b447344cc601ad8af1c3cf0ba4d05474c8e7a4 EBUILD lmdb-0.9.18.ebuild 1239 BLAKE2B cf75faf2a5fe6fd306eb7a28c2372a3bcb3a4395fb26f80e4beb9e99799a7c2d86755b2fe5d7172a24fc40d00519ee4a70cdd179f51f836853950311ae8d2549 SHA512 18b2c236625e0fd311521148dfd029a74c428459ab61847105d9e27cf2a602bf107af9147d11ada60a1efd972e29ea26ea59f7d7bd9848cf2dc145a05967fff9 EBUILD lmdb-0.9.19.ebuild 1849 BLAKE2B d9e235c2aa7ff06d2b6cdf6b6e29544a02d1aaa7ae7248afdf661c3ba4ea0ddbb0e7ed9ec7796e73b1865a430a2a8380236a3206e54a8eca054ba95ff9e1d820 SHA512 791cca180d0d429d64f197a627dd8d94c48e8502d38011be358fc901e521cdb3996653b2cc0c519b9e1e5a58815134e99e64f09d50bcc72444eb2990ac2879ad EBUILD lmdb-0.9.21-r1.ebuild 1960 BLAKE2B b2686f3859333a1f60b4e1053e40e7214ed3196e35b88956ada044f6655c7ae3a472e999db56d08bfeeb3d6520853b1091dc6d8a321827e67903c87e8aebbe15 SHA512 288aec449c08655fe4572451f2960cd6c489158198fc787cb5ec3bd489578995f651bd5d13c36924ef35c2497dd157ae46a78dc9b5e18b31f913753a2a8157bf -EBUILD lmdb-0.9.22.ebuild 2132 BLAKE2B 540bd12590489987c7c9815bc3b80cd8d4dd4ef211dfe77bbc8da8e4225863eccd818bad7e6746f91880677faef5e9609d60f2dd56e4af9c1b5ae5984c36f384 SHA512 b973454907d5b754b7cafde7422abfbaf7337d0b8f373183dda6ed433b7000354f0f44ee14968c90c69bb319c4b3a945f9d376efa7c69b864aa109dc33784be2 +EBUILD lmdb-0.9.22.ebuild 2130 BLAKE2B 2312bdfff558e5241c5afd70ceee42e766db99e6ae70b707c9d009a87c94f9422e8eed34dab9f9df2b5fc9845146c4650e901a5b3538f9fd75a3a9043d422e6c SHA512 de0b66a2f51abedd8ef5508eaa7ca2c3e293442005f4b1a46695edecda1a51c9b02237e9ed9d776d1f856b8d301164cff815514a488446cc2ec2af0952b260c2 MISC metadata.xml 540 BLAKE2B b064697aa562165a627cb1be8cce847c8046d10cf184a4563a632c43ebd1916ad866e843efd49ae5659e379f3695514005b9d601117719c9f48652dab48dcea8 SHA512 7ff1fddaca73c5d7b4a6a9ada9a7aad60e16c8c7063ad5cd9cf57301f504f6e0fe53bf568dec83abf522c2c099d2b3b2463619df17077ebaa3b39bd67bd738c4 diff --git a/dev-db/lmdb/lmdb-0.9.22.ebuild b/dev-db/lmdb/lmdb-0.9.22.ebuild index 92439d955578..3219ba9b0b51 100644 --- a/dev-db/lmdb/lmdb-0.9.22.ebuild +++ b/dev-db/lmdb/lmdb-0.9.22.ebuild @@ -10,7 +10,7 @@ SRC_URI="https://github.com/LMDB/lmdb/archive/LMDB_${PV}.tar.gz" LICENSE="OPENLDAP" SLOT="0/${PV}" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~sh ~sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" IUSE="static-libs" DEPEND="" diff --git a/dev-db/mariadb-connector-c/Manifest b/dev-db/mariadb-connector-c/Manifest index e0bce7b8587a..f94bd1350e00 100644 --- a/dev-db/mariadb-connector-c/Manifest +++ b/dev-db/mariadb-connector-c/Manifest @@ -1,6 +1,6 @@ AUX gentoo-layout-3.0.patch 311 BLAKE2B 4c2f0ae8aa53d605bcaf134274d3b549ec970b43cc68eed1ac71cf089c9fa32a1343d7ebfdf428e7f25032f5782aecfb86fb8f78528ffc708ab15dc7285a24e7 SHA512 4d5a48b4dd66aab04ba597b30e96b4601c6745acca21be1daf051ba6ce1e8fef1a0efa46d8e81da1ecdc893a8ee471bd8c7ed0c5436ee33b8b4f7cd18fdca1a5 AUX mariadb-connector-c-3.0.6-provide-pkconfig-file.patch 1838 BLAKE2B 454433d5815e818bb3cb08241b1629e7cb2e8c6b33d09e241db11cc7f18e73a8cbf40567fe47a613c420581f8487c39478bcbef22da4ba21b77a10f71e4b11ef SHA512 a3ec1a1702d2d5ae5ea6ef93e9bc7f01df548c65574b177a20e8b29694b078ebd67a409ed253467d1db38895e66285eaf73e604a507bfb09384bc3d15325cb60 DIST mariadb-connector-c-3.0.6-src.tar.gz 666819 BLAKE2B 7245c0e13e569454d1cc70e3579afcbd53c64a0a7e828012b38d73f7d737a81b4fdf0363bd1b156dae783806a51773dbceb2ea06621bd4a73773edb78a70249a SHA512 6a41efacff1840eb8ddd8b34d8894b51f260444c76a1344f9ac9b675fd8492d44716338e4c11594d80118b12d90f75430304282650bce0d5f64179df6cc14d8e -EBUILD mariadb-connector-c-3.0.6-r1.ebuild 2817 BLAKE2B a6096a7d9aa65984468bc171be778531a78d380fdb347c0377b9818f0637bb91a799c70572580aec6229aaefd084eb970fd62db98d92246c45dc0741a713209f SHA512 ef15674194ed80ed74ffb9a17e4ab6c2c347d1dd354606ba4a48ebf843439486548769d3c88c2d2eeb0348739ce00a75ddceba2bab7b309b538bb33923a57e9f +EBUILD mariadb-connector-c-3.0.6-r1.ebuild 2816 BLAKE2B 38450ea224a5f0e960abc65ebce37121ed02d1ec0d5bfc7c2d7a124c9ffd77f10090247493eb0c758b991e40cb8a845fe13355ba8e32b64bb2ca90fa957aca76 SHA512 f5670d8174889c3ccc8b7693cdd97d39c1c0d597d5980c6a5d15317662bffebea1e3b6573c438b076362c8c46649dedf8f285d90ac4f5ffb4eed4d4db82b0378 EBUILD mariadb-connector-c-9999.ebuild 2824 BLAKE2B aeac543f01595fe6995ca8fb59450cfa4381593f7c034beec8f344880bf092f17e40e84fa3fb1e64aa1f8cdb82751bc75916b9d817df6800bcc8a3532c334734 SHA512 9c693876ede71b1ac59be9b10276e193b25497ee5c4411a6260449f31c73f1e7e28310574aa9e97f889f4f0382c167c188d0b3cbf03d2084aac73a1d2e5d2a90 MISC metadata.xml 324 BLAKE2B fab5394015cd337683f65a257556ed0f15e35826bb0a6ce75a7033cd5931455ff2bed527064d698e9b3165f2cfcaff8a4bdfcad0b830482ae2e4389a79d529fb SHA512 1fe9e5d5d9f8e817ce49117fbcc6a6d706a090752606647496f2b7a25de51bfb641a408ff0cdaf626d83eb5c314d2e28c3f29532307d942cb41498edf4b44aa6 diff --git a/dev-db/mariadb-connector-c/mariadb-connector-c-3.0.6-r1.ebuild b/dev-db/mariadb-connector-c/mariadb-connector-c-3.0.6-r1.ebuild index a72bd4c23537..eedda9285fb1 100644 --- a/dev-db/mariadb-connector-c/mariadb-connector-c-3.0.6-r1.ebuild +++ b/dev-db/mariadb-connector-c/mariadb-connector-c-3.0.6-r1.ebuild @@ -12,7 +12,7 @@ else MY_PV=${PV/_b/-b} SRC_URI="https://downloads.mariadb.org/f/${MY_PN}-${PV%_beta}/${PN}-${MY_PV}-src.tar.gz?serve -> ${P}-src.tar.gz" S="${WORKDIR%/}/${PN}-${MY_PV}-src" - KEYWORDS="amd64 ~arm ~arm64 hppa ia64 ppc64 s390 sparc x86" + KEYWORDS="amd64 arm ~arm64 hppa ia64 ppc64 s390 sparc x86" fi inherit cmake-utils multilib-minimal toolchain-funcs ${VCS_INHERIT} diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest index 81c9c660ac32..569cf32d1e4d 100644 --- a/dev-db/mariadb/Manifest +++ b/dev-db/mariadb/Manifest @@ -6,22 +6,19 @@ AUX my.cnf-5.6-r1 4597 BLAKE2B ae7eb874421819b8ce8e3c21e00f21bba1fb508a8d0ea4825 AUX my.cnf.distro-client 637 BLAKE2B b9b6b01195a4e2523a0a1cb7efdf5c35579d394b12b7426cc7f2e65485d8c5bd54622b096be12fb9c1b252fc7311278d79ff922ba9332074e4f06419c5dba68e SHA512 85c0b0eb4281b398ca7c010042d69b4306ccebae9838bf7a1ee53c0d6bb12b20f95bcbd3bb359b107b018d456d7bcae8d168757ff34028ce69357ce3f3fbd54e AUX my.cnf.distro-server 998 BLAKE2B a7f2977a96d394cb7e24d72d82a1c21095c4b55607e5ca4a2c10619278796c328931a5ec076c15b60afef370c2e5da02ca0c628f330e876b4d2c984eeb54df5f SHA512 d9ab6f7fdfe08e6c242f84410ec680ef6aa6778c4bd55fee67c644e1a7d997446d8ef2129be6fc9833d16fe40cf17e09cdf0cf015f06bb145bbf9cfecb51e882 DIST mariadb-10.0.35.tar.gz 66551252 BLAKE2B 69cc9c78f7c47a4b1760940cb0f395b4053fcc47c1087a0c2af873d4a998ee60915e1f4e64f7fe6474c7c1fa3dabe48a3b6621c67893b20526f01e56b0542e7a SHA512 01fc8d48be3f3847bb222835436ab938c6c5b5ac8ba6cc87b3b6d2a2201b7ab4b152dc1f7d9749c89de90097d50052714ac08aafbbb117fffac32bfb47e74779 -DIST mariadb-10.0.36.tar.gz 66577105 BLAKE2B 6165c641cf4a8d13e53aa8391fe146edb476d6fe80aebd0c0698543595f2060a3f7c834cbfd8d7e7c50697e7be1010ae833310f2756da84b11c87224c940df50 SHA512 aa26e43775f4f76754c79c960b5e96d8ae3e28ab922d7abbb5c23867a2705085fe57830addc79eed3c810329eca344eaf1c09dcdb8b73d9d73c85090386984c0 +DIST mariadb-10.0.37.tar.gz 64728382 BLAKE2B 3d794633cc400013be05c326681f11f8b27c7d6758b43f357ca93976a75ff931f6f6d205510b5df305c6f487485864d346e4fa14383be32dafcf2b8756eb045a SHA512 c3ba749f519cce3bb63fec6ee6819ad931f72d54258d4b7700c515cfeb137453271a408a9a353bf78715fe66a0c06539bdbf15f1c556a7b89a5c01af84f7fd49 DIST mariadb-10.1.34.tar.gz 65298561 BLAKE2B 3f3af7b8bad68a08f69befd3f3e7bd88b8cf058feb20309dc2cdbd16bf5d015c2cb0d1d9d2fdf831f6183c0b9bb25405124c24b2940467489e05d42c57f7b0a6 SHA512 3c18359006b340dcf724d1fce36dcc19916c42492269a7545e0726172b8f7b84860e10725c74e4458dae34572395f1650bf17838e9058544e0a6cfcbffd54f6d -DIST mariadb-10.1.35.tar.gz 65324620 BLAKE2B 659ad232a1f2f1cfd74ba8aa9b9f67adc6f4a5dc82e5d8b16011dba83155b1223138df273c935c71021f05068cd8fd14538e935847a36640fc4218b86155698c SHA512 88e6049f3bbc3aa047e108f91a2c4f335758e80f25bfa2974b5f8c2e13f5758824d7835dece021b515c531e5641b9998e4de92256ad4b47b7f694da99bd471aa -DIST mariadb-10.1.36.tar.gz 63366949 BLAKE2B ef2831832eff5283fbb62500639921c7680c987ca7627bd75125b8f32e798b70ce5ac551979bf5b60bdabc6fededf38befae9939720c88cc4305084eeb32281a SHA512 44eb8565f068292511c8109c8b265472ba0884377644a7ef8a4a19793c8c5e75faee0b3de7a3c276589a074ddd64c9658e27807d68b0002e2354c1583b9bbf76 -DIST mariadb-10.2.17.tar.gz 73409162 BLAKE2B f13d359a4a061ae2ef2fb4dde53ed07dac1735f9577ef67e396a51ac74acec71acf7a0ab07b4e0f84d70c8f7bcacbdc61933957c4936c99d5038f433296af8a3 SHA512 9714f786abde43b418d8b5accbbd485de213b90db18c879625ce30777526d28fdafd3bdb43922ab6872b300cfa06895b5b3fad5eb0c0e804ad66a1fd1793a141 -DIST mariadb-10.3.8.tar.gz 72152953 BLAKE2B 4742be1d533c7958b61efd430411a1e7390faffc25ceccc09c736647fb263dc3797064725335abf17f9362c7a92293ea5fc72bc2ddd70636f83c25e35c4c83aa SHA512 e1b61900a06fa57992a2f8516771f5fb98799ed5a4bbe74f858c0fe87b907cc6b600942d6fe97b6064cb39b610a7213cb3bc9634a336f9ebffe11dfe67746422 -DIST mariadb-10.3.9.tar.gz 72190007 BLAKE2B c026e5d68855e8f48c78cbda78288b645edfcffd02b2f9870526d06e1e09b52b709a29dcc0d51d073ab59f42ce5f007effdb7102d66fceec07ac195f96064ad0 SHA512 7c7a678fb0c85da64b6df3df17b8cf7f2ccf862e27dcf8535f7403f8693c76b3b1a912f4b6ca876a591ada60a99577a947bfe7a63c602f754332e1e4f689e6e7 -DIST mariadb-5.5.61.tar.gz 45839038 BLAKE2B 2755963d51aee3b9b560531e00b9df6f5637c90a44ad181cf826234d27c15e9fd1b61ae4faf4d9a4ff06779e605c6a5757192407e6e402ad68dfb3ae45a94088 SHA512 a2bebb47ec62eb6cd15e003dea7708948cd96fd7f0fc631a85cfc4691b55e220ed78f3e3b16542b5152ad5bcc61e50a831c71cf8f29481f7de86816ec0bae594 +DIST mariadb-10.1.37.tar.gz 63492946 BLAKE2B 0f19b402c597443ef970cbe2a2d85d51743cc2d05ab741897efb150f007d7be8b645706a2d0dc5a9f91c7a380d2313840f77d6e9b15f3335495f275b415e5a33 SHA512 b7c35cd67ad265ce2e3a4db20a2ae2b78745db96dc70a211f027a39b6dbb3dc900991c2ee1021ee6a97d12489c3e2a70252e2adf348a458af38b99c3de5a4f25 +DIST mariadb-10.2.19.tar.gz 71856357 BLAKE2B 7e55760b85d7b8b19f9d1afe22e7cf5c3001ab03d64062bd702442cb771b2c76f62cf8794b027098b6fb4ade5bf3de39d68dbede65c72fc9e1482083fb19a9c9 SHA512 7bfd65687c923d50b04d598fccea60a23a3fafc3e57b803b2a06c2f25ae68bd25206e18bd71af4797492792d821f4be05cef19e8075080b82b539afdd8af9f46 +DIST mariadb-10.3.10.tar.gz 70493771 BLAKE2B 03540ed111405febb46c27422f957fb6c533ffe7502c56d6eb4fe8a3bc45bfd18fb2b12a16a01780c0bc291ff139132666741df00d4be068fb99e2a63c543cc2 SHA512 dee7789dff359a6352ceacb2db6bcb4730940e9458adda4e23894f9bfa0a7ff8c238060bffca58a60b662275e52a31ea1784d51fae114312b003c024e9412b31 +DIST mariadb-5.5.62.tar.gz 45938380 BLAKE2B aa17d0e5740805d74f7f74f54605e04c4e29c4208a2efa6da2dde5855dfdc13e3225fe349e2146b11a6cbf5a0ac82a9e6c3e4f31e62afa71fc7ab1381040c68f SHA512 136668a54b404a303ee8f87e736bd14463b2323f0a517e7161c8729f4534bc1d653241d6b79f8cb7ad66ea09cf4190f9b95eceaa209b18a46822a68d9580ba5a DIST mysql-extras-20180809-1700Z.tar.bz2 322999 BLAKE2B 8b5feb32085dc35b2f68dae985b2d266c4eaa0e956b490050a2df04bbff99bf8623b67e75af9326d84e3ad625c4d86b0d21d23c9a96df5a0c9cd5ed730958970 SHA512 fbd7af9284bbf09d55f128361e7cc52d94f24ac491aac800cd6d61f2e444aeca66a4d5e6ae94c2fb4044e00cec9b232bae9a76a229f87f19d90b7aecf70792ec +DIST mysql-extras-20181104-2252Z.tar.bz2 328613 BLAKE2B c869dbdd8eb8ab6706b52815fae88e0789b955b9d3e89eac305e6de6e1bc9e78ea10ac58efeac0d6478c7f83587910834e9b4c44e3621224f006daae44dc2bf3 SHA512 e0dff23aa6420a9cfcf2f60464381d4b08194759dcd96910cdf94075fa71e90b74fa3dae700f279f421fee68315af37e47054c9422adeb6cc757fa968a1b65bf EBUILD mariadb-10.0.35-r2.ebuild 27520 BLAKE2B 09bb435fc35e43e9d5a9f0bb234d7583d8ceb55f19e46176def7d1d4370fe99aedb89e28860cc49134f693bf0f49ff4333916441742da72cf65ad7ef6353c72a SHA512 159b2c09d0da83841f77822b4501cc4302758711c9db9447e6c34ebe6185801cbacb4774060d238f7c5aee4595ccc4e0e05f062300f38e27ff86a54a2dce4a95 -EBUILD mariadb-10.0.36.ebuild 27527 BLAKE2B 492a99d33fdc94203de03864166a36cac62eaba1259c9da3a3d70095cc6babad58da812bb5fe4911544709de61eaf071d94a9325bab64284343e4a198946c977 SHA512 0b63f8763453f90aa758fa0b1ae39e32377b36d3648e7a364bcdd96525354809a0809185428f6ffcde0571193fdfa95a6d1d72537737269ca415ea3e1c6b3b43 +EBUILD mariadb-10.0.37.ebuild 27526 BLAKE2B f41159bb252097eda7e9d5f39b5d8eeb879cc8e8e4c7fa99ef8da8cd6333b5532c8d7a73b4b4defca423d1a5c3469bd35cee30bca1266d43127b202078277ea4 SHA512 4e05fc6fb048592975de40178faaa2120466b48129d80780ff1a1deb05eb0eeeeaf8dba7f224efcc59a10cf72676057b7641df595caf006ecd4d1e6be03acd7b EBUILD mariadb-10.1.34.ebuild 29472 BLAKE2B 859741b70abf8c2347395b26b7543f36be94165141227bb7dc75f054768490bf891eea5bd2f171aa0c0f8caed7603abf1347a0087caa10e55ce920aaa9c6677b SHA512 ff30a1fcdcc72b8324dec1be29db63a1792ca58474744f0c02014b1fba28d856ac0f154235b0889aedcc95cf24c4b58fcfd681458be726609861ba6f4220ad8f -EBUILD mariadb-10.1.35.ebuild 29479 BLAKE2B b14a63bbdf81468902efaf712b2944b70964fafd0eaf42ec2dbc4ac2ea5d298031bbdadc43fa27dc7035931a50a818960fe2ddcfca4cef351ada73d028e4eaf9 SHA512 c346bc073836725d3a022a73106b4fea2e9de88cc0ee3571ce2e2d292f931b584ce21336d0a31ff7efe015e7692f51e5a1bdbfd21f2a69c65e5df08761ac9f72 -EBUILD mariadb-10.1.36.ebuild 29476 BLAKE2B 6b608a9e1ded83bc3d49644239912a7ee20f5fc5c48d60bdd9fa3320b7ac8d5188fc0a7039d28fc3ec1ced6b7a95b36c8f6807ad8da3700e34c2ff7300d73443 SHA512 0aeaabeb9cd43f0feba34013dd7381106bbd79370771429bcccbb821d9383d488264c7bd259d221776a6f971b021d1f902e7c61ba4e515e92eb908f789f74a90 -EBUILD mariadb-10.2.17.ebuild 33523 BLAKE2B b7b5fbb5a3e548994978fa49c12f824c9765827251794c9a3fbef601b4999ad96fd359468112042849ff4be165df1beb018a094aa1ef2354ce9ec1f7f7342a07 SHA512 3e404176280ba7654240eb065a2964e7cb17a9ae4878c850641c6d40c33205954aab482a20709b999e56ef0f39ed2b6c1d69412cbd53ecccd8a4809af95b3116 -EBUILD mariadb-10.3.8.ebuild 32090 BLAKE2B 77fce2ea8c658e85face2c6ab7878b1ba8e392466e6e13704b2bf5678f54893660e1694c4247da75f37078ca8a4d33f65ab769fdec290dfa27670f45f581c026 SHA512 2d88a617f827d9f9a02b554c5ba2c712007431b8d3004084ee9f2b80efa017c3a744781e997e83448265114d4e08aa65c717682a0bb79d4c88d16f396ef58f22 -EBUILD mariadb-10.3.9.ebuild 32155 BLAKE2B db1ce7a82a3610bb3dde5f5ea6a565eead93046927e9d2a4b56f419f12fef7c92f9445502142b0ecd01ba401178a30aa3ef7de4fe1e207fdd17aeb3c8b11496f SHA512 a81b480072fa74ad311f63c85b119962d04ad19727aece8ec9e219420e9e7a8ec7c57965fb556d59fd47b2300f198a6d091920f272792fc3a5eb1619babc6211 -EBUILD mariadb-5.5.61.ebuild 27072 BLAKE2B f814240f2445f793ba04e912d20d3ad22c6bc1304379a0fbbbe0ae39cb8418ebe5c9d187253be11db4744ba75aabc70d0e4ef409ff71ea63cfbc3a6e08d464dc SHA512 d9b7f3d3711532e51938917b6b5976a7df15e74efb86c9c1621ef8e4dc813dbbf1d75d4e90e6ffb0d8924f58709a018ead3d153c6c250a4c775b18d005b4c300 +EBUILD mariadb-10.1.37.ebuild 29478 BLAKE2B b22351b19402a3536bb7c154b0ef917366fef4ea72122518b30cf5e85753b80b29642f6829d05cd66718745b1f01b7545e67b8cd538abca9df1c909e2bbcf6e8 SHA512 c6dd0e9974ca67ba0750e86fcfb9e9afea283c1817c3284ef24c6a25c5d61fa35f993041e6b086a8632943da4c8f1b592e95e6e9923089f472ceaae2a3f25671 +EBUILD mariadb-10.2.19.ebuild 34504 BLAKE2B f6269aa1a93d89d39ffd0fe57a67899692ee5ad670a308aee8e7d4cbaa7878064db879fca718e65ec1343ab85649eab7fe29ec03a4e4d9670905034dcb07e170 SHA512 766367854b21972954736c450a39759f545b24ca60ec3f6d015bb117de40cf38af5144998cd63e2afef0d4a5d0d395a69c42bfb5e6eb67ded64b1863bd7512db +EBUILD mariadb-10.3.10.ebuild 32157 BLAKE2B 9d3229c8de1910799d951b8a57315fba6271b70ec11810f2c0df2bb39a47e2b80e2046b06187a276ae85bf21c9c0b90283a626f065f4da983b4b72bd595be988 SHA512 9f1c3412ab863fa2b70371bdd4c090b9d4ded4e8a3575e2a8e0ea48cf0b3a78f5a9c154e0eb67bdae5e4a28ab5a7a3ad9db08d89678af511a93948a638cd85f0 +EBUILD mariadb-5.5.62.ebuild 27071 BLAKE2B 528f4e740b597cad24ecfd5c03137bae7fd65fb6adaa615a9b5ceeeb9f8d138ad47e2c034f9b4a2727d0059148b06985e3dc9cc9223ef756959d730f319c4b07 SHA512 e79e999633aef9b04558d71ed6e3398d372816b3a343429c521c44b33d3bf7e0afece3723d2557aaf03106dfc880fcc0c1504e6d12eb2dbff9c08927af716b2e MISC metadata.xml 2611 BLAKE2B d1b6b11359e92a3d9cb2c58ed35a15e3cf42ab616ed907fa36a5f777168a805ffd03d01bd13fcd30352ef6c5e8b1d80f4e882ffaf8f6445ed3fce2bcc2a92923 SHA512 80395b35839acebbb18ac8d01e8c806bd89f18d32f85fcba41f41ecfc4f1f869dc8c51c90bb21ebd3c9ac30d51d47869a4dcf3b8ce73967e337e6e396b267c97 diff --git a/dev-db/mariadb/mariadb-10.0.36.ebuild b/dev-db/mariadb/mariadb-10.0.37.ebuild index cf27b4e51080..fe61ec153cb0 100644 --- a/dev-db/mariadb/mariadb-10.0.36.ebuild +++ b/dev-db/mariadb/mariadb-10.0.37.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="6" @@ -799,7 +799,7 @@ pkg_config() { --max_allowed_packet=8M \ --net_buffer_length=16K \ --socket=${socket} \ - --pid-file=${pidfile} + --pid-file=${pidfile} \ --tmpdir=${ROOT}/${MYSQL_TMPDIR}" #einfo "About to start mysqld: ${mysqld}" ebegin "Starting mysqld" diff --git a/dev-db/mariadb/mariadb-10.1.36.ebuild b/dev-db/mariadb/mariadb-10.1.37.ebuild index 51e39e6958e5..c2b7bcbd247b 100644 --- a/dev-db/mariadb/mariadb-10.1.36.ebuild +++ b/dev-db/mariadb/mariadb-10.1.37.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI="6" -MY_EXTRAS_VER="20180809-1700Z" +MY_EXTRAS_VER="20181104-2252Z" SUBSLOT="18" JAVA_PKG_OPT_USE="jdbc" @@ -62,7 +62,7 @@ PATCHES=( "${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.31-enable-numa.patch + "${MY_PATCH_DIR}"/20029_all_mariadb-10.1.37-enable-numa.patch "${MY_PATCH_DIR}"/20035_all_mariadb-10.1-atomic-detection.patch ) @@ -838,7 +838,7 @@ pkg_config() { --max_allowed_packet=8M \ --net_buffer_length=16K \ --socket=${socket} \ - --pid-file=${pidfile} + --pid-file=${pidfile} \ --tmpdir=${ROOT}/${MYSQL_TMPDIR}" #einfo "About to start mysqld: ${mysqld}" ebegin "Starting mysqld" diff --git a/dev-db/mariadb/mariadb-10.2.17.ebuild b/dev-db/mariadb/mariadb-10.2.19.ebuild index cb2ac87542dd..da01e09871b4 100644 --- a/dev-db/mariadb/mariadb-10.2.17.ebuild +++ b/dev-db/mariadb/mariadb-10.2.19.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="6" @@ -39,7 +39,6 @@ RESTRICT="!bindist? ( bindist ) libressl? ( test )" REQUIRED_USE="jdbc? ( extraengine server !static ) server? ( tokudb? ( jemalloc !tcmalloc ) ) - !server? ( !extraengine ) ?? ( tcmalloc jemalloc ) static? ( yassl !pam )" @@ -61,7 +60,7 @@ fi PATCHES=( "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch - "${MY_PATCH_DIR}"/20018_all_mariadb-10.2.9-without-clientlibs-tools.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 @@ -260,6 +259,13 @@ src_unpack() { } src_prepare() { + _disable_plugin() { + echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die + } + _disable_engine() { + echo > "${S%/}/storage/${1}/CMakeLists.txt" || die + } + if use tcmalloc; then echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" fi @@ -269,12 +275,36 @@ src_prepare() { 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 - # 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" + local plugin + local server_plugins=( handler_socket auth_socket feedback metadata_lock_info + locale_info qc_info server_audit sql_errlog ) + local test_plugins=( audit_null auth_examples daemon_example fulltext + debug_key_management example_key_management ) + 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 server; then - rm -r "${S}"/plugin/handler_socket || die + if ! use oqgraph ; then # avoids extra library checks + _disable_engine oqgraph + fi + + if use mroonga ; then + # Remove the bundled groonga + # There is no CMake flag, it simply checks for existance + rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga" + else + _disable_engine mroonga fi cmake-utils_src_prepare @@ -350,6 +380,9 @@ multilib_src_configure() { -DWITH_EXTERNAL_ZLIB=YES -DSUFFIX_INSTALL_DIR="" -DWITH_UNITTEST=OFF + -DCLIENT_PLUGIN_DIALOG=OFF + -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF + -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC ) if use test ; then mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test ) @@ -358,7 +391,7 @@ multilib_src_configure() { fi if ! use yassl ; then - mycmakeargs+=( -DWITH_SSL=system ) + mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC ) else mycmakeargs+=( -DWITH_SSL=bundled ) fi @@ -966,7 +999,7 @@ pkg_config() { --max_allowed_packet=8M \ --net_buffer_length=16K \ --socket=${socket} \ - --pid-file=${pidfile} + --pid-file=${pidfile} \ --tmpdir=${ROOT}/${MYSQL_TMPDIR}" #einfo "About to start mysqld: ${mysqld}" ebegin "Starting mysqld" diff --git a/dev-db/mariadb/mariadb-10.3.9.ebuild b/dev-db/mariadb/mariadb-10.3.10.ebuild index 00cd9a6bcff1..065b14463d75 100644 --- a/dev-db/mariadb/mariadb-10.3.9.ebuild +++ b/dev-db/mariadb/mariadb-10.3.10.ebuild @@ -917,7 +917,7 @@ pkg_config() { --max_allowed_packet=8M \ --net_buffer_length=16K \ --socket=${socket} \ - --pid-file=${pidfile} + --pid-file=${pidfile} \ --tmpdir=${ROOT}/${MYSQL_TMPDIR}" #einfo "About to start mysqld: ${mysqld}" ebegin "Starting mysqld" diff --git a/dev-db/mariadb/mariadb-10.3.8.ebuild b/dev-db/mariadb/mariadb-10.3.8.ebuild deleted file mode 100644 index 1a952db960e4..000000000000 --- a/dev-db/mariadb/mariadb-10.3.8.ebuild +++ /dev/null @@ -1,964 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" -MY_EXTRAS_VER="20180809-1700Z" -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 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 static-libs systemd systemtap tcmalloc - test tokudb xml yassl" - -# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests -RESTRICT="!bindist? ( bindist ) libressl? ( test )" - -REQUIRED_USE="jdbc? ( extraengine server !static ) - server? ( tokudb? ( jemalloc !tcmalloc ) ) - ?? ( tcmalloc jemalloc ) - static? ( yassl !pam )" - -# REMEMBER: also update eclass/mysql*.eclass before committing! -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" - -# Shorten the path because the socket path length must be shorter than 107 chars -# and we will run a mysql server during test phase -S="${WORKDIR}/mysql" - -if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git" - EGIT_CHECKOUT_DIR="${WORKDIR%/}/mysql-extras" - EGIT_CLONE_TYPE=shallow - MY_PATCH_DIR="${WORKDIR%/}/mysql-extras" -else - MY_PATCH_DIR="${WORKDIR%/}/mysql-extras-${MY_EXTRAS_VER}" -fi - -PATCHES=( - "${MY_PATCH_DIR}"/20015_all_mariadb-pkgconfig-location.patch - "${MY_PATCH_DIR}"/20018_all_mariadb-10.2.16-without-clientlibs-tools.patch - "${MY_PATCH_DIR}"/20024_all_mariadb-10.2.6-mysql_st-regression.patch - "${MY_PATCH_DIR}"/20025_all_mariadb-10.2.6-gssapi-detect.patch - "${MY_PATCH_DIR}"/20035_all_mariadb-10.3-atomic-detection.patch -) - -# Be warned, *DEPEND are version-dependant -# These are used for both runtime and compiletime -# MULTILIB_USEDEP only set for libraries used by the client library -COMMON_DEPEND=" - kernel_linux? ( - sys-process/procps:0= - dev-libs/libaio:0= - ) - >=sys-apps/sed-4 - >=sys-apps/texinfo-4.7-r1 - jemalloc? ( dev-libs/jemalloc:0= ) - tcmalloc? ( dev-util/google-perftools:0= ) - systemtap? ( >=dev-util/systemtap-1.3:0= ) - >=sys-libs/zlib-1.2.3:0= - kerberos? ( virtual/krb5 ) - yassl? ( net-libs/gnutls:0= ) - !yassl? ( - !libressl? ( >=dev-libs/openssl-1.0.0:0= ) - libressl? ( dev-libs/libressl:0= ) - ) - sys-libs/ncurses:0= - !bindist? ( - sys-libs/binutils-libs:0= - >=sys-libs/readline-4.1:0= - ) - server? ( - backup? ( app-arch/libarchive:0= ) - cracklib? ( sys-libs/cracklib:0= ) - extraengine? ( - odbc? ( dev-db/unixODBC:0= ) - xml? ( dev-libs/libxml2:2= ) - ) - innodb-lz4? ( app-arch/lz4 ) - innodb-lzo? ( dev-libs/lzo ) - innodb-snappy? ( app-arch/snappy ) - mroonga? ( app-text/groonga-normalizer-mysql >=app-text/groonga-7.0.4 ) - numa? ( sys-process/numactl ) - oqgraph? ( >=dev-libs/boost-1.40.0:0= dev-libs/judy:0= ) - pam? ( virtual/pam:0= ) - systemd? ( sys-apps/systemd:= ) - tokudb? ( app-arch/snappy ) - ) - >=dev-libs/libpcre-8.41-r1:3= - dev-db/mariadb-connector-c[${MULTILIB_USEDEP},static-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 ) - !dev-db/mysql !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster - server? ( !prefix? ( dev-db/mysql-init-scripts ) ) - !<virtual/mysql-5.6-r11 - ${COMMON_DEPEND} - server? ( galera? ( - sys-apps/iproute2 - =sys-cluster/galera-25* - sst-rsync? ( sys-process/lsof ) - sst-mariabackup? ( net-misc/socat[ssl] ) - sst-xtrabackup? ( net-misc/socat[ssl] ) - ) ) - perl? ( !dev-db/mytop - virtual/perl-Getopt-Long - dev-perl/TermReadKey - virtual/perl-Term-ANSIColor - virtual/perl-Time-HiRes ) - server? ( extraengine? ( jdbc? ( >=virtual/jre-1.6 ) ) ) -" -# For other stuff to bring us in -# dev-perl/DBD-mysql is needed by some scripts installed by MySQL -# percona-xtrabackup-bin causes a circular dependency if DBD-mysql is not already installed -PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 ) - server? ( ~virtual/mysql-5.6[static=] - galera? ( sst-xtrabackup? ( || ( >=dev-db/percona-xtrabackup-bin-2.2.4 dev-db/percona-xtrabackup ) ) ) )" - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - local GCC_MAJOR_SET=$(gcc-major-version) - local GCC_MINOR_SET=$(gcc-minor-version) - if use tokudb && [[ ${GCC_MAJOR_SET} -lt 4 || \ - ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then - eerror "${PN} with tokudb needs to be built with gcc-4.7 or later." - eerror "Please use gcc-config to switch to gcc-4.7 or later version." - die - fi - # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on - # non x86{,_64} arches - if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ - ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then - eerror "${PN} needs to be built with gcc-4.7 or later." - eerror "Please use gcc-config to switch to gcc-4.7 or later version." - die - fi - fi - java-pkg-opt-2_pkg_setup - if has test ${FEATURES} && \ - use server && ! has userpriv ${FEATURES} ; then - eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." - fi - - # This should come after all of the die statements - enewgroup mysql 60 || die "problem adding 'mysql' group" - enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user" -} - -pkg_preinst() { - java-pkg-opt-2_pkg_preinst - - # Here we need to see if the implementation switched client libraries - # We check if this is a new instance of the package and a client library already exists - local SHOW_ABI_MESSAGE libpath - if [[ -z ${REPLACING_VERSIONS} && -e "${EROOT}usr/$(get_libdir)/libmysqlclient.so" ]] ; then - libpath=$(readlink "${EROOT}usr/$(get_libdir)/libmysqlclient.so") - elog "Due to ABI changes when switching between different client libraries," - elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient." - elog "Please run: revdep-rebuild --library ${libpath}" - ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" - fi -} - -pkg_postinst() { - # Make sure the vars are correctly initialized - mysql_init_vars - - # Create log directory securely if it does not exist - [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" - - if use server ; then - if use pam; then - einfo - elog "This install includes the PAM authentication plugin." - elog "To activate and configure the PAM plugin, please read:" - elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/" - einfo - fi - - if [[ -z "${REPLACING_VERSIONS}" ]] ; then - einfo - elog "You might want to run:" - elog "\"emerge --config =${CATEGORY}/${PF}\"" - elog "if this is a new install." - elog - elog "If you are switching server implentations, you should run the" - elog "mysql_upgrade tool." - einfo - else - einfo - elog "If you are upgrading major versions, you should run the" - elog "mysql_upgrade tool." - einfo - fi - - if use galera ; then - einfo - elog "Be sure to edit the my.cnf file to activate your cluster settings." - elog "This should be done after running \"emerge --config =${CATEGORY}/${PF}\"" - elog "The first time the cluster is activated, you should add" - elog "--wsrep-new-cluster to the options in /etc/conf.d/mysql for one node." - elog "This option should then be removed for subsequent starts." - einfo - fi - fi - - # Note about configuration change - einfo - elog "This version of mariadb reorganizes the configuration from a single my.cnf" - elog "to several files in /etc/mysql/${PN}.d." - elog "Please backup any changes you made to /etc/mysql/my.cnf" - elog "and add them as a new file under /etc/mysql/${PN}.d with a .cnf extension." - elog "You may have as many files as needed and they are read alphabetically." - elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." - einfo -} - -src_unpack() { - - # Initialize the proper variables first - mysql_init_vars - - unpack ${A} - # Grab the patches - [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack - - mv -f "${WORKDIR}/${P/_rc/}" "${S}" || die -} - -src_prepare() { - _disable_plugin() { - echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die - } - _disable_engine() { - echo > "${S%/}/storage/${1}/CMakeLists.txt" || die - } - - if use tcmalloc; then - echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" - fi - - # Don't build bundled xz-utils for tokudb - echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die - sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die - sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die - - local plugin - local server_plugins=( handler_socket auth_socket feedback metadata_lock_info - locale_info qc_info server_audit sql_errlog ) - local test_plugins=( audit_null auth_examples daemon_example fulltext - debug_key_management example_key_management versioning ) - if ! use server; then # These plugins are for the server - for plugin in "${server_plugins[@]}" ; do - _disable_plugin "${plugin}" - done - fi - - if ! use test; then # These plugins are only used during testing - for plugin in "${test_plugins[@]}" ; do - _disable_plugin "${plugin}" - done - _disable_engine test_sql_discovery - fi - - _disable_engine example - - if ! use oqgraph ; then # avoids extra library checks - _disable_engine oqgraph - fi - - if use mroonga ; then - # Remove the bundled groonga - # There is no CMake flag, it simply checks for existance - rm -r "${S}"/storage/mroonga/vendor/groonga || die "could not remove packaged groonga" - else - _disable_engine mroonga - fi - - cmake-utils_src_prepare - java-pkg-opt-2_src_prepare -} - -src_configure(){ - # bug 508724 mariadb cannot use ld.gold - tc-ld-disable-gold - # Bug #114895, bug #110149 - filter-flags "-O" "-O[01]" - - append-cxxflags -felide-constructors - - # bug #283926, with GCC4.4, this is required to get correct behavior. - append-flags -fno-strict-aliasing - - CMAKE_BUILD_TYPE="RelWithDebInfo" - - # debug hack wrt #497532 - mycmakeargs=( - -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" - -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" - -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" - -DSYSCONFDIR="${EPREFIX}/etc/mysql" - -DINSTALL_BINDIR=bin - -DINSTALL_DOCDIR=share/doc/${PF} - -DINSTALL_DOCREADMEDIR=share/doc/${PF} - -DINSTALL_INCLUDEDIR=include/mysql - -DINSTALL_INFODIR=share/info - -DINSTALL_LIBDIR=$(get_libdir) - -DINSTALL_MANDIR=share/man - -DINSTALL_MYSQLSHAREDIR=share/mariadb - -DINSTALL_PLUGINDIR=$(get_libdir)/mariadb/plugin - -DINSTALL_SCRIPTDIR=share/mariadb/scripts - -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" - -DINSTALL_SBINDIR=sbin - -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mariadb" - -DWITH_COMMENT="Gentoo Linux ${PF}" - -DWITH_UNIT_TESTS=$(usex test ON OFF) - -DWITH_LIBEDIT=0 - -DWITH_ZLIB=system - -DWITHOUT_LIBWRAP=1 - -DENABLED_LOCAL_INFILE=1 - -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" - -DINSTALL_UNIX_ADDRDIR="${EPREFIX}/var/run/mysqld/mysqld.sock" - -DWITH_DEFAULT_COMPILER_OPTIONS=0 - -DWITH_DEFAULT_FEATURE_SET=0 - -DINSTALL_SYSTEMD_UNITDIR="$(systemd_get_systemunitdir)" - # The build forces this to be defined when cross-compiling. We pass it - # all the time for simplicity and to make sure it is actually correct. - -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) - -DPKG_CONFIG_EXECUTABLE="${EPREFIX}/usr/bin/$(tc-getPKG_CONFIG)" - -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) - -DAUTH_GSSAPI_PLUGIN_TYPE=$(usex kerberos DYNAMIC OFF) - -DCONC_WITH_EXTERNAL_ZLIB=YES - -DWITH_EXTERNAL_ZLIB=YES - -DSUFFIX_INSTALL_DIR="" - -DWITH_UNITTEST=OFF - -DWITHOUT_CLIENTLIBS=YES - -DCLIENT_PLUGIN_DIALOG=OFF - -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=OFF - -DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC - ) - if use test ; then - mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mariadb/mysql-test ) - else - mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) - fi - - if ! use yassl ; then - mycmakeargs+=( -DWITH_SSL=system -DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC ) - else - mycmakeargs+=( -DWITH_SSL=bundled ) - fi - - # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION - mycmakeargs+=( - -DWITH_READLINE=$(usex bindist 1 0) - -DNOT_FOR_DISTRIBUTION=$(usex bindist 0 1) - -DENABLE_DTRACE=$(usex systemtap) - ) - - if use server ; then - - # Federated{,X} must be treated special otherwise they will not be built as plugins - if ! use extraengine ; then - mycmakeargs+=( - -DPLUGIN_FEDERATED=NO - -DPLUGIN_FEDERATEDX=NO ) - fi - - mycmakeargs+=( - -DWITH_JEMALLOC=$(usex jemalloc system) - -DWITH_PCRE=system - -DPLUGIN_OQGRAPH=$(usex oqgraph DYNAMIC NO) - -DPLUGIN_SPHINX=$(usex sphinx YES NO) - -DPLUGIN_TOKUDB=$(usex tokudb YES NO) - -DPLUGIN_AUTH_PAM=$(usex pam YES NO) - -DPLUGIN_CRACKLIB_PASSWORD_CHECK=$(usex cracklib YES NO) - -DPLUGIN_CASSANDRA=NO - -DPLUGIN_SEQUENCE=$(usex extraengine YES NO) - -DPLUGIN_SPIDER=$(usex extraengine YES NO) - -DPLUGIN_CONNECT=$(usex extraengine YES NO) - -DCONNECT_WITH_MYSQL=1 - -DCONNECT_WITH_LIBXML2=$(usex xml) - -DCONNECT_WITH_ODBC=$(usex odbc) - -DCONNECT_WITH_JDBC=$(usex jdbc) - # Build failure and autodep wrt bug 639144 - -DCONNECT_WITH_MONGO=OFF - -DWITH_WSREP=$(usex galera) - -DWITH_INNODB_LZ4=$(usex innodb-lz4 ON OFF) - -DWITH_INNODB_LZO=$(usex innodb-lzo ON OFF) - -DWITH_INNODB_SNAPPY=$(usex innodb-snappy ON OFF) - -DPLUGIN_MROONGA=$(usex mroonga DYNAMIC NO) - -DPLUGIN_AUTH_GSSAPI=$(usex kerberos DYNAMIC NO) - -DWITH_MARIABACKUP=$(usex backup ON OFF) - -DWITH_LIBARCHIVE=$(usex backup ON OFF) - -DINSTALL_SQLBENCHDIR="" - -DPLUGIN_ROCKSDB=$(usex rocksdb DYNAMIC NO) - # systemd is only linked to for server notification - -DWITH_SYSTEMD=$(usex systemd yes no) - -DWITH_NUMA=$(usex numa ON OFF) - ) - - # Workaround for MDEV-14524 - use tokudb && mycmakeargs+=( -DTOKUDB_OK=1 ) - - if use test ; then - # This is needed for the new client lib which tests a real, open server - mycmakeargs+=( -DSKIP_TESTS=ON ) - fi - - if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then - ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" - ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." - ewarn "You MUST file bugs without these variables set." - - mycmakeargs+=( - -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} - -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} - ) - - elif ! use latin1 ; then - mycmakeargs+=( - -DDEFAULT_CHARSET=utf8 - -DDEFAULT_COLLATION=utf8_general_ci - ) - else - mycmakeargs+=( - -DDEFAULT_CHARSET=latin1 - -DDEFAULT_COLLATION=latin1_swedish_ci - ) - fi - mycmakeargs+=( - -DEXTRA_CHARSETS=all - -DMYSQL_USER=mysql - -DDISABLE_SHARED=$(usex static YES NO) - -DWITH_DEBUG=$(usex debug) - -DWITH_EMBEDDED_SERVER=OFF - -DWITH_PROFILING=$(usex profiling) - ) - - if use static; then - mycmakeargs+=( -DWITH_PIC=1 ) - fi - - if use jemalloc || use tcmalloc ; then - mycmakeargs+=( -DWITH_SAFEMALLOC=OFF ) - fi - - # Storage engines - mycmakeargs+=( - -DWITH_ARCHIVE_STORAGE_ENGINE=1 - -DWITH_BLACKHOLE_STORAGE_ENGINE=1 - -DWITH_CSV_STORAGE_ENGINE=1 - -DWITH_HEAP_STORAGE_ENGINE=1 - -DWITH_INNOBASE_STORAGE_ENGINE=1 - -DWITH_MYISAMMRG_STORAGE_ENGINE=1 - -DWITH_MYISAM_STORAGE_ENGINE=1 - -DWITH_PARTITION_STORAGE_ENGINE=1 - ) - - else - mycmakeargs+=( - -DWITHOUT_SERVER=1 - -DWITH_EMBEDDED_SERVER=OFF - -DEXTRA_CHARSETS=none - -DINSTALL_SQLBENCHDIR= - -DWITH_SYSTEMD=no - ) - fi - - cmake-utils_src_configure -} - -src_compile() { - cmake-utils_src_compile -} - -src_install() { - cmake-utils_src_install - - # Remove an unnecessary, private config header which will never match between ABIs and is not meant to be used - if [[ -f "${ED}/usr/include/mysql/server/private/config.h" ]] ; then - rm "${ED}/usr/include/mysql/server/private/config.h" || die - fi - - # Make sure the vars are correctly initialized - mysql_init_vars - - # Convenience links - einfo "Making Convenience links for mysqlcheck multi-call binary" - dosym "mysqlcheck" "/usr/bin/mysqlanalyze" - dosym "mysqlcheck" "/usr/bin/mysqlrepair" - dosym "mysqlcheck" "/usr/bin/mysqloptimize" - - # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir - if [[ -d "${ED}/usr/data" ]] ; then - rm -Rf "${ED}/usr/data" || die - fi - - # Unless they explicitly specific USE=test, then do not install the - # testsuite. It DOES have a use to be installed, esp. when you want to do a - # validation of your database configuration after tuning it. - if ! use test ; then - rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" - fi - - # Configuration stuff - einfo "Building default configuration ..." - insinto "${MY_SYSCONFDIR#${EPREFIX}}" - [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf - cp "${FILESDIR}/my.cnf-10.2" "${TMPDIR}/my.cnf" || die - eprefixify "${TMPDIR}/my.cnf" - doins "${TMPDIR}/my.cnf" - insinto "${MY_SYSCONFDIR#${EPREFIX}}/mariadb.d" - cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die - eprefixify "${TMPDIR}/50-distro-client.cnf" - doins "${TMPDIR}/50-distro-client.cnf" - - if use server ; then - mycnf_src="my.cnf.distro-server" - sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ - "${FILESDIR}/${mycnf_src}" \ - > "${TMPDIR}/my.cnf.ok" || die - if use prefix ; then - sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ - "${TMPDIR}/my.cnf.ok" || die - fi - if use latin1 ; then - sed -i \ - -e "/character-set/s|utf8|latin1|g" \ - "${TMPDIR}/my.cnf.ok" || die - fi - eprefixify "${TMPDIR}/my.cnf.ok" - newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf - - einfo "Including support files and sample configurations" - docinto "support-files" - local script - for script in \ - "${S}"/support-files/magic - do - [[ -f "$script" ]] && dodoc "${script}" - done - - docinto "scripts" - for script in "${S}"/scripts/mysql* ; do - [[ ( -f "$script" ) && ( "${script%.sh}" == "${script}" ) ]] && dodoc "${script}" - done - # Manually install supporting files that conflict with other packages - # but are needed for galera and initial installation - exeinto /usr/libexec/mariadb - doexe "${BUILD_DIR}/extra/my_print_defaults" "${BUILD_DIR}/extra/perror" - fi - - #Remove mytop if perl is not selected - [[ -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_client_test_comp rpl.rpl_extra_col_master_myisam ; do - _disable_test "$t" "False positives in Gentoo" - done - - _disable_test main.plugin_auth "Needs client libraries built" - - # run mysql-test tests - perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" - retstatus_tests=$? - - 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/bin/my_print_defaults - local section="$1" - local flag="--${2}=" - local extra_options="${3}" - "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp" - } - local old_MY_DATADIR="${MY_DATADIR}" - local old_HOME="${HOME}" - # my_print_defaults needs to read stuff in $HOME/.my.cnf - export HOME=${EPREFIX}/root - - # Make sure the vars are correctly initialized - mysql_init_vars - - [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" - if [[ ! -x "${EROOT}/usr/sbin/mysqld" ]] ; then - die "Minimal builds do NOT include the MySQL server" - fi - - if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then - local MY_DATADIR_s="${ROOT}/${MY_DATADIR}" - MY_DATADIR_s="${MY_DATADIR_s%%/}" - local old_MY_DATADIR_s="${ROOT}/${old_MY_DATADIR}" - old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}" - - if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then - if [[ -d "${MY_DATADIR_s}" ]]; then - ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist" - ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}" - else - elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}" - mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \ - || die "Moving MY_DATADIR failed" - fi - else - ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist" - if [[ -d "${MY_DATADIR_s}" ]]; then - ewarn "Attempting to use ${MY_DATADIR_s}" - else - eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist" - die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}" - fi - fi - fi - - local pwd1="a" - local pwd2="b" - local maxtry=15 - - if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then - local tmp_mysqld_password_source= - - for tmp_mysqld_password_source in mysql client; do - einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." - MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" - if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then - if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then - ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" - MYSQL_ROOT_PASSWORD= - continue - fi - - einfo "Found password in '${tmp_mysqld_password_source}' section!" - break - fi - done - - # Sometimes --show is required to display passwords in some implementations of my_print_defaults - if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then - MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" - fi - - unset tmp_mysqld_password_source - fi - MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)" - # These are dir+prefix - MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)" - MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} - MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)" - MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} - - if [[ ! -d "${ROOT}/$MYSQL_TMPDIR" ]]; then - einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_TMPDIR" - fi - if [[ ! -d "${ROOT}/$MYSQL_LOG_BIN" ]]; then - einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_LOG_BIN" - fi - if [[ ! -d "${EROOT}/$MYSQL_RELAY_LOG" ]]; then - einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" - install -d -m 770 -o mysql -g mysql "${EROOT}/$MYSQL_RELAY_LOG" - fi - - if [[ -d "${ROOT}/${MY_DATADIR}/mysql" ]] ; then - ewarn "You have already a MySQL database in place." - ewarn "(${ROOT}/${MY_DATADIR}/*)" - ewarn "Please rename or delete it if you wish to replace it." - die "MySQL database already exists!" - fi - - # Bug #213475 - MySQL _will_ object strenously if your machine is named - # localhost. Also causes weird failures. - [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" - - if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then - - einfo "Please provide a password for the mysql 'root' user now" - einfo "or through the ${HOME}/.my.cnf file." - ewarn "Avoid [\"'\\_%] characters in the password" - read -rsp " >" pwd1 ; echo - - einfo "Retype the password" - read -rsp " >" pwd2 ; echo - - if [[ "x$pwd1" != "x$pwd2" ]] ; then - die "Passwords are not the same" - fi - MYSQL_ROOT_PASSWORD="${pwd1}" - unset pwd1 pwd2 - fi - - local options - local sqltmp="$(emktemp)" - - # Fix bug 446200. Don't reference host my.cnf, needs to come first, - # see 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.61.ebuild b/dev-db/mariadb/mariadb-5.5.62.ebuild index f12dcc5d57c9..c524ab73ffff 100644 --- a/dev-db/mariadb/mariadb-5.5.61.ebuild +++ b/dev-db/mariadb/mariadb-5.5.62.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="6" @@ -782,7 +782,7 @@ pkg_config() { --max_allowed_packet=8M \ --net_buffer_length=16K \ --socket=${socket} \ - --pid-file=${pidfile} + --pid-file=${pidfile} \ --tmpdir=${ROOT}/${MYSQL_TMPDIR}" #einfo "About to start mysqld: ${mysqld}" ebegin "Starting mysqld" diff --git a/dev-db/mongodb/Manifest b/dev-db/mongodb/Manifest index c4cc9c4affbf..466889144a43 100644 --- a/dev-db/mongodb/Manifest +++ b/dev-db/mongodb/Manifest @@ -1,9 +1,4 @@ -AUX mongodb-3.0.14-fix-scons.patch 1419 BLAKE2B da2aaf46a04a1fb345b8e44ca950d8e1b0de8e1699d47bf146e879f6461b8329a5900265a97710df5a8195283d21007dc9a1bd2b3ecebb113f718d0fd0ed74ba SHA512 2cf591ee25d33adf98ca6baeb086fb8677720809bc3e2b9398bba6ae84548b2aa3dfd57216e185fc6aa0aa185c9a906fe2a1b97bc81942560f02903b24f7bd25 -AUX mongodb-3.0.14-fix-std-string.patch 2341 BLAKE2B ae22f1c03e9230ee8dac8bacefcbd3dd193d8776dd2e86a761d5b0fe3bba823c3c1c8f9a0d2b91ff4aea0860c01289d7bc4b12fb91c02db72d0e4a755f40172f SHA512 1c1d46f4d058685371914ac70c8ad36fba387e9a140ddfd5650cf0411a73776d7b8ef6108a778eaeaa5ba22eba0e16b2301d257a47250a67e7e013d7bb402e47 -AUX mongodb-3.2.0-fix-scons.patch 1738 BLAKE2B 0e85c39637900a67c7a04396963624e9e53cc5d482eb177e7845e10817ce51bc0bec32f91c7ba31bc953d26f9b28f05dbf3ee2423e058c4ea49ac101ece95434 SHA512 04f95586b46960405b7b1906ea3c3c75d37d6831a458f619347ac028c77db5744131cb7bf39cdf62bf564500b1f6785e25b9a0c0526f126bf2072269385afe45 AUX mongodb-3.2.10-boost-1.62.patch 702 BLAKE2B fb3822a1a212aae30f6fbb33a4a87f5f7d0992dfc94b95247e8a0253ed453035aa8f1ba3b9912d3cd1245561d4e529b4e29ab1cf109430c4d2fef51ca33c1bd8 SHA512 79edfd1a6eaba597b31a82e54722dccab288d8b8840a53f79140b5fca221b5acd9fbc770d99e46ea9fa0da502cdf18dd35d982c95a4aa341806c3d8b61fc732f -AUX mongodb-3.2.16-Replace-string-with-explicit-std-string.patch 12636 BLAKE2B 21f04acd87242a11577a20cadde11a9cc994172532b933efba6e3f96ae6bb1aaa64ab271aaf7d286f84e77ae13a688682d19e815820d5ee3c64d8a605226adea SHA512 43a610b0c37c74576ef3e3df3734c4d9d904271dd3853003ff439f61099666a356ed5d4f046573a753c652dfe1e1c1607b1abe041482b740fe828f543272646c -AUX mongodb-3.2.4-boost-1.60.patch 3352 BLAKE2B c008120ace4dc5507fd0de68caf12a79465f61345a68be8a98a0dc84fe457bc7f04d0f99b9eab6644df34ac79efad1e7b77134cd7a29c65485568bce9e2b59cc SHA512 260c3edc3a04f3fae9f18fb73b3ae027709aa019751627d1a24b2ee40a72f91ef9de64606aff32c0890861fc56ae3c80341ba87cd16fffdd009b4fa5089c70db AUX mongodb-3.4.0-fix-scons.patch 1411 BLAKE2B 6e5975b70ec7f281ea2cd101b16ee2849762fa1dd8427522eb3b01cd1738e60ece013bf23d07c180c58af024aebd141ca7fdf80bc240701f48556da46d3787ab SHA512 2e29c91a22663259d2f5413fbb2652702bceb122899e50a8969fb82d74a64a78649e79b005e20e6640740c089b1cee19080890eb8d9344c2ce355a977146b770 AUX mongodb-3.4.6-sysmacros-include.patch 1419 BLAKE2B f07ab093f13ea2b9675538dc99e2e58f85019edffad05bbbf3032f85f8ef881020cc9bf25bc62ca13344e7b8b7dd3b04954c76974c512a41ea5a7a2045de2b34 SHA512 ab269ec003b74848f981021f5eb09e38216d75dd9d1b8a155068b2a335d9ec9d1f5f575028ae9b4b0d8745d15e464cb05b70aabc6c28c984115574c6747afc05 AUX mongodb-3.4.7-no-boost-check.patch 641 BLAKE2B 0dc3a426b28cd80d7b3361ff9c6747aff64dd27c1bc01a9717c2dd1c160b66f53feb72fd2ead385c220ebe92a8c7b8fa6b04fb3fa8437dba17d5f8346665f6b8 SHA512 812eaaadb6f265cfc904e8f3a7ae8276e42e3968529914179efab5e44f1951ab46ac3bbcfb259f924b20a8ca61d2ebcf72b7103ea9d5f25594ff8e9e3e85836b @@ -11,27 +6,19 @@ AUX mongodb-3.6.1-fix-scons.patch 1207 BLAKE2B 3c47d72eb940d67f40e4a12becb6de469 AUX mongodb-3.6.1-no-compass.patch 2046 BLAKE2B e6b6977b69eb297c6a6340661f906e0206c2b68a1cebfd3c7ca01b27cc05562e0909531a2488159a54db32a05ec0cc4f81b4fe675db51bf3c30d66bc9d484c0b SHA512 5a7257a3670f40453c424ae2e6d2bbe0e3d1c795b57351c24a1b48ea4134146b08310d88a47cbb0c94a0a451a2c4a3c30fb10c44a1b9203681ee9cb5240db412 AUX mongodb-4.0.0-no-compass.patch 2270 BLAKE2B 66659a18d46755e6661b57e2ba020d7b967c455b0bfd5d198e0efd5bab1c0fdbb5def66b9e9fb54b34eb415e9b9231dcb6ba4b943d674e09685b47333af31d22 SHA512 e3b3adae4991e7687b191651f4c93471042bc8f56c5977743afec573fe026df3af1459b8bcbdb4f9995ecfbf83785ad56ccf46d6756429164b1f49524a36fed7 AUX mongodb.conf-r3 722 BLAKE2B c053bf101f5e3e38cc68f2bcbe7fb66ed9e55da9382d2412a497d68b478573390eddc5f284f76d56ca4792fe6241f6d1273a6585a98f96a1cb20530499a15904 SHA512 ef193bfed673477aa0e868114bd52be6675492c164f218c71ccd02c4a620b5c4799ea1d18df0c3f2b364027b9f25e60ac4475bb216b25e1dc10bfd00a9f5d45d -AUX mongodb.confd-r2 549 BLAKE2B b43518e43d9c2fe030887cde657fdc08cdd15349cf12cfa1f0f4f0a0db568ba2ae3e3cdec1d04953e62d87feaea6bae969be03bb2270ca31bd9ebbe5e9c79416 SHA512 75f11e8350e98b90eccafd577d794e4b05f36ede8d95e7839e9fa1eb77ea7bd9cdd2fdd07719abb78a714cd7d72109c177d265d6417ef198a4217453c0a4db68 AUX mongodb.confd-r3 473 BLAKE2B b9d812cfb424309e117cf5c43ba8ee7bd4dadac78d6ebd1b0d3c2cdd04d14b334c8f2e26ee24c5ede1a8fe6500bda1b39a5422a3bc1eb8a2c4a8dde038db7997 SHA512 8a90fb39ad16837458a2add25a9b9059e2b356794cfbf3cb35c9ecd6a584ee300c67b49b5261e062eaf7aac593588e2871e5cf76ab2287e58ea342436d0afe56 -AUX mongodb.initd-r2 654 BLAKE2B dac26431711bc4e4047075331c830e356a15b76ef67436f2e6b3984cffb6c9c47ae4196b788ab4b53695d5c2269c35b8ba475fa3ee3b5edf6b2c51944e576413 SHA512 566d47356ef956ee44b170b4498a6361583efea5a01cc3a7e0936c0abdff3100b535eb1259434bd7a68de354b75d165e543362bb93f1fb527b1605de23557398 AUX mongodb.initd-r3 422 BLAKE2B 8c4e1a227f279e49a48b5cb7badfb18c805ce01d471f4fa8634a0d2e4b2ddc6c7e8ccc02fce682bd4fc4436f53ec86fa69a4c287a9b8924a67157e36854c24b9 SHA512 ebeefa1abefddd8d90fd09da035215c65d4f4fa374ec72db487fb7f457ff5a92c5b806743e58b1f6e97854d362b3b3699dba260bd3f8d0614b4cfc5de550f45b AUX mongodb.logrotate 205 BLAKE2B d47c211207e599d9b7f56dd9579d3a9eec577ad0efc07dd6980747b6aa59eec930b760f956dd6e180681c684e4507eb12cc88a985e506f77e0c3162ef7df4675 SHA512 8c089b1a11f494e4148fb4646265964c925bf937633a65e395ee1361d42facf837871dd493a9a2e0f480ae0e0829dbd3ed60794c5334e2716332e131fc5c2c51 AUX mongodb.service 220 BLAKE2B ea55bb2f08066d7399e9e66f981f86395f6a177faa198c66f93ea2965ea80d61c170336a4f49fc7f1f855d3abd5e7cf3862d58a2be4a7708c0582fb4ff80b255 SHA512 177251404b2e818ae2b546fe8b13cb76e348c99e85c7bef22a04b0f07b600fd515a309ede50214f4198594388a6d2b31f46e945b9dae84aabb4dfa13b1123bb9 AUX mongos.conf-r2 648 BLAKE2B 420bebfafc1ef4af4b90580077a803fe30f37d63eca6509e7381ca5fcf4e5bc31e136dfc72b653b4d942fdeda058f9fcecc3dcbec9c61e2c82ac3324b9fc0f44 SHA512 5aa8ced8d83572358e008c0df45dbe72a2e9c0003c9f49514d6b91bf9b75d4fb48b189ffe00d14e5675679943a05215a9873c5c9bde9ab1be4ed4813e75714e3 -AUX mongos.confd-r2 546 BLAKE2B 45203bdec8e30bbf97af6b02a66a366946c02f6820bc23486dcfc7ff87d9db771f8efa387e2afa77900ad68bdeeb327ed288af2d63a22000580f9f882c6ec571 SHA512 30e208690b5f28bd0442b7ed302d9be991aedd27203f24e5849201d33291ad7f0f9153ae3a00b55697d79a45c40d7b3792ff45f0c24ef2cf4e88222f88ea1400 AUX mongos.confd-r3 470 BLAKE2B 9cf6f201d337430901d957a5a0811ff11ac2e81814aac2120c5018e6ec4c38b5ca22d19caea593834416c63609c69a8294227fb6b30200b41dfb29799cc5c1b4 SHA512 952fb9cf5d3eeea2006b101e23142e408c98d66d1f4f868f6ea5a4df6a6331ddcbcbdfb24f4b031c1a8c42652141a3684073b96dfc0b3fbd21dc6b5bcf0e36cb -AUX mongos.initd-r2 654 BLAKE2B e1d87021c218adf49f2efbd3dc6d8afb94bc4f71e60d91df9c1338241b950f62ecb1d4a989cd559b39c4c05ed7084618e4f1ec4e5eb253fae0b62f03fc9696d9 SHA512 751ddcfa406d6683e33b484ae441f7c8502698b651a1ace9b77bc13be48cee1c1ad657c474764f06bd8ef4bff51cdb235929c8d41b669a326a6ab7d24647a2c5 AUX mongos.initd-r3 422 BLAKE2B 90872d0d8cdc5e33e3eebee848f58a2db0511d48b496ba9318117b74ad9265ead53a21b7d1790729a62d61839099bee315ace8ff3646c01e096a943c2251bf88 SHA512 bf5897614d59c6b4e72529b126408a62ea37d9e9368e5ff69c8fcf2bad3ec09065cff09467f82117a892c51090018706d2f38c03cb9a974a61a49bd9efa0f144 -DIST mongodb-src-r3.2.17.tar.gz 29295394 BLAKE2B 3fa9d8fa0b50b72c3b2aa86980dd4d46bd053f23d044e321d6f98f5edb76c566bf00455cf745110a8c39355843664d9d1fbbdf554fc8696de73db2b270446adc SHA512 0d6a01278bc61805afd164e4a29abe150a5a96d551ed2c7c5d385b269924a7c5f065315e4f19c0ab070aa275ac03447959af45f33826457e5db0c5f98e623512 -DIST mongodb-src-r3.4.10.tar.gz 39959937 BLAKE2B f14f081525f694b939bc21f8cb6364c2a37573c0e1867322dd2062dc167b112751579c3e2d76730b3ff07b0c6bbfd36666bbea99162b7c10eef62d92eb1b0850 SHA512 6293dde40a8433477ba3b1cf77abbdb32b28ce58279cc616b488647c8ab71b5ab3eab2146058c4a74b9e00f0938f1415020e2f26ea01f2b29dd78a1a38d58c3a DIST mongodb-src-r3.4.16.tar.gz 40093657 BLAKE2B 7123444dbdd0b2ad3adfb3391e0177d33c1b6c6a4ea83027821c564faad047a736e52926bc15c58bef59c18282436e913fd3bc9963705e030da01356f83ea367 SHA512 e22eb1fe2a832fed8305200614988c5ecfd619cee44fe2263bffa151732c0e26584084e64065dbc65152be6e5c1767a538193770359bea92f3703c72239075db DIST mongodb-src-r3.6.8.tar.gz 40428295 BLAKE2B cc02f73cfb49fb38ccabaad5a02610ce73fc41895ce944e48669e254bcbc70c8872a1bd7f8e04371fae4fcd9af2466fd8550367dd1d1da5cee50b86fc5023bf2 SHA512 c981f3269be3bafb59aa89d36c39a801fd7007b60db6c09b4616a559aaf8e50b34cabbdac2b59f23552c0a5112913fba468f7e2ed9a5f4daa3702dcffdf34999 -DIST mongodb-src-r4.0.2.tar.gz 49328232 BLAKE2B 0e56392de5b8cd59c49c38469ed427c52dbd91cd64b3c97da6809c0f849198f836896b8ef24a06e7ff84a65a7986b76df2ca4ffeafe76d8afe0e031ad25ecf5a SHA512 171422ee028ebc279bb2cf20c78a3ce89a6cc15abf0955ac20a6c67f1aae577bf99ca4363fc428dba6ae0250b97f95d2fc51ca7f4a4505e8c38c9a11ca249800 DIST mongodb-src-r4.0.3.tar.gz 49435646 BLAKE2B 1663823d48ec6d93b30b4d68a09bab164291530fd4966fcdd07ffbaceaf25d9fc5c7480d0d794fdd374fa3a2d11f19d87556cf0c47198a13f9d8fb5ccf7f0343 SHA512 c77a01d8d16322514f42030c46a0aa9cedb90f186375222eeb31648060265006b5e929bdde6ca8e7ecd71018f7c19f5bade463d98db0f053d586ffc8adc99550 -EBUILD mongodb-3.2.17.ebuild 5338 BLAKE2B fd327b1c5bb85e833782839e07b3379a103f0545fb9852cb06d7f6f0b3548b921dfce227d1882a1e448a533c043718c778e9141ec5715805a24c9e2fbf199fa1 SHA512 a439c32b20a81d1c8e199c8a6928aa75479562e6b33c0d7b50797181226a093f571a1caaab102569a9a308db18a73c51558657ccd4bcb1d7e137eb22fb363c4e -EBUILD mongodb-3.4.10.ebuild 5133 BLAKE2B e6b3742a9bff53afd63eae4fe3b9574e43f7007dc1efc1687583b17820e812341f354e7dd7882762a871f1d5b1e2732a9cd20cff7981c05de4058c26c58f68d2 SHA512 737046d5ac14920014581840d3e53597e916cc4f1bbdfba850842718039c227c5cf3e5b62cd3f491e1221ff8fefd74fb3ea75ecafd6218c4036f4973316c56eb +DIST mongodb-src-r4.0.4.tar.gz 49462543 BLAKE2B a1193ebc6ed818d4e5f27bff1792b6c6c193ff063cae36f2f7adcf63a3b780658d221691c58f42e494ec514d78c81d093067ea7dce8c7158a28846434f493821 SHA512 7e434c8ac715793d7b0015116af72cde766bae953cdc38653a2746ef4a76898dec58f8ee607d9357b87fa11e5a1f0248ae739473ded2d3dcca2b2801434b07e2 EBUILD mongodb-3.4.16.ebuild 4086 BLAKE2B 09d968fc68f4a3c717ce1e4b2f714464c04251fa8c241c9492a26f3777fcc458d7d27810530129753756012341924773c46bea0474900dd7289edb7778283187 SHA512 6f29c0d7dcb54403fe689f168652586bc4fae81de2b0d28f284046ab33c1e3ad94fbed3815ba2fd2164eacd12e9f43bdd1943179778175d6fe3097165a2410e0 -EBUILD mongodb-3.6.8.ebuild 4197 BLAKE2B beff16daa75bda10b52e83833e49026423c938470cad323aad985b653567972e3098c14df8b3939e0c9e3e728112b171ea5d8156fb1352c833b613c74f8cbfe7 SHA512 5d70308e9bcf8c7e482ac876201ecfa8f9950686d1f62fa5c823a7a1a3b1f5f2ef454d62be25be057403043cb43f8c87724befbe00dea548c60319dadd98938d -EBUILD mongodb-4.0.2.ebuild 4198 BLAKE2B 8ecf5ad9712f6c5f3257df6dbd7dba686206c5498287cd39082920a9bbdaaf75585bb205cf09c515d27331a404f2b493d222bcf22d15c6904933bf753db04d01 SHA512 1f0932d7f192b2526d48389375aacc1f73e4b388f6ad46014d47eb18583940c13c9356288db29270d199f5e8930882842128df42c98171a7abf1cc582ffcb210 +EBUILD mongodb-3.6.8.ebuild 4196 BLAKE2B 5c5a72caa94102818cc03de85afc8d4c2818775814a9dd04555db4c1676dda953c8e64e3d222e35e96dfa90a26a18d9825c910f48102c6d574e8de816749523e SHA512 f6f83c1dd60eb8887457135b82194dd16c874678369a3b3a29907406b921502100e6d52d08b4dca6d9777d6d6c6453e6f134b08550304b0321138fb296e259dd EBUILD mongodb-4.0.3.ebuild 4198 BLAKE2B 8ecf5ad9712f6c5f3257df6dbd7dba686206c5498287cd39082920a9bbdaaf75585bb205cf09c515d27331a404f2b493d222bcf22d15c6904933bf753db04d01 SHA512 1f0932d7f192b2526d48389375aacc1f73e4b388f6ad46014d47eb18583940c13c9356288db29270d199f5e8930882842128df42c98171a7abf1cc582ffcb210 +EBUILD mongodb-4.0.4.ebuild 4196 BLAKE2B 74791aaa39a513dabf0f5f21bf7fc0fb2a9baf63ba7ca7221f18b631e366b24ca3f59d3d2ed55886478ccab5bd836e11fc5b99e30c1e4866be90132a002a4d31 SHA512 45910cb89a28eb11f0e9d37311feca1cfbc5a6f5c22d7ea2c057d44849dc722e2322b6b3de77dddf1af9daa5af4b21817d4a94e6401dc5e6470a813ee3c2da74 MISC metadata.xml 835 BLAKE2B 6aaa10090846882c813db2fcbec27e9bb8d8ab5b34bbb0f5ac7b0de922606a6382be60f30a19502694022a38dc7c67f03b986d5cd1473e530ab4d05f5ee233a0 SHA512 8d190ebb08b6951c9c9ce39872c0c76b6236a0687980577eae7b2181c0bccacc60ccc67cccc4edc05aa21f4d9d65621eb57f803aab91c7ace6ab794559c9d08a diff --git a/dev-db/mongodb/files/mongodb-3.0.14-fix-scons.patch b/dev-db/mongodb/files/mongodb-3.0.14-fix-scons.patch deleted file mode 100644 index 1db5d7695c72..000000000000 --- a/dev-db/mongodb/files/mongodb-3.0.14-fix-scons.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/SConstruct b/SConstruct ---- a/SConstruct -+++ b/SConstruct -@@ -1008,7 +1008,6 @@ - # -Winvalid-pch Warn if a precompiled header (see Precompiled Headers) is found in the search path but can't be used. - env.Append( CCFLAGS=["-fPIC", - "-fno-strict-aliasing", -- "-ggdb", - "-pthread", - "-Wall", - "-Wsign-compare", -@@ -1016,13 +1015,13 @@ - "-Winvalid-pch"] ) - # env.Append( " -Wconversion" ) TODO: this doesn't really work yet - if linux or darwin: -- env.Append( CCFLAGS=["-pipe"] ) - if not has_option("disable-warnings-as-errors"): - env.Append( CCFLAGS=["-Werror"] ) - - env.Append( CPPDEFINES=["_FILE_OFFSET_BITS=64"] ) -- env.Append( CXXFLAGS=["-Wnon-virtual-dtor", "-Woverloaded-virtual"] ) - env.Append( LINKFLAGS=["-fPIC", "-pthread"] ) -+ env.Append( CXXFLAGS=os.environ['CXXFLAGS'] ) -+ env.Append( LINKFLAGS=os.environ['LDFLAGS'] ) - - # SERVER-9761: Ensure early detection of missing symbols in dependent libraries at program - # startup. -@@ -1039,7 +1038,7 @@ - if not darwin: - env.Append( LINKFLAGS=["-rdynamic"] ) - -- env.Append( LIBS=[] ) -+ env.Append( LIBS=['pcre', 'pcrecpp', 'snappy', 'yaml-cpp'] ) - - #make scons colorgcc friendly - for key in ('HOME', 'TERM'): diff --git a/dev-db/mongodb/files/mongodb-3.0.14-fix-std-string.patch b/dev-db/mongodb/files/mongodb-3.0.14-fix-std-string.patch deleted file mode 100644 index 9de319bda9dd..000000000000 --- a/dev-db/mongodb/files/mongodb-3.0.14-fix-std-string.patch +++ /dev/null @@ -1,83 +0,0 @@ ---- a/src/mongo/shell/bench.cpp 2017-09-20 19:12:20.893056990 +0200 -+++ b/src/mongo/shell/bench.cpp 2017-09-20 19:14:08.165060566 +0200 -@@ -52,6 +52,9 @@ - #include "mongo/util/time_support.h" - #include "mongo/util/version.h" - -+#include <string> -+using namespace std; -+ - // --------------------------------- - // ---- benchmarking system -------- - // --------------------------------- ---- a/src/mongo/db/dbwebserver.cpp 2017-09-20 19:24:50.042081961 +0200 -+++ b/src/mongo/db/dbwebserver.cpp 2017-09-20 19:26:20.240084968 +0200 -@@ -58,6 +58,8 @@ - #include "mongo/util/ramlog.h" - #include "mongo/util/version.h" - -+#include <string> -+using namespace std; - - namespace mongo { - ---- a/src/mongo/db/matcher/expression_leaf.cpp 2017-09-20 19:27:59.009088260 +0200 -+++ b/src/mongo/db/matcher/expression_leaf.cpp 2017-09-20 19:28:31.082089329 +0200 -@@ -39,6 +39,9 @@ - #include "mongo/db/jsobj.h" - #include "mongo/db/matcher/path.h" - -+#include <string> -+using namespace std; -+ - namespace mongo { - - Status LeafMatchExpression::initPath(const StringData& path) { ---- a/src/mongo/db/repl/master_slave.cpp 2017-09-20 19:30:04.569092445 +0200 -+++ b/src/mongo/db/repl/master_slave.cpp 2017-09-20 19:31:19.145094931 +0200 -@@ -70,6 +70,9 @@ - #include "mongo/util/exit.h" - #include "mongo/util/log.h" - -+#include <string> -+using namespace std; -+ - using boost::scoped_ptr; - using std::auto_ptr; - using std::cout; ---- a/src/mongo/util/net/miniwebserver.cpp 2017-09-20 19:32:55.368098138 +0200 -+++ b/src/mongo/util/net/miniwebserver.cpp 2017-09-20 19:33:57.128100197 +0200 -@@ -39,6 +39,9 @@ - #include "mongo/util/hex.h" - #include "mongo/util/log.h" - -+#include <string> -+using namespace std; -+ - namespace mongo { - - using boost::shared_ptr; ---- a/src/mongo/s/config.cpp 2017-09-20 19:42:45.614117812 +0200 -+++ b/src/mongo/s/config.cpp 2017-09-20 19:43:28.278119234 +0200 -@@ -60,6 +60,9 @@ - #include "mongo/util/net/message.h" - #include "mongo/util/stringutils.h" - -+#include <string> -+using namespace std; -+ - namespace mongo { - - using boost::scoped_ptr; ---- a/src/mongo/s/grid.cpp 2017-09-20 19:51:07.684134547 +0200 -+++ b/src/mongo/s/grid.cpp 2017-09-20 19:51:43.436135739 +0200 -@@ -55,6 +55,9 @@ - #include "mongo/util/startup_test.h" - #include "mongo/util/stringutils.h" - -+#include <string> -+using namespace std; -+ - namespace mongo { - - using std::endl; diff --git a/dev-db/mongodb/files/mongodb-3.2.0-fix-scons.patch b/dev-db/mongodb/files/mongodb-3.2.0-fix-scons.patch deleted file mode 100644 index 8b29bd4a2a4f..000000000000 --- a/dev-db/mongodb/files/mongodb-3.2.0-fix-scons.patch +++ /dev/null @@ -1,49 +0,0 @@ -From ab6f929ee4584f3f1a040e55a63f493603f228d2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org> -Date: Fri, 1 Jan 2016 10:27:35 +0100 -Subject: [PATCH] Fix build for Gentoo - ---- - SConstruct | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/SConstruct b/SConstruct -index 64c8387..fa9ab8b 100644 ---- a/SConstruct -+++ b/SConstruct -@@ -1371,7 +1371,6 @@ if env.TargetOSIs('posix'): - env.Append( CCFLAGS=["-fno-omit-frame-pointer", - "-fPIC", - "-fno-strict-aliasing", -- "-ggdb", - "-pthread", - "-Wall", - "-Wsign-compare", -@@ -1382,8 +1381,9 @@ if env.TargetOSIs('posix'): - if not has_option("disable-warnings-as-errors"): - env.Append( CCFLAGS=["-Werror"] ) - -- env.Append( CXXFLAGS=["-Wnon-virtual-dtor", "-Woverloaded-virtual"] ) - env.Append( LINKFLAGS=["-fPIC", "-pthread"] ) -+ env.Append( CXXFLAGS=os.environ['CXXFLAGS'] ) -+ env.Append( LINKFLAGS=os.environ['LDFLAGS'] ) - - # SERVER-9761: Ensure early detection of missing symbols in dependent libraries at program - # startup. -@@ -1398,10 +1398,10 @@ if env.TargetOSIs('posix'): - env.Append( SHLINKFLAGS=["-Wl,-z,now"] ) - env.Append( LINKFLAGS=["-rdynamic"] ) - -- env.Append( LIBS=[] ) -+ env.Append( LIBS=['pcre', 'pcrecpp', 'snappy', 'yaml-cpp'] ) - -- #make scons colorgcc friendly -- for key in ('HOME', 'TERM'): -+ #make scons colorgcc, distcc, ccache friendly -+ for key in ('HOME', 'PATH', 'TERM'): - try: - env['ENV'][key] = os.environ[key] - except KeyError: --- -2.6.4 - diff --git a/dev-db/mongodb/files/mongodb-3.2.16-Replace-string-with-explicit-std-string.patch b/dev-db/mongodb/files/mongodb-3.2.16-Replace-string-with-explicit-std-string.patch deleted file mode 100644 index 6067850ad0b2..000000000000 --- a/dev-db/mongodb/files/mongodb-3.2.16-Replace-string-with-explicit-std-string.patch +++ /dev/null @@ -1,283 +0,0 @@ -diff -Nru mongodb-src-r3.2.16_orig/src/mongo/db/dbwebserver.cpp mongodb-src-r3.2.16/src/mongo/db/dbwebserver.cpp ---- mongodb-src-r3.2.16_orig/src/mongo/db/dbwebserver.cpp 2017-07-14 22:36:01.000000000 +0200 -+++ mongodb-src-r3.2.16/src/mongo/db/dbwebserver.cpp 2017-08-01 15:43:55.860712772 +0200 -@@ -69,6 +69,7 @@ - using std::map; - using std::stringstream; - using std::vector; -+using std::string; - - using namespace html; - -diff -Nru mongodb-src-r3.2.16_orig/src/mongo/db/matcher/expression_leaf.cpp mongodb-src-r3.2.16/src/mongo/db/matcher/expression_leaf.cpp ---- mongodb-src-r3.2.16_orig/src/mongo/db/matcher/expression_leaf.cpp 2017-07-14 22:36:01.000000000 +0200 -+++ mongodb-src-r3.2.16/src/mongo/db/matcher/expression_leaf.cpp 2017-08-01 15:46:17.070708001 +0200 -@@ -200,7 +200,7 @@ - } - - void ComparisonMatchExpression::toBSON(BSONObjBuilder* out) const { -- string opString = ""; -+ std::string opString = ""; - switch (matchType()) { - case LT: - opString = "$lt"; -@@ -880,7 +880,7 @@ - } - - void BitTestMatchExpression::toBSON(BSONObjBuilder* out) const { -- string opString = ""; -+ std::string opString = ""; - - switch (matchType()) { - case BITS_ALL_SET: -diff -Nru mongodb-src-r3.2.16_orig/src/mongo/db/repl/master_slave.cpp mongodb-src-r3.2.16/src/mongo/db/repl/master_slave.cpp ---- mongodb-src-r3.2.16_orig/src/mongo/db/repl/master_slave.cpp 2017-07-14 22:36:01.000000000 +0200 -+++ mongodb-src-r3.2.16/src/mongo/db/repl/master_slave.cpp 2017-08-01 15:54:45.140690837 +0200 -@@ -161,7 +161,7 @@ - - BSONObjBuilder dbsNextPassBuilder; - int n = 0; -- for (set<string>::iterator i = addDbNextPass.begin(); i != addDbNextPass.end(); i++) { -+ for (set<std::string>::iterator i = addDbNextPass.begin(); i != addDbNextPass.end(); i++) { - n++; - dbsNextPassBuilder.appendBool(*i, 1); - } -@@ -170,7 +170,7 @@ - - BSONObjBuilder incompleteCloneDbsBuilder; - n = 0; -- for (set<string>::iterator i = incompleteCloneDbs.begin(); i != incompleteCloneDbs.end(); i++) { -+ for (set<std::string>::iterator i = incompleteCloneDbs.begin(); i != incompleteCloneDbs.end(); i++) { - n++; - incompleteCloneDbsBuilder.appendBool(*i, 1); - } -@@ -181,7 +181,7 @@ - } - - void ReplSource::ensureMe(OperationContext* txn) { -- string myname = getHostName(); -+ std::string myname = getHostName(); - - // local.me is an identifier for a server for getLastError w:2+ - bool exists = Helpers::getSingleton(txn, "local.me", _me); -@@ -373,10 +373,10 @@ - } - - virtual bool run(OperationContext* txn, -- const string& ns, -+ const std::string& ns, - BSONObj& cmdObj, - int options, -- string& errmsg, -+ std::string& errmsg, - BSONObjBuilder& result) { - HandshakeArgs handshake; - Status status = handshake.initialize(cmdObj); -@@ -393,7 +393,7 @@ - } handshakeCmd; - - bool replHandshake(DBClientConnection* conn, const OID& myRID) { -- string myname = getHostName(); -+ std::string myname = getHostName(); - - BSONObjBuilder cmd; - cmd.append("handshake", myRID); -@@ -445,7 +445,7 @@ - BSONElement e = i.next(); - if (e.eoo()) - break; -- string name = e.embeddedObject().getField("name").valuestr(); -+ std::string name = e.embeddedObject().getField("name").valuestr(); - if (!e.embeddedObject().getBoolField("empty")) { - if (name != "local") { - if (only.empty() || only == name) { -@@ -459,7 +459,7 @@ - save(txn); - } - --void ReplSource::resyncDrop(OperationContext* txn, const string& db) { -+void ReplSource::resyncDrop(OperationContext* txn, const std::string& db) { - log() << "resync: dropping database " << db; - OldClientContext ctx(txn, db); - dropDatabase(txn, ctx.db()); -@@ -502,13 +502,13 @@ - - static DatabaseIgnorer ___databaseIgnorer; - --void DatabaseIgnorer::doIgnoreUntilAfter(const string& db, const Timestamp& futureOplogTime) { -+void DatabaseIgnorer::doIgnoreUntilAfter(const std::string& db, const Timestamp& futureOplogTime) { - if (futureOplogTime > _ignores[db]) { - _ignores[db] = futureOplogTime; - } - } - --bool DatabaseIgnorer::ignoreAt(const string& db, const Timestamp& currentOplogTime) { -+bool DatabaseIgnorer::ignoreAt(const std::string& db, const Timestamp& currentOplogTime) { - if (_ignores[db].isNull()) { - return false; - } -@@ -598,7 +598,7 @@ - - // The database is present on the master and no conflicting databases - // are present on the master. Drop any local conflicts. -- for (set<string>::const_iterator i = duplicates.begin(); i != duplicates.end(); ++i) { -+ for (set<std::string>::const_iterator i = duplicates.begin(); i != duplicates.end(); ++i) { - ___databaseIgnorer.doIgnoreUntilAfter(*i, lastTime); - incompleteCloneDbs.erase(*i); - addDbNextPass.erase(*i); -@@ -793,10 +793,10 @@ - } - - void ReplSource::syncToTailOfRemoteLog() { -- string _ns = ns(); -+ std::string _ns = ns(); - BSONObjBuilder b; - if (!only.empty()) { -- b.appendRegex("ns", string("^") + pcrecpp::RE::QuoteMeta(only)); -+ b.appendRegex("ns", std::string("^") + pcrecpp::RE::QuoteMeta(only)); - } - BSONObj last = oplogReader.findOne(_ns.c_str(), Query(b.done()).sort(BSON("$natural" << -1))); - if (!last.isEmpty()) { -@@ -844,7 +844,7 @@ - */ - int ReplSource::_sync_pullOpLog(OperationContext* txn, int& nApplied) { - int okResultCode = 1; -- string ns = string("local.oplog.$") + sourceName(); -+ std::string ns = std::string("local.oplog.$") + sourceName(); - LOG(2) << "sync_pullOpLog " << ns << " syncedTo:" << syncedTo.toStringLong() << '\n'; - - bool tailing = true; -@@ -864,7 +864,7 @@ - BSONElement e = i.next(); - if (e.eoo()) - break; -- string name = e.embeddedObject().getField("name").valuestr(); -+ std::string name = e.embeddedObject().getField("name").valuestr(); - if (!e.embeddedObject().getBoolField("empty")) { - if (name != "local") { - if (only.empty() || only == name) { -@@ -888,7 +888,7 @@ - if (!only.empty()) { - // note we may here skip a LOT of data table scanning, a lot of work for the master. - // maybe append "\\." here? -- query.appendRegex("ns", string("^") + pcrecpp::RE::QuoteMeta(only)); -+ query.appendRegex("ns", std::string("^") + pcrecpp::RE::QuoteMeta(only)); - } - BSONObj queryObj = query.done(); - // e.g. queryObj = { ts: { $gte: syncedTo } } -@@ -907,7 +907,7 @@ - - // show any deferred database creates from a previous pass - { -- set<string>::iterator i = addDbNextPass.begin(); -+ set<std::string>::iterator i = addDbNextPass.begin(); - if (i != addDbNextPass.end()) { - BSONObjBuilder b; - b.append("ns", *i + '.'); -@@ -938,7 +938,7 @@ - BSONObj op = oplogReader.next(); - BSONElement ts = op.getField("ts"); - if (ts.type() != Date && ts.type() != bsonTimestamp) { -- string err = op.getStringField("$err"); -+ std::string err = op.getStringField("$err"); - if (!err.empty()) { - // 13051 is "tailable cursor requested on non capped collection" - if (op.getIntField("code") == 13051) { -@@ -1106,7 +1106,7 @@ - - // FIXME Handle cases where this db isn't on default port, or default port is spec'd in - // hostName. -- if ((string("localhost") == hostName || string("127.0.0.1") == hostName) && -+ if ((std::string("localhost") == hostName || std::string("127.0.0.1") == hostName) && - serverGlobalParams.port == ServerGlobalParams::DefaultDBPort) { - log() << "can't sync from self (localhost). sources configuration may be wrong." << endl; - sleepsecs(5); -@@ -1251,7 +1251,7 @@ - if (s) { - stringstream ss; - ss << "sleep " << s << " sec before next pass"; -- string msg = ss.str(); -+ std::string msg = ss.str(); - if (!serverGlobalParams.quiet) - log() << msg << endl; - ReplInfo r(msg.c_str()); -diff -Nru mongodb-src-r3.2.16_orig/src/mongo/shell/bench.cpp mongodb-src-r3.2.16/src/mongo/shell/bench.cpp ---- mongodb-src-r3.2.16_orig/src/mongo/shell/bench.cpp 2017-07-14 22:36:01.000000000 +0200 -+++ mongodb-src-r3.2.16/src/mongo/shell/bench.cpp 2017-08-01 16:20:20.864638957 +0200 -@@ -674,7 +674,7 @@ - invariant(bsonTemplateEvaluator.setId(_id) == BsonTemplateEvaluator::StatusSuccess); - - if (_config->username != "") { -- string errmsg; -+ std::string errmsg; - if (!conn->auth("admin", _config->username, _config->password, errmsg)) { - uasserted(15931, "Authenticating to connection for _benchThread failed: " + errmsg); - } -@@ -920,7 +920,7 @@ - - if (!result["err"].eoo() && result["err"].type() == String && - (_config->throwGLE || op.throwGLE)) -- throw DBException((string) "From benchRun GLE" + -+ throw DBException((std::string) "From benchRun GLE" + - causedBy(result["err"].String()), - result["code"].eoo() ? 0 : result["code"].Int()); - } -@@ -987,7 +987,7 @@ - - if (!result["err"].eoo() && result["err"].type() == String && - (_config->throwGLE || op.throwGLE)) -- throw DBException((string) "From benchRun GLE" + -+ throw DBException((std::string) "From benchRun GLE" + - causedBy(result["err"].String()), - result["code"].eoo() ? 0 : result["code"].Int()); - } -@@ -1035,7 +1035,7 @@ - - if (!result["err"].eoo() && result["err"].type() == String && - (_config->throwGLE || op.throwGLE)) -- throw DBException((string) "From benchRun GLE " + -+ throw DBException((std::string) "From benchRun GLE " + - causedBy(result["err"].String()), - result["code"].eoo() ? 0 : result["code"].Int()); - } -@@ -1136,7 +1136,7 @@ - try { - std::unique_ptr<DBClientBase> conn(_config->createConnection()); - if (!_config->username.empty()) { -- string errmsg; -+ std::string errmsg; - if (!conn->auth("admin", _config->username, _config->password, errmsg)) { - uasserted(15932, "Authenticating to connection for benchThread failed: " + errmsg); - } -@@ -1168,7 +1168,7 @@ - std::unique_ptr<DBClientBase> conn(_config->createConnection()); - // Must authenticate to admin db in order to run serverStatus command - if (_config->username != "") { -- string errmsg; -+ std::string errmsg; - if (!conn->auth("admin", _config->username, _config->password, errmsg)) { - uasserted(16704, - str::stream() -@@ -1204,7 +1204,7 @@ - { - std::unique_ptr<DBClientBase> conn(_config->createConnection()); - if (_config->username != "") { -- string errmsg; -+ std::string errmsg; - // this can only fail if admin access was revoked since start of run - if (!conn->auth("admin", _config->username, _config->password, errmsg)) { - uasserted(16705, -diff -Nru mongodb-src-r3.2.16_orig/src/mongo/util/net/miniwebserver.cpp mongodb-src-r3.2.16/src/mongo/util/net/miniwebserver.cpp ---- mongodb-src-r3.2.16_orig/src/mongo/util/net/miniwebserver.cpp 2017-07-14 22:36:01.000000000 +0200 -+++ mongodb-src-r3.2.16/src/mongo/util/net/miniwebserver.cpp 2017-08-01 16:01:01.832678112 +0200 -@@ -45,8 +45,9 @@ - using std::endl; - using std::stringstream; - using std::vector; -+using std::string; - --MiniWebServer::MiniWebServer(const string& name, const string& ip, int port) -+MiniWebServer::MiniWebServer(const std::string& name, const std::string& ip, int port) - : Listener(name, ip, port, false) {} - - string MiniWebServer::parseURL(const char* buf) { diff --git a/dev-db/mongodb/files/mongodb-3.2.4-boost-1.60.patch b/dev-db/mongodb/files/mongodb-3.2.4-boost-1.60.patch deleted file mode 100644 index 41c9bd2ba85c..000000000000 --- a/dev-db/mongodb/files/mongodb-3.2.4-boost-1.60.patch +++ /dev/null @@ -1,84 +0,0 @@ -Fix issues caused by boost::none changes.
-See also: https://bugs.gentoo.org/show_bug.cgi?id=578846
-Adapted from: https://github.com/mongodb/mongo/commit/92c3f80f384d2825efeabd0d26aa534c0deb6988
-
---- mongodb-src-r3.2.4/src/mongo/db/ftdc/compressor.cpp -+++ mongodb-src-r3.2.4/src/mongo/db/ftdc/compressor.cpp -@@ -47,7 +47,7 @@ - if (_referenceDoc.isEmpty()) { - FTDCBSONUtil::extractMetricsFromDocument(sample, sample, &_metrics); - _reset(sample, date); -- return {boost::none_t()}; -+ return {boost::none}; - } - - _metrics.resize(0); -@@ -107,7 +107,7 @@ - } - - // The buffer is not full, inform the caller -- return {boost::none_t()}; -+ return {boost::none}; - } - - StatusWith<std::tuple<ConstDataRange, Date_t>> FTDCCompressor::getCompressedSamples() { ---- mongodb-src-r3.2.4/src/mongo/db/ftdc/compressor_test.cpp -+++ mongodb-src-r3.2.4/src/mongo/db/ftdc/compressor_test.cpp -@@ -122,7 +122,7 @@ - TestTie() : _compressor(&_config) {} - - ~TestTie() { -- validate(boost::none_t()); -+ validate(boost::none); - } - - StatusWith<boost::optional<std::tuple<ConstDataRange, FTDCCompressor::CompressorState, Date_t>>> ---- mongodb-src-r3.2.4/src/mongo/db/ftdc/file_writer.cpp -+++ mongodb-src-r3.2.4/src/mongo/db/ftdc/file_writer.cpp -@@ -205,7 +205,7 @@ - - Status FTDCFileWriter::close() { - if (_archiveStream.is_open()) { -- Status s = flush(boost::none_t(), Date_t()); -+ Status s = flush(boost::none, Date_t()); - - _archiveStream.close(); - ---- mongodb-src-r3.2.4/src/mongo/util/concurrency/shared_mutex_win.hpp -+++ mongodb-src-r3.2.4/src/mongo/util/concurrency/shared_mutex_win.hpp -@@ -175,7 +175,7 @@ - return true;
- }
-
-- unsigned long const res=detail::win32::WaitForSingleObject(unlock_sem,::boost::detail::get_milliseconds_until(wait_until));
-+ unsigned long const res=WaitForSingleObject(unlock_sem,::boost::detail::get_milliseconds_until(wait_until));
- if(res==detail::win32::timeout)
- {
- for(;;)
-@@ -328,7 +328,7 @@ - {
- return true;
- }
-- unsigned long const wait_res=detail::win32::WaitForMultipleObjects(2,semaphores,true,::boost::detail::get_milliseconds_until(wait_until));
-+ unsigned long const wait_res=WaitForMultipleObjects(2,semaphores,true,::boost::detail::get_milliseconds_until(wait_until));
- if(wait_res==detail::win32::timeout)
- {
- for(;;)
-@@ -421,7 +421,7 @@ - return;
- }
-
-- BOOST_VERIFY(!detail::win32::WaitForSingleObject(unlock_sem,detail::win32::infinite));
-+ BOOST_VERIFY(!WaitForSingleObject(unlock_sem,detail::win32::infinite));
- }
- }
-
-@@ -502,7 +502,7 @@ - {
- if(!last_reader)
- {
-- BOOST_VERIFY(!detail::win32::WaitForSingleObject(upgrade_sem,detail::win32::infinite));
-+ BOOST_VERIFY(!WaitForSingleObject(upgrade_sem,detail::win32::infinite));
- }
- break;
- }
diff --git a/dev-db/mongodb/files/mongodb.confd-r2 b/dev-db/mongodb/files/mongodb.confd-r2 deleted file mode 100644 index dddb67e9301d..000000000000 --- a/dev-db/mongodb/files/mongodb.confd-r2 +++ /dev/null @@ -1,12 +0,0 @@ -# !! IMPORTANT !! -# -# This file is ONLY used to override some of the init script configuration. -# -# You should NOT use this file to configure your mongodb instance, -# see the /etc/mongodb.conf file instead. -# -# Available init script modifiers : -# - config_file : the configuration file to use (default : /etc/mongodb.conf) -# - user : the user used to run your mongodb instance (default : mongodb) -# - group : the group used to run your mongodb instance (default : mongodb) -# - run_dir : the run directory for your PID files (default : /run/mongodb) diff --git a/dev-db/mongodb/files/mongodb.initd-r2 b/dev-db/mongodb/files/mongodb.initd-r2 deleted file mode 100644 index 27b9f2a43872..000000000000 --- a/dev-db/mongodb/files/mongodb.initd-r2 +++ /dev/null @@ -1,26 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -config_file=${config_file:-/etc/${SVCNAME}.conf} -run_dir=${run_dir:-/run/mongodb} - -command="/usr/bin/mongod" -command_args="--config ${config_file}" -command_background="true" -pidfile=${run_dir}/${SVCNAME}.pid -user=${user:-mongodb} -group=${group:-mongodb} -start_stop_daemon_args="--user ${user} --group ${group}" - -depend() { - use net -} - -start_pre() { - checkpath -d -m 0750 -o "${user}":"${group}" "${run_dir}" - if [ ! -f ${config_file} ]; then - eerror "Missing configuration file ${config_file}" - return 1 - fi -} diff --git a/dev-db/mongodb/files/mongos.confd-r2 b/dev-db/mongodb/files/mongos.confd-r2 deleted file mode 100644 index 0dc2a189ff67..000000000000 --- a/dev-db/mongodb/files/mongos.confd-r2 +++ /dev/null @@ -1,12 +0,0 @@ -# !! IMPORTANT !! -# -# This file is ONLY used to override some of the init script configuration. -# -# You should NOT use this file to configure your mongos instance, -# see the /etc/mongos.conf file instead. -# -# Available init script modifiers : -# - config_file : the configuration file to use (default : /etc/mongos.conf) -# - user : the user used to run your mongodb instance (default : mongodb) -# - group : the group used to run your mongodb instance (default : mongodb) -# - run_dir : the run directory for your PID files (default : /run/mongodb) diff --git a/dev-db/mongodb/files/mongos.initd-r2 b/dev-db/mongodb/files/mongos.initd-r2 deleted file mode 100644 index 2e7db669a5e0..000000000000 --- a/dev-db/mongodb/files/mongos.initd-r2 +++ /dev/null @@ -1,26 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -config_file=${config_file:-/etc/${SVCNAME}.conf} -run_dir=${run_dir:-/run/mongodb} - -command="/usr/bin/mongos" -command_args="--config ${config_file}" -command_background="true" -pidfile=${run_dir}/${SVCNAME}.pid -user=${user:-mongodb} -group=${group:-mongodb} -start_stop_daemon_args="--user ${user} --group ${group}" - -depend() { - use net -} - -start_pre() { - checkpath -d -m 0750 -o "${user}":"${group}" "${run_dir}" - if [ ! -f ${config_file} ]; then - eerror "Missing configuration file ${config_file}" - return 1 - fi -} diff --git a/dev-db/mongodb/mongodb-3.2.17.ebuild b/dev-db/mongodb/mongodb-3.2.17.ebuild deleted file mode 100644 index bda8f3b4e588..000000000000 --- a/dev-db/mongodb/mongodb-3.2.17.ebuild +++ /dev/null @@ -1,197 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) - -SCONS_MIN_VERSION="2.3.0" -CHECKREQS_DISK_BUILD="2400M" -CHECKREQS_DISK_USR="512M" -CHECKREQS_MEMORY="1024M" - -inherit eutils flag-o-matic multilib multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs user versionator check-reqs - -MY_P=${PN}-src-r${PV/_rc/-rc} - -DESCRIPTION="A high-performance, open source, schema-free document-oriented database" -HOMEPAGE="http://www.mongodb.org" -SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" - -LICENSE="AGPL-3 Apache-2.0" -SLOT="0" -KEYWORDS="amd64 ~x86" -IUSE="debug kerberos libressl mms-agent ssl test +tools" - -RDEPEND=">=app-arch/snappy-1.1.2 - >=dev-cpp/yaml-cpp-0.5.1 - >=dev-libs/boost-1.57:=[threads(+)] - >=dev-libs/libpcre-8.39[cxx] - dev-libs/snowball-stemmer - net-libs/libpcap - >=sys-libs/zlib-1.2.8:= - mms-agent? ( app-admin/mms-agent ) - ssl? ( - !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) - libressl? ( dev-libs/libressl:0= ) - )" -DEPEND="${RDEPEND} - =dev-lang/python-2* - <dev-util/scons-3 - >=sys-devel/gcc-4.8.2:* - sys-libs/ncurses - sys-libs/readline - debug? ( dev-util/valgrind ) - kerberos? ( dev-libs/cyrus-sasl[kerberos] ) - test? ( - dev-python/pymongo - dev-python/pyyaml - )" -PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" - -PATCHES=( - "${FILESDIR}/${PN}-3.2.0-fix-scons.patch" - "${FILESDIR}/${PN}-3.2.4-boost-1.60.patch" - "${FILESDIR}/${PN}-3.2.10-boost-1.62.patch" - "${FILESDIR}/${PN}-3.2.16-Replace-string-with-explicit-std-string.patch" - "${FILESDIR}/${PN}-3.4.6-sysmacros-include.patch" -) - -S=${WORKDIR}/${MY_P} - -pkg_pretend() { - if [[ ${REPLACING_VERSIONS} < 3.0 ]]; then - ewarn "To upgrade an existing MongoDB deployment to 3.2, you must be" - ewarn "running a 3.0-series release. Please update to the latest 3.0" - ewarn "release before continuing if wish to keep your data." - fi -} - -pkg_setup() { - enewgroup mongodb - enewuser mongodb -1 -1 /var/lib/${PN} mongodb - - # Maintainer notes - # - # --use-system-tcmalloc is strongly NOT recommended: - # https://www.mongodb.org/about/contributors/tutorial/build-mongodb-from-source/ - - scons_opts=( - CC="$(tc-getCC)" - CXX="$(tc-getCXX)" - - --disable-warnings-as-errors - --use-system-boost - --use-system-pcre - --use-system-snappy - --use-system-stemmer - --use-system-yaml - --use-system-zlib - ) - - # wiredtiger not supported on 32bit platforms #572166 - use x86 && scons_opts+=( --wiredtiger=off ) - - if use debug; then - scons_opts+=( --dbg=on ) - fi - - if use prefix; then - scons_opts+=( - --cpppath="${EPREFIX}/usr/include" - --libpath="${EPREFIX}/usr/$(get_libdir)" - ) - fi - - if use kerberos; then - scons_opts+=( --use-sasl-client ) - fi - - if use ssl; then - scons_opts+=( --ssl ) - fi - - python-any-r1_pkg_setup -} - -src_compile() { - # respect mongoDB upstream's basic recommendations - # see bug #536688 and #526114 - if ! use debug; then - filter-flags '-m*' - filter-flags '-O?' - fi - escons "${scons_opts[@]}" core tools -} - -src_install() { - escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr - - local x - for x in /var/{lib,log}/${PN}; do - keepdir "${x}" - fowners mongodb:mongodb "${x}" - fperms 0750 "${x}" - done - - doman debian/mongo*.1 - dodoc README docs/building.md - - newinitd "${FILESDIR}/${PN}.initd-r3" ${PN} - newconfd "${FILESDIR}/${PN}.confd-r3" ${PN} - newinitd "${FILESDIR}/${PN/db/s}.initd-r3" ${PN/db/s} - newconfd "${FILESDIR}/${PN/db/s}.confd-r3" ${PN/db/s} - - insinto /etc - newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf - newins "${FILESDIR}/${PN/db/s}.conf-r2" ${PN/db/s}.conf - - systemd_dounit "${FILESDIR}/${PN}.service" - - insinto /etc/logrotate.d/ - newins "${FILESDIR}/${PN}.logrotate" ${PN} - - # see bug #526114 - pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} -} - -pkg_preinst() { - # wrt bug #461466 - if [[ "$(get_libdir)" == "lib64" ]]; then - rmdir "${ED}"/usr/lib/ &>/dev/null - fi -} - -# FEATURES="test -usersandbox" emerge dev-db/mongodb -src_test() { - "${EPYTHON}" ./buildscripts/resmoke.py --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed" -} - -pkg_postinst() { - local v - for v in ${REPLACING_VERSIONS}; do - if ! version_is_at_least 3.0 ${v}; then - ewarn "!! IMPORTANT !!" - ewarn " " - ewarn "${PN} configuration files have changed !" - ewarn " " - ewarn "Make sure you migrate from /etc/conf.d/${PN} to the new YAML standard in /etc/${PN}.conf" - ewarn " http://docs.mongodb.org/manual/reference/configuration-options/" - ewarn " " - ewarn "Make sure you also follow the upgrading process :" - ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/" - ewarn " " - ewarn "MongoDB 3.0 introduces the WiredTiger storage engine." - ewarn "WiredTiger is incompatible with MMAPv1 and you need to dump/reload your data if you want to use it." - ewarn "Once you have your data dumped, you need to set storage.engine: wiredTiger in /etc/${PN}.conf" - ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/#change-storage-engine-to-wiredtiger" - break - fi - done - - ewarn "Make sure to read the release notes and follow the upgrade process:" - ewarn " https://docs.mongodb.org/manual/release-notes/3.2/" - ewarn " https://docs.mongodb.org/master/release-notes/3.2-upgrade/" - ewarn - ewarn " Starting in 3.2, MongoDB uses the WiredTiger as the default storage engine." -} diff --git a/dev-db/mongodb/mongodb-3.4.10.ebuild b/dev-db/mongodb/mongodb-3.4.10.ebuild deleted file mode 100644 index 18ea5f820117..000000000000 --- a/dev-db/mongodb/mongodb-3.4.10.ebuild +++ /dev/null @@ -1,194 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) - -SCONS_MIN_VERSION="2.3.0" -CHECKREQS_DISK_BUILD="2400M" -CHECKREQS_DISK_USR="512M" -CHECKREQS_MEMORY="1024M" - -inherit eutils flag-o-matic multilib multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs user versionator check-reqs - -MY_P=${PN}-src-r${PV/_rc/-rc} - -DESCRIPTION="A high-performance, open source, schema-free document-oriented database" -HOMEPAGE="http://www.mongodb.org" -SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" - -LICENSE="AGPL-3 Apache-2.0" -SLOT="0" -KEYWORDS="amd64" -IUSE="debug kerberos libressl mms-agent ssl test +tools" - -RDEPEND=">=app-arch/snappy-1.1.3 - >=dev-cpp/yaml-cpp-0.5.3 - >=dev-libs/boost-1.60:=[threads(+)] - >=dev-libs/libpcre-8.41[cxx] - dev-libs/snowball-stemmer - net-libs/libpcap - >=sys-libs/zlib-1.2.8:= - mms-agent? ( app-admin/mms-agent ) - ssl? ( - !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) - libressl? ( dev-libs/libressl:0= ) - )" -DEPEND="${RDEPEND} - =dev-lang/python-2* - <dev-util/scons-3 - >=sys-devel/gcc-5.3.0:* - sys-libs/ncurses - sys-libs/readline - debug? ( dev-util/valgrind ) - kerberos? ( dev-libs/cyrus-sasl[kerberos] ) - test? ( - dev-python/pymongo - dev-python/pyyaml - )" -PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" - -PATCHES=( - "${FILESDIR}/${PN}-3.2.10-boost-1.62.patch" - "${FILESDIR}/${PN}-3.4.0-fix-scons.patch" - "${FILESDIR}/${PN}-3.4.6-sysmacros-include.patch" - "${FILESDIR}/${PN}-3.4.7-no-boost-check.patch" -) - -S=${WORKDIR}/${MY_P} - -pkg_pretend() { - if [[ ${REPLACING_VERSIONS} < 3.0 ]]; then - ewarn "To upgrade from a version earlier than the 3.0-series, you must" - ewarn "successively upgrade major releases until you have upgraded" - ewarn "to 3.2-series. Then upgrade to 3.4 series." - fi -} - -pkg_setup() { - enewgroup mongodb - enewuser mongodb -1 -1 /var/lib/${PN} mongodb - - # Maintainer notes - # - # --use-system-tcmalloc is strongly NOT recommended: - # https://www.mongodb.org/about/contributors/tutorial/build-mongodb-from-source/ - - scons_opts=( - CC="$(tc-getCC)" - CXX="$(tc-getCXX)" - - --disable-warnings-as-errors - --use-system-boost - --use-system-pcre - --use-system-snappy - --use-system-stemmer - --use-system-yaml - --use-system-zlib - ) - - if use debug; then - scons_opts+=( --dbg=on ) - fi - - if use prefix; then - scons_opts+=( - --cpppath="${EPREFIX}/usr/include" - --libpath="${EPREFIX}/usr/$(get_libdir)" - ) - fi - - if use kerberos; then - scons_opts+=( --use-sasl-client ) - fi - - if use ssl; then - scons_opts+=( --ssl ) - fi - - python-any-r1_pkg_setup -} - -src_compile() { - # respect mongoDB upstream's basic recommendations - # see bug #536688 and #526114 - if ! use debug; then - filter-flags '-m*' - filter-flags '-O?' - fi - escons "${scons_opts[@]}" core tools -} - -src_install() { - escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr - - local x - for x in /var/{lib,log}/${PN}; do - keepdir "${x}" - fowners mongodb:mongodb "${x}" - fperms 0750 "${x}" - done - - doman debian/mongo*.1 - dodoc README docs/building.md - - newinitd "${FILESDIR}/${PN}.initd-r3" ${PN} - newconfd "${FILESDIR}/${PN}.confd-r3" ${PN} - newinitd "${FILESDIR}/${PN/db/s}.initd-r3" ${PN/db/s} - newconfd "${FILESDIR}/${PN/db/s}.confd-r3" ${PN/db/s} - - insinto /etc - newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf - newins "${FILESDIR}/${PN/db/s}.conf-r2" ${PN/db/s}.conf - - systemd_dounit "${FILESDIR}/${PN}.service" - - insinto /etc/logrotate.d/ - newins "${FILESDIR}/${PN}.logrotate" ${PN} - - # see bug #526114 - pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} -} - -pkg_preinst() { - # wrt bug #461466 - if [[ "$(get_libdir)" == "lib64" ]]; then - rmdir "${ED}"/usr/lib/ &>/dev/null - fi -} - -# FEATURES="test -usersandbox" emerge dev-db/mongodb -src_test() { - # this one test fails - rm jstests/core/jsHeapLimit.js || die - - "${EPYTHON}" ./buildscripts/resmoke.py --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed" -} - -pkg_postinst() { - local v - for v in ${REPLACING_VERSIONS}; do - if ! version_is_at_least 3.0 ${v}; then - ewarn "!! IMPORTANT !!" - ewarn " " - ewarn "${PN} configuration files have changed !" - ewarn " " - ewarn "Make sure you migrate from /etc/conf.d/${PN} to the new YAML standard in /etc/${PN}.conf" - ewarn " http://docs.mongodb.org/manual/reference/configuration-options/" - ewarn " " - ewarn "Make sure you also follow the upgrading process :" - ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/" - ewarn " " - ewarn "MongoDB 3.0 introduces the WiredTiger storage engine." - ewarn "WiredTiger is incompatible with MMAPv1 and you need to dump/reload your data if you want to use it." - ewarn "Once you have your data dumped, you need to set storage.engine: wiredTiger in /etc/${PN}.conf" - ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/#change-storage-engine-to-wiredtiger" - break - fi - done - - ewarn "Make sure to read the release notes and follow the upgrade process:" - ewarn " https://docs.mongodb.org/manual/release-notes/3.4/" - ewarn " https://docs.mongodb.com/manual/release-notes/3.4/#upgrade-procedures" -} diff --git a/dev-db/mongodb/mongodb-3.6.8.ebuild b/dev-db/mongodb/mongodb-3.6.8.ebuild index 0adc8e301d5e..b8820e940534 100644 --- a/dev-db/mongodb/mongodb-3.6.8.ebuild +++ b/dev-db/mongodb/mongodb-3.6.8.ebuild @@ -20,7 +20,7 @@ SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" LICENSE="AGPL-3 Apache-2.0" SLOT="0" -KEYWORDS="~amd64" +KEYWORDS="amd64" IUSE="debug kerberos libressl mms-agent ssl test +tools" RDEPEND=">=app-arch/snappy-1.1.3 diff --git a/dev-db/mongodb/mongodb-4.0.2.ebuild b/dev-db/mongodb/mongodb-4.0.4.ebuild index 98aa398f9f47..f871bc632f45 100644 --- a/dev-db/mongodb/mongodb-4.0.2.ebuild +++ b/dev-db/mongodb/mongodb-4.0.4.ebuild @@ -18,7 +18,7 @@ DESCRIPTION="A high-performance, open source, schema-free document-oriented data HOMEPAGE="https://www.mongodb.com" SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" -LICENSE="AGPL-3 Apache-2.0" +LICENSE="Apache-2.0 SSPL" SLOT="0" KEYWORDS="~amd64" IUSE="debug kerberos libressl mms-agent ssl test +tools" diff --git a/dev-db/mysql-connector-c++/Manifest b/dev-db/mysql-connector-c++/Manifest index 61764764cbcc..0d50126db2a5 100644 --- a/dev-db/mysql-connector-c++/Manifest +++ b/dev-db/mysql-connector-c++/Manifest @@ -5,6 +5,6 @@ AUX mysql-connector-c++-1.1.6-fix-cmake.patch 762 BLAKE2B 4cecebd2cb075c6e1af7ab AUX mysql-connector-c++-1.1.8-fix-mariadb.patch 1939 BLAKE2B f2d2528cacfa4457c20587557e5125f9d642ce162319ba6b077173b5407319d8d07e6b525a5fb95e797d43a3ad4e9ceb111ebd07a52cf38df1db71b9b4f2ab4c SHA512 66e4783b2ad2db463b243d2fcd7c4f89f1ddbb02f6c5711adb09b402bb448e4ee69b50f635c60201cf63048aebaea25b5db6a18f46b35b25e8d7920dbcfde9bd DIST mysql-connector-c++-1.1.9.tar.gz 508255 BLAKE2B e2cd300946a873a94beab13d9d1cb64ecb5bd9a9a56ef2217b1f7aff1643adc9afc0aa22c2ff1e0f6b8318cd34d12a7fe95f0584c96c212307fa9bd0cb54a2a1 SHA512 ec4d6cb7f21d52e786de3bff951e65ea5ad7391ba097b599d0094d3e8356cf17f700dee618e38e79d7a9e562684a6c51cca95fb8e2e225942766d33f8d0a5646 DIST mysql-connector-c++-8.0.11-src.tar.gz 2322951 BLAKE2B a1ea47c0440beae1892144186ad6b99a4519369845e1f37f5ce42088df6c29a458bd41840a1f9401dbd29827bc3a7c96ba34563a3a4cf3176e29e377cc254b9f SHA512 5113efb473b7cc63f680c04dacf5bee78d0a58ee20b41c8203edb92f8720c31c52c24de838996f25476eaa3d734c845531440317e82cb5e5f635bc03b057a148 -EBUILD mysql-connector-c++-1.1.9.ebuild 1572 BLAKE2B f94fc4fd38774bbb60716b47aca6e67c507ebb071aa999de2b30125ad9c2acfe9bf988e958a4cfbdfcefb16235f57f76e5fa1e4e57c86647d828e2d931ade1dd SHA512 3cce8cd778a8d22f77ec44a9ce65f91ec7f35ea8a4f1d0f60511b96d085ccf3e96e57ed651096808dded690556b58507acc55a9dcdb914946f478536fa737fcf +EBUILD mysql-connector-c++-1.1.9.ebuild 1568 BLAKE2B 767d7a824046b4b1b18967abc04ae51b0610b15af54d8f1491b7d0731a2a25add4ff0bf2dd0445c793737eaf897205216e554e4405f2ab3d3eec30ef0662edc4 SHA512 55070fa6863b2e3cffc3e7f71bd2b652b198ae824e256b6f72d9c525602582c05a57262ba7f33bf01802551617d4963f30b3bbf15818a4fd1a406ac6286aa65e EBUILD mysql-connector-c++-8.0.11.ebuild 831 BLAKE2B cd00b3ef8d70e64c8fa7d4852a45d58f060fa443dfb90ebffdb3fa11310d4afabf0396eb05ec4af04b2d3fb3115f38b10eb76a1a302d9d7a1cbb5b4f7e61fda0 SHA512 8de6feaa69664b8faea224769777b7050470fd0b60c0d317e00049bc0e29471bac94274ae0da4239ff211651bf3775df0526d29a02d39d88b1d107bddbb44ee0 MISC metadata.xml 378 BLAKE2B 43fdbbc8d3b6ef99e51da96ddfefbdeaa70ef5fcb2fc6067305f75f75b7ee2fd21b79ca76704d8752bf59ae057b28efb187b063770964246f93fea629b58b467 SHA512 c6e545fb60d306792421ea26a937aaa6aea53d2a4100c9cafe78cf695c9dd0620cf3e770d43ff42749ae42bbe3a35212407ea84edee9af2dcb0255c2b763ddfc diff --git a/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.9.ebuild b/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.9.ebuild index e004fcd9dff9..635d8c6cbd94 100644 --- a/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.9.ebuild +++ b/dev-db/mysql-connector-c++/mysql-connector-c++-1.1.9.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -12,7 +12,7 @@ SRC_URI="https://dev.mysql.com/get/Downloads/${URI_DIR}/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="amd64 arm ~arm64 ppc ppc64 ~sparc x86" +KEYWORDS="amd64 arm ~arm64 ppc ppc64 sparc x86" IUSE="debug examples gcov static-libs" DEPEND="virtual/libmysqlclient:= diff --git a/dev-db/mysql-connector-c/Manifest b/dev-db/mysql-connector-c/Manifest index 7791161a85b0..bf9c154b8885 100644 --- a/dev-db/mysql-connector-c/Manifest +++ b/dev-db/mysql-connector-c/Manifest @@ -2,6 +2,5 @@ AUX 20028_all_mysql-5.6-gcc7.patch 603 BLAKE2B f03dc2e39dca4496cc084b427daa60014 AUX 6.1.11-openssl-1.1.patch 8987 BLAKE2B 8bd00bb778e086cbdcd04b6ac904f36bd64bbbb332f913129eb3acbaf6da4d044fdc65523626a9fed47d6bf5859826af489bd9ae7ae51664c613c966a88708ba SHA512 46af56504ed2a69ce74a5e2040ee8b3355f5ac48fb80e4668b635f01a2650d07f50dd098ad43239e8b35a80e975a5a9549bd1b1a9c1a0612ed9e4750b537bb76 AUX mysql_com.patch 1787 BLAKE2B 4fbd40325f400586926072927b3f07231d577f18c1e30951c34c36ded9b9e42b7c3dc47ca51df974265c28b40116e30274d8a73d6a843e5d9d0074430bc17b08 SHA512 340365b05d72045af0ef12fd5c260a796be547d9abb97a6ef3d6aaf30aecf29368c1dfa28f1284da544a81656f0436f11ada2f8c5cb481540d1f1c90dd354b49 DIST mysql-connector-c-6.1.11-src.tar.gz 3489345 BLAKE2B 813512520ef660521221565a4466e81d902629d0ee731f746b68eed2b9129ea8361fcabe184537ec8ba91aed5a4b02dfb3450b36524c2e98f81fba148eee0cf1 SHA512 271395c888a93b833e0bbe1840b9987ecdb37d0f1cf89904207cc9aa99ed32e538aee8c9529ff39b6533947159776a8f5aa079da86ed51b1d26b086f4ffdd7c6 -EBUILD mysql-connector-c-6.1.11-r1.ebuild 2512 BLAKE2B 32d140f23e94ffbea15904aa2521e0254e51ac9f4eb0210023e343e0781282a822ab03fe923f37164bd21c94616bb7dca3725df436bd26bfc2d187ac9a680ecf SHA512 a47f7b83193220d858d0b3495233f04071c2ec62eb588c1ee2d5b884ccff217a74713f7e5fef953d472a9d8ce6f4cf9661aab092a3ecb776fcde1da46cd65f16 -EBUILD mysql-connector-c-6.1.11.ebuild 2226 BLAKE2B 67e1bf0d967f086f0946c8afc77827563ff9b2853a280af7bdaba51ffa7af803aad7241e44ba87e9aa72742e569212dc73be317660bbc11725e7fdb39609bbd0 SHA512 4967df77d63a9cc3a3628628d8ad840b6759bb6952a8cf55e6237bed1b35b7f68b10b22ab0994d28169fc433b85b99bed2e1f82b0a24420ff97f5d9e565afdd2 +EBUILD mysql-connector-c-6.1.11-r1.ebuild 2470 BLAKE2B 486c48eafc993ac8600e6be9b2d89cbdbf13800a21311b03500f96cfb051e7733dd0fae80d949b2736321602fb0bc11e6f4e940176df1c4a65fa1ba7fa8a67cb SHA512 5497b56e35bfefdc5aa91dbe9af658bd044d7e88029612ec1a1d200e76023d1135da726d630cf8ccd76d1877c9e9d1c126adc29c04aa3e5cdd781d245acc4ba0 MISC metadata.xml 239 BLAKE2B c4d6706d083b72927d239f41a644a4009c054c1c1a388af7733d3a2daf47d354009eb472573304a6be272601f05535297bcd9ceaea811a741cd905577ffe53d1 SHA512 e6e2fafe2f503db1d12e3d2368a99631ee8d014b7ea802d9879e7e3e2c0f9378675fffccd78ed09b914ae781ac3902567b1a53a721906e3ea63ceb51d0a1654b diff --git a/dev-db/mysql-connector-c/mysql-connector-c-6.1.11-r1.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-6.1.11-r1.ebuild index 7ec9bf8b064f..cb103e28c1ed 100644 --- a/dev-db/mysql-connector-c/mysql-connector-c-6.1.11-r1.ebuild +++ b/dev-db/mysql-connector-c/mysql-connector-c-6.1.11-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -18,18 +18,16 @@ 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" +KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 sparc x86" SUBSLOT="18" SLOT="0/${SUBSLOT}" -IUSE="libressl +ssl static-libs" +IUSE="libressl static-libs" CDEPEND=" sys-libs/zlib:=[${MULTILIB_USEDEP}] - ssl? ( - libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) - !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] ) - ) + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) + !libressl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] ) " RDEPEND="${CDEPEND} !dev-db/mysql[client-libs(+)] @@ -67,7 +65,7 @@ multilib_src_configure() { -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" -DWITH_ZLIB=system -DENABLE_DTRACE=OFF - -DWITH_SSL=$(usex ssl system bundled) + -DWITH_SSL=system -DLIBMYSQL_OS_OUTPUT_NAME=mysqlclient -DSHARED_LIB_PATCH_VERSION="0" ) diff --git a/dev-db/mysql-connector-c/mysql-connector-c-6.1.11.ebuild b/dev-db/mysql-connector-c/mysql-connector-c-6.1.11.ebuild deleted file mode 100644 index b0fd77fa0d6c..000000000000 --- a/dev-db/mysql-connector-c/mysql-connector-c-6.1.11.ebuild +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -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 ~ppc64 ~sparc ~x86" - -SUBSLOT="18" -SLOT="0/${SUBSLOT}" -IUSE="+ssl static-libs" - -CDEPEND=" - sys-libs/zlib:=[${MULTILIB_USEDEP}] - ssl? ( dev-libs/openssl:0=[${MULTILIB_USEDEP}] ) - " -RDEPEND="${CDEPEND} - !dev-db/mysql[client-libs(+)] - !dev-db/mysql-cluster[client-libs(+)] - !dev-db/mariadb[client-libs(+)] - !dev-db/mariadb-connector-c[mysqlcompat] - !dev-db/mariadb-galera[client-libs(+)] - !dev-db/percona-server[client-libs(+)] - " -DEPEND="${CDEPEND}" - -DOCS=( README ) -PATCHES=( - "${FILESDIR}/mysql_com.patch" - "${FILESDIR}/20028_all_mysql-5.6-gcc7.patch" -) - -src_prepare() { - sed -i -e 's/CLIENT_LIBS/CONFIG_CLIENT_LIBS/' "${S}/scripts/CMakeLists.txt" || die - cmake-utils_src_prepare -} - -multilib_src_configure() { - 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=$(usex ssl system bundled) - -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/Manifest b/dev-db/mysql/Manifest index 61e6a3178d74..b4e6479bf20a 100644 --- a/dev-db/mysql/Manifest +++ b/dev-db/mysql/Manifest @@ -5,15 +5,20 @@ AUX my.cnf-5.7 138 BLAKE2B 71862b4b77334ab74002237453d2c7f6b51cd1ae57dba3b00b19e AUX my.cnf.distro-client 631 BLAKE2B 9ba4edf4398410ef40bf7312a485edd70a807a9da37c69bb6f6bee2c58a722fef1b9f37d28f09f41912722451cc0e9913218d15be472a853a942119f019bf486 SHA512 f40539a56afe79b7c0dff14de46690fd67e8350755b27fbb490d914001c01836cdf9f851aa461bd8b60943ef2ca084b70e48d995f5c18bcc241309f3473c610c AUX my.cnf.distro-server 994 BLAKE2B 41dceff58edf748f9f60ac3c0d1682d2fc2f026fc1fd14b4c2dea398814beda3c09aabea04dd3a9e145464524c629e7e69dc257d1245e0a46dd8584b7f685172 SHA512 cf172edc23d3dda49c21af6b8adef8aa13694d8ceecddf1d612d4ae34d00ba53c51ae4ae7ca4d11083eeacb5d862f59a855a9d80e9e448ab8bbf17f42aac2650 DIST mysql-5.5.61.tar.gz 21027098 BLAKE2B b7589f632a211349fc34cec94e333b878e07113969bf5cf6f78cd37435d95b15c03eaf188ed09768033b182de125c9f018a5fe902094f17ab891f94cab9de6dd SHA512 978384915c145ec8f0d85deb764154d8d4a9764f2d342928bda6ad43a00bc110aa888895416d2ba5684a4432e433037990dd3fe8c5caf024faa487bc2e153f49 +DIST mysql-5.5.62.tar.gz 21111902 BLAKE2B f1cbb1c6b4dfac11c2c517a57a5c6216ce43766cc247b3c9b387326a7f6446cbc21ddb42bd95afa658c3b0ed2568a29563ceea248c6ec63364ce210119d39cc2 SHA512 1080a3989c20bbbfe98739f99dacd183f2087ceee5147845852144240386808568af4c908ecdbccdcb6114000ab760ed7257492834d50018eff9520260fd91ce DIST mysql-5.6.40.tar.gz 32083035 BLAKE2B efcc078341bae239df28ac0504111aa34926885ae47edb5011352b56552a5a3abd1f824f8cbdc23d8d667592b8f5510946ef18c3efa61865dbbc7f4bb8a2d4a0 SHA512 c8e458b4cd34cae87f1b088ed2188bd00de8cdc42709d5964e82fa2e4aaecfc12a75ae006c54ffa0d3d286fbdef9704d0cbb83436437d5705fb8921d960e758c DIST mysql-5.6.41.tar.gz 32111985 BLAKE2B 5ccad59333525b354db4fa892857e237cddf8fe1a4d289c6e410c31d6142a71d3ce4dab8d954fa9932ec1f83b50e8eccd5845e082deaaa56f1c0c5e21b2ce6c0 SHA512 a62d7a68c6bb49de33f8c9e634bce53cb453a87238e92967115e8e928fa9ed291727b8bd5a5271a0b5b634d957eb310c745edfb14b6be1deb9099bb757aa2cff +DIST mysql-5.6.42.tar.gz 32201731 BLAKE2B c573328b37225dac090c32178f90e1419fc1848612e304bddc11eafdd48228981a846857be680978b72ef76edbd5d2422a98b5d20b4d082fabcc2b072e2b8fde SHA512 3104e6a3145a119f2b012de6af2a92fc37134aa402b889a562f5fc2391705d0bc2f718166c5fa8387d973fff5ecd9544c8b389b6d0c81d98bdcaf2acfb9b55e8 DIST mysql-boost-5.7.23.tar.gz 49025014 BLAKE2B 669f10779bc2cda866d6bd876b4efe55fb4b0c796f596f66513a3ca85f322e2a03e9879eecd72a69729a0cb71d408c46cdd9086ae456712b4adff6ae7c584c97 SHA512 e4317f89d108a68652cd95e41ffd670c37b6663aabd6af3985d18052fb7e8d8879b5822399caf9091cecc0a949ec588c121c87cfd60d69941f68d0ecbedd0953 DIST mysql-boost-5.7.24.tar.gz 49110448 BLAKE2B 1cf64712d84cbb2dfd31f2a530470b6f7cbf5ae9107106d86705575ea9739fa582e1f079447d9a58c4762fffc636d69e448ebdec9172ee15dc09245bc39c3525 SHA512 bbd411e15cd9e6053a353146808b74881d2d950f09e94794a699e7604dadf767b58b661a8321fbe1424f2c2e6cfc3adaa388242183e759082eae47b64cbfbcde DIST mysql-extras-20180804-2323Z.tar.bz2 322215 BLAKE2B cca9e502e375bf43473335868517f6c450fc7bcf03e55de5a294c8bdcfcac2bb783dec09bbb3b6c30a561ba7e3a943543c017e2d42b61d466e699acdef4c0231 SHA512 efd9d416f394cc61b977ab76f05ab3acc5803ff8bdee8e1dbc65cc5b3f07e4f9742140d9586c028908b10fcc44f21c98ebffdebcc5c3578acbe05b07526bcb3d DIST mysql-extras-20181023-0012Z.tar.bz2 327834 BLAKE2B 91a82cbcecbbbe94933da0d8c26cdfee0171602785b2f717fbfec7da422f0ec36f26e897a3c21695f4748017d36c9956cbef03d0852246468368b812a604df82 SHA512 94996708a9da4d55c3aab74f75b74fa4aa80e3fbbb87d9dfe6c1596a934aceed466b7c853e38d9b63f59660763ccef617defc4e6e8770451c21a252250f4e7fa -EBUILD mysql-5.5.61.ebuild 25516 BLAKE2B 3363fc9f99fb6a3085a7de3cf540ddd853365b5865a418c752255417040ca568fa16a02e0b74cd98502eeadda4d11e7bd37269d1416232db279eedee15630320 SHA512 ccfbdef198de75215efb498a76525e03f469a5c596b9fe366f9e1973969f928263be1628b378369d76899eea6d7750c45ce07827d11b0f277b2aee2242540645 -EBUILD mysql-5.6.40-r2.ebuild 25633 BLAKE2B f8ec8617de040020878220e209fa36331f8570906177c950b36cca698c6864b38d8fc98eb7daf5b9f3536a2872ad5f5bc2dbaba8f72cd86894bb0bc5ca1385dd SHA512 9b3973d9c6c6c019f0b760f1b2a1f78b46337276d81b2c6b986c2e38a4aee5d4856ca5dde3f39ff33e503871ff6c9962da08a3ebfe1c74e52e970912908ee136 -EBUILD mysql-5.6.41.ebuild 25640 BLAKE2B 5398748da6151698932be68f502e5cf958b06304eda0a392c47d4e324334375b3f5359eacc76a8a9654ed18a6fce13e47a395c636e9718adc1bb3a0b41004911 SHA512 70e2783ad591e3c005c5324e92d36dd963e3241416435f41aaf37b14de3b812dd48b715557dff4fe41026bc8020c026bf33f99e518880cf62957250fc4242efc -EBUILD mysql-5.7.23-r2.ebuild 30076 BLAKE2B 12159e8282e9696673e947d4d03f9b971bb6cc836355a92e2892c9d8498684051018d9a272fec9324712161dda9b0aa7d5b7e9037528d5d8ae4fc46c02388719 SHA512 512c4fe4df7e562612b4bc831bf0a8a76d52756632ec4ef9c53fb1025c4401a5e758705b3c2e0a93c7a6d40847a46c4510b919dcdcb40dcb1486f1d37ffe23ad -EBUILD mysql-5.7.24.ebuild 30083 BLAKE2B db84c78f64036eb52a58f330d805ce32adac364a7929136b75de75582fde9d29e8b7c4c29cb035d69823cd1c2f898070d5e94fbedf339fff5591d211484c85b1 SHA512 43a60f27f1b0f47e64f70fb5368af0d5f52e816160db7809a206f8de76b2978b727d05606638ce5eb33dd100262494a6e6183f86e9d32fac19348a48993fbdb9 +DIST mysql-extras-20181111-2314Z.tar.bz2 329013 BLAKE2B fa928b699ef0e6f092e028fc1331cc33953d9855e784998fb2f8c1f1712e9424567b2d2b6b7c5ca375f178309522b3596fcba7babdbed7c85b87ae4b85e5db22 SHA512 5cc4d16c5c6b0491fb9532469ec0b9c65e27e1514d561ea4180845a1578fc8e7ba00fca479b9a784646846f5147e4f676340f639b78c3f5ee140dda26bd5bff2 +EBUILD mysql-5.5.61.ebuild 25515 BLAKE2B 2e8a5ff36ec6003ff7e4d746157afe8af9d462537d2808ab6cfe4d469cee1a594df38aafddcb010d0157335b42253f12474614f4eec85729f79d2e05a28cb8b3 SHA512 9ea05d2509c6693d71c5ce048e11393a77cf50570fa19f40500900284b9e5e5d1097de5c82fa518058ea773ac8fd30131a9c153b4effb371f4ce04f454e8867e +EBUILD mysql-5.5.62.ebuild 25662 BLAKE2B 88668c4e8deda3bb3cd4fd000457f0eade2b35b60bfb3ed82c56dfaa7e4e092aa7115ba997061086a958c72575042f846774ad34a9f9f71fdf87f2a8387686f0 SHA512 1c0360dd22cdc207775fd2bfdf37baebb25736ee15311ae946b62a4d557ffaceee5a2b33bc9c24bf8af8fcb18cffa9cf65304438eb49bd355e7cfa7e5df5c030 +EBUILD mysql-5.6.40-r2.ebuild 25714 BLAKE2B c78b1d8b2a77d095302f7e203c3ee6c0c2014770944072b87bd77f97972fcb6db52b05088adacbc821ce2e8f3dbb780bd40d850e381b866458b0d530fd11ea5d SHA512 b6301834c7813714f18f9763922d10e6faa33675705ba479c6d76e3c5673d903b0683f64a8281836bd6be396f398ed1bee14f9e6c8ddfe30b84ad1ac66a8be48 +EBUILD mysql-5.6.41.ebuild 25721 BLAKE2B babbbcf2b0004de259843b201af56ed5513d3c61e484164aff8ff8dc8266bad491628b5f4805a2deda373af6a39e0b086e23dec53799546e35dbb4f51a3c645e SHA512 5933bf59434bf7fdc2ff8d119d2c1cf58284bfda94ec2adbd4340e2958a6ac325bcbdd2106f538e26bcddf8c93ac3d9d0646757ba3e4c32f7dbc5336320a6df1 +EBUILD mysql-5.6.42.ebuild 25935 BLAKE2B 76cbf8b06b40ed74841ad1f10a31a2ea46f0a7f13cfddc65a8756ba222c3c893a92e0cb1a523120400b10911a56ff506fc94cfae0635711e409d4c9b0a826cfe SHA512 2125f86ca1245b86f41438a2fb4c08076e71f11ef8ca6365e48b979d075b9b24bf5c20163a38ee53029dada7f45a3e4ae71310f13e9eef5c97828f68db23df2e +EBUILD mysql-5.7.23-r2.ebuild 30078 BLAKE2B 57bf58e862639e651335a10a8c4dfc5f7f0f76bfb0545414d697875906d917131fedd3e9d0e58f57b886d8cae55adbd2a104ee3632d49b4ba0669b93a1a68bff SHA512 dfbb88e79b717ceb615246a806123ee2d30c1632cfb40d0bb9e04a9204565a92afbb2b37245794c15985e99a60d2adc46723b97e455fb85e137079d6192b148c +EBUILD mysql-5.7.24.ebuild 30085 BLAKE2B bd5de2f76e2c2b908a2b7f316ead2f7daa6b652394fcfe84d099f006b9b82f8225c6babdce75db77370765d6ae26bbecaa433d86299477f2b58917fd87bf292c SHA512 b60aa816475f58f8603249d693d107115fb6778eeb8b5ee3335328bfcad19140344247dc9fba9bc0a13bcf743a90a1f293a045a492da3072fbceb63c16fb15c7 MISC metadata.xml 1539 BLAKE2B 0bc66c5855bd1f4353a7f0b551229d68a940478687b4f38653f973e4a5cfcb946c86bdc2d8318aa96aba43598eb476b995005f26727dfa176ced00fbe2b129a1 SHA512 bc0ce8a3de5e55d954f65eec657930af069d3550f485334f80dfa4c6d17c6298d0609d1ba4fe8b6c988f8ad007858f147c17f1354c207891ac1a062a36af50ad diff --git a/dev-db/mysql/mysql-5.5.61.ebuild b/dev-db/mysql/mysql-5.5.61.ebuild index b2c26da97b4f..bba690fe0689 100644 --- a/dev-db/mysql/mysql-5.5.61.ebuild +++ b/dev-db/mysql/mysql-5.5.61.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="6" @@ -742,7 +742,7 @@ pkg_config() { --max_allowed_packet=8M \ --net_buffer_length=16K \ --socket=${socket} \ - --pid-file=${pidfile} + --pid-file=${pidfile} \ --tmpdir=${ROOT}/${MYSQL_TMPDIR}" #einfo "About to start mysqld: ${mysqld}" ebegin "Starting mysqld" diff --git a/dev-db/mariadb/mariadb-10.1.35.ebuild b/dev-db/mysql/mysql-5.5.62.ebuild index 549fe3bb2db6..630c5076e7d4 100644 --- a/dev-db/mariadb/mariadb-10.1.35.ebuild +++ b/dev-db/mysql/mysql-5.5.62.ebuild @@ -1,18 +1,16 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="6" -MY_EXTRAS_VER="20180809-1700Z" +MY_EXTRAS_VER="20180804-2323Z" 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 " +inherit eutils flag-o-matic prefix toolchain-funcs user cmake-utils multilib-build +SRC_URI="https://cdn.mysql.com/Downloads/MySQL-5.5/${P}.tar.gz + https://downloads.mysql.com/archives/MySQL-5.5/${P}.tar.gz" # Gentoo patches to MySQL if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then SRC_URI="${SRC_URI} @@ -23,24 +21,21 @@ if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" fi -HOMEPAGE="https://mariadb.org/" +HOMEPAGE="https://mysql.com/" 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" +IUSE="bindist client-libs debug extraengine jemalloc latin1 libressl + +perl profiling selinux +server static static-libs systemtap tcmalloc + test yassl" # Tests always fail when libressl is enabled due to hard-coded ciphers in the tests RESTRICT="!bindist? ( bindist ) libressl? ( test )" -REQUIRED_USE="jdbc? ( extraengine server !static ) - server? ( tokudb? ( jemalloc !tcmalloc ) ) - ?? ( tcmalloc jemalloc ) - static? ( yassl !pam )" +REQUIRED_USE="?? ( tcmalloc jemalloc ) + static? ( yassl )" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~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 @@ -57,13 +52,16 @@ else 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.31-enable-numa.patch - "${MY_PATCH_DIR}"/20035_all_mariadb-10.1-atomic-detection.patch + "${MY_PATCH_DIR}/01050_all_mysql_config_cleanup-5.5.patch" + "${MY_PATCH_DIR}/02040_all_embedded-library-shared-5.5.10.patch" + "${MY_PATCH_DIR}/20001_all_fix-minimal-build-cmake-mysql-5.5.41.patch" + "${MY_PATCH_DIR}/20002_all_mysql-va-list.patch" + "${MY_PATCH_DIR}/20006_all_cmake_elib-mysql-5.5.53.patch" + "${MY_PATCH_DIR}/20007_all_cmake-debug-werror-5.6.22.patch" + "${MY_PATCH_DIR}/20008_all_mysql-tzinfo-symlink-5.6.37.patch" + "${MY_PATCH_DIR}/20009_all_mysql_myodbc_symbol_fix-5.5.38.patch" + "${MY_PATCH_DIR}/20018_all_mysql-5.5.60-without-clientlibs-tools.patch" + "${MY_PATCH_DIR}/20027_all_mysql-5.5-perl5.26-includes.patch" ) # Be warned, *DEPEND are version-dependant @@ -85,72 +83,33 @@ COMMON_DEPEND=" >=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? ( virtual/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 + !dev-db/mariadb !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 ) ) ) )" +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 || \ @@ -160,7 +119,6 @@ pkg_setup() { die fi fi - java-pkg-opt-2_pkg_setup if has test ${FEATURES} && \ use server && ! has userpriv ${FEATURES} ; then eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." @@ -171,10 +129,6 @@ pkg_setup() { 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 @@ -183,14 +137,6 @@ pkg_postinst() { [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" if use server ; then - if use pam; then - einfo - elog "This install includes the PAM authentication plugin." - elog "To activate and configure the PAM plugin, please read:" - elog "https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/" - einfo - fi - if [[ -z "${REPLACING_VERSIONS}" ]] ; then einfo elog "You might want to run:" @@ -222,7 +168,7 @@ src_unpack() { # Grab the patches [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR%/}/mysql-extras" git-r3_src_unpack - mv -f "${WORKDIR%/}/${PN%%-galera}-${PV}" "${S}" || die + mv -f "${WORKDIR%/}/${P}" "${S}" || die } src_prepare() { @@ -238,15 +184,23 @@ src_prepare() { 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 + if use jemalloc; then + echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S%/}/sql/CMakeLists.txt" || die + fi + + # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux + if [[ -d "${S}/support-files/SELinux" ]] ; then + echo > "${S}/support-files/SELinux/CMakeLists.txt" || die + fi + + if use libressl ; then + sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \ + "${S}/cmake/ssl.cmake" || die + fi local plugin - local server_plugins=( 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 ) + 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}" @@ -259,21 +213,14 @@ src_prepare() { 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 + # Don't build example _disable_engine example + _disable_engine ndb 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]" @@ -297,73 +244,45 @@ src_configure(){ -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_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/mariadb" + -DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mysql" -DCOMPILATION_COMMENT="Gentoo Linux ${PF}" -DWITH_UNIT_TESTS=$(usex test ON OFF) -DWITH_ZLIB=system -DENABLED_LOCAL_INFILE=1 -DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock" - -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) ) + if use test ; then + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test ) + else + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) + fi + + if ! use yassl ; then + mycmakeargs+=( -DWITH_SSL=system ) + else + mycmakeargs+=( -DWITH_SSL=bundled ) + fi if use server ; then # Federated{,X} must be treated special otherwise they will not be built as plugins if ! use extraengine ; then mycmakeargs+=( - -DPLUGIN_FEDERATED=NO - -DPLUGIN_FEDERATEDX=NO ) + -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 + -DWITHOUT_FEDERATEDX_STORAGE_ENGINE=1 ) 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}." @@ -386,20 +305,21 @@ src_configure(){ ) fi mycmakeargs+=( + -DINSTALL_SQLBENCHDIR=share/mysql -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 ) + 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 jemalloc || use tcmalloc ; then - mycmakeargs+=( -DWITH_SAFEMALLOC=OFF ) + if use static; then + mycmakeargs+=( -DWITH_PIC=1 ) fi # Storage engines @@ -417,10 +337,8 @@ src_configure(){ else mycmakeargs+=( -DWITHOUT_SERVER=1 - -DWITH_EMBEDDED_SERVER=OFF -DEXTRA_CHARSETS=none -DINSTALL_SQLBENCHDIR= - -DWITH_SYSTEMD=no ) fi @@ -435,8 +353,8 @@ 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 + 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 @@ -449,32 +367,32 @@ src_install() { 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 + 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" + 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" + [[ -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" + "${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 + "${TMPDIR%/}/my.cnf.ok" || die fi - eprefixify "${TMPDIR}/my.cnf.ok" + eprefixify "${TMPDIR%/}/my.cnf.ok" newins "${TMPDIR}/my.cnf.ok" my.cnf if use server ; then @@ -482,29 +400,25 @@ src_install() { docinto "support-files" local script for script in \ - "${S}"/support-files/magic + "${S%/}"/support-files/magic do [[ -f "$script" ]] && dodoc "${script}" done docinto "scripts" - for script in "${S}"/scripts/mysql* ; do + 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" + [[ -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 \ +# ebuild mysql-X.X.XX.ebuild \ # digest clean package src_test() { @@ -537,8 +451,8 @@ src_test() { einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" # Run CTest (test-units) -# cmake-utils_src_test -# retstatus_unit=$? + cmake-utils_src_test + retstatus_unit=$? # Ensure that parallel runs don't die export MTR_BUILD_THREAD="$((${RANDOM} % 100))" @@ -554,7 +468,7 @@ src_test() { pushd "${TESTDIR}" > /dev/null || die touch "${T}/disabled.def" - # These are failing in MariaDB 10.0 for now and are believed to be + # These are failing in MySQL 5.5 for now and are believed to be # false positives: # # main.mysql_client_test, main.mysql_client_test_nonblock @@ -562,13 +476,10 @@ src_test() { # 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_client_test_comp rpl.rpl_extra_col_master_myisam ; do + main.mysql_client_test_comp rpl.rpl_extra_col_master_myisam \ + main.mysqlhotcopy_archive main.mysqlhotcopy_myisam main.openssl_1 \ + rpl.rpl_semi_sync_uninstall_plugin ; do _disable_test "$t" "False positives in Gentoo" done @@ -576,8 +487,6 @@ src_test() { _disable_test main.plugin_auth "Needs client libraries built" fi - _disable_test sys_vars.sysvars_server_notembedded "Broken test" # bug #661700 required profiling always on - # run mysql-test tests perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" retstatus_tests=$? @@ -597,7 +506,7 @@ src_test() { } mysql_init_vars() { - MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX}/usr/share/mariadb"} + 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"} @@ -780,7 +689,7 @@ pkg_config() { 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 + # see http://bugs.mysql.com/bug.php?id=31312 use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" # Figure out which options we need to disable to do the setup @@ -809,10 +718,10 @@ pkg_config() { pushd "${TMPDIR}" &>/dev/null || die # Filling timezones, see - # https://dev.mysql.com/doc/mysql/en/time-zone-support.html + # http://dev.mysql.com/doc/mysql/en/time-zone-support.html "${EROOT}/usr/bin/mysql_tzinfo_to_sql" "${EROOT}/usr/share/zoneinfo" > "${sqltmp}" 2>/dev/null - local cmd=( "${EROOT}usr/share/mariadb/scripts/mysql_install_db" ) + local cmd=( "${EROOT}usr/share/mysql/scripts/mysql_install_db" ) [[ -f "${cmd}" ]] || cmd=( "${EROOT}usr/bin/mysql_install_db" ) cmd+=( "--basedir=${EPREFIX}/usr" ${options} "--datadir=${ROOT}/${MY_DATADIR}" "--tmpdir=${ROOT}/${MYSQL_TMPDIR}" ) einfo "Command: ${cmd[*]}" @@ -838,7 +747,7 @@ pkg_config() { --max_allowed_packet=8M \ --net_buffer_length=16K \ --socket=${socket} \ - --pid-file=${pidfile} + --pid-file=${pidfile} \ --tmpdir=${ROOT}/${MYSQL_TMPDIR}" #einfo "About to start mysqld: ${mysqld}" ebegin "Starting mysqld" diff --git a/dev-db/mysql/mysql-5.6.40-r2.ebuild b/dev-db/mysql/mysql-5.6.40-r2.ebuild index 0c2284e90808..bd964e87045e 100644 --- a/dev-db/mysql/mysql-5.6.40-r2.ebuild +++ b/dev-db/mysql/mysql-5.6.40-r2.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="6" -MY_EXTRAS_VER="20180804-2323Z" +MY_EXTRAS_VER="20181111-2314Z" CMAKE_MAKEFILE_GENERATOR=emake @@ -64,6 +64,7 @@ PATCHES=( "${MY_PATCH_DIR}"/20027_all_mysql-5.5-perl5.26-includes.patch "${MY_PATCH_DIR}"/20028_all_mysql-5.6-gcc7.patch "${MY_PATCH_DIR}"/20031_all_mysql-5.6-fix-monitor.test.patch + "${MY_PATCH_DIR}"/20036_all_mysql-5.6-fix-rpl_semi_sync_shutdown_hang.test.patch ) # Be warned, *DEPEND are version-dependant @@ -738,7 +739,7 @@ pkg_config() { --max_allowed_packet=8M \ --net_buffer_length=16K \ --socket=${socket} \ - --pid-file=${pidfile} + --pid-file=${pidfile} \ --tmpdir=${ROOT}/${MYSQL_TMPDIR}" #einfo "About to start mysqld: ${mysqld}" ebegin "Starting mysqld" diff --git a/dev-db/mysql/mysql-5.6.41.ebuild b/dev-db/mysql/mysql-5.6.41.ebuild index 5f5915701abf..d4052c130f80 100644 --- a/dev-db/mysql/mysql-5.6.41.ebuild +++ b/dev-db/mysql/mysql-5.6.41.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="6" -MY_EXTRAS_VER="20180804-2323Z" +MY_EXTRAS_VER="20181111-2314Z" CMAKE_MAKEFILE_GENERATOR=emake @@ -64,6 +64,7 @@ PATCHES=( "${MY_PATCH_DIR}"/20027_all_mysql-5.5-perl5.26-includes.patch "${MY_PATCH_DIR}"/20028_all_mysql-5.6-gcc7.patch "${MY_PATCH_DIR}"/20031_all_mysql-5.6-fix-monitor.test.patch + "${MY_PATCH_DIR}"/20036_all_mysql-5.6-fix-rpl_semi_sync_shutdown_hang.test.patch ) # Be warned, *DEPEND are version-dependant @@ -738,7 +739,7 @@ pkg_config() { --max_allowed_packet=8M \ --net_buffer_length=16K \ --socket=${socket} \ - --pid-file=${pidfile} + --pid-file=${pidfile} \ --tmpdir=${ROOT}/${MYSQL_TMPDIR}" #einfo "About to start mysqld: ${mysqld}" ebegin "Starting mysqld" diff --git a/dev-db/mysql/mysql-5.6.42.ebuild b/dev-db/mysql/mysql-5.6.42.ebuild new file mode 100644 index 000000000000..a7c2b5d4d840 --- /dev/null +++ b/dev-db/mysql/mysql-5.6.42.ebuild @@ -0,0 +1,795 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" +MY_EXTRAS_VER="20181111-2314Z" + +CMAKE_MAKEFILE_GENERATOR=emake + +# Keeping eutils in EAPI=6 for emktemp in pkg_config + +inherit eutils flag-o-matic prefix toolchain-funcs \ + user cmake-utils multilib-build + +SRC_URI="http://cdn.mysql.com/Downloads/MySQL-5.6/${P}.tar.gz + https://cdn.mysql.com/archives/mysql-5.6/${P}.tar.gz + http://downloads.mysql.com/archives/MySQL-5.6/${P}.tar.gz" + +# Gentoo patches to MySQL +if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]]; then + SRC_URI="${SRC_URI} + mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~grknight/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~robbat2/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://dev.gentoo.org/~jmbsvicetto/distfiles/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" +fi + +HOMEPAGE="https://www.mysql.com/" +DESCRIPTION="A fast, multi-threaded, multi-user SQL database server" +LICENSE="GPL-2" +SLOT="0/18" +IUSE="client-libs cracklib debug jemalloc latin1 libressl numa +perl profiling selinux + +server static static-libs systemtap tcmalloc test yassl" + +# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests +RESTRICT="libressl? ( test )" + +REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )" + +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" + +# Shorten the path because the socket path length must be shorter than 107 chars +# and we will run a mysql server during test phase +S="${WORKDIR}/mysql" + +if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git" + EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras" + EGIT_CLONE_TYPE=shallow + MY_PATCH_DIR="${WORKDIR}/mysql-extras" +else + MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}" +fi + +PATCHES=( + "${MY_PATCH_DIR}"/01050_all_mysql_config_cleanup-5.6.patch + "${MY_PATCH_DIR}"/02040_all_embedded-library-shared-5.5.10.patch + "${MY_PATCH_DIR}"/20006_all_cmake_elib-mysql-5.6.35.patch + "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.6.22.patch + "${MY_PATCH_DIR}"/20008_all_mysql-tzinfo-symlink-5.6.37.patch + "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.6.patch + "${MY_PATCH_DIR}"/20018_all_mysql-5.6.25-without-clientlibs-tools.patch + "${MY_PATCH_DIR}"/20027_all_mysql-5.5-perl5.26-includes.patch + "${MY_PATCH_DIR}"/20028_all_mysql-5.6-gcc7.patch + "${MY_PATCH_DIR}"/20031_all_mysql-5.6-fix-monitor.test.patch + "${MY_PATCH_DIR}"/20036_all_mysql-5.6-fix-rpl_semi_sync_shutdown_hang.test.patch +) + +# Be warned, *DEPEND are version-dependant +# These are used for both runtime and compiletime +COMMON_DEPEND=" + kernel_linux? ( + sys-process/procps:0= + dev-libs/libaio:0= + ) + net-misc/curl + >=sys-apps/sed-4 + >=sys-apps/texinfo-4.7-r1 + jemalloc? ( dev-libs/jemalloc:0= ) + tcmalloc? ( dev-util/google-perftools:0= ) + systemtap? ( >=dev-util/systemtap-1.3:0= ) + !yassl? ( + !libressl? ( >=dev-libs/openssl-1.0.0:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + >=sys-libs/zlib-1.2.3:0= + sys-libs/ncurses:0= + server? ( + numa? ( sys-process/numactl ) + ) + !client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] ) +" +DEPEND="virtual/yacc + static? ( sys-libs/ncurses[static-libs] ) + || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) + ${COMMON_DEPEND}" +RDEPEND="selinux? ( sec-policy/selinux-mysql ) + client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c ) + !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + server? ( !prefix? ( dev-db/mysql-init-scripts ) ) + ${COMMON_DEPEND} +" +# For other stuff to bring us in +# dev-perl/DBD-mysql is needed by some scripts installed by MySQL +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + local GCC_MAJOR_SET=$(gcc-major-version) + local GCC_MINOR_SET=$(gcc-minor-version) + # Bug 565584. InnoDB now requires atomic functions introduced with gcc-4.7 on + # non x86{,_64} arches + if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die + fi + fi + if has test ${FEATURES} && \ + use server && ! has userpriv ${FEATURES} ; then + eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + + # This should come after all of the die statements + enewgroup mysql 60 || die "problem adding 'mysql' group" + enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user" +} + +pkg_preinst() { + # Here we need to see if the implementation switched client libraries + # We check if this is a new instance of the package and a client library already exists + local SHOW_ABI_MESSAGE libpath + if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT%/}/usr/$(get_libdir)/libmysqlclient.so" ]] ; then + libpath=$(readlink "${EROOT%/}/usr/$(get_libdir)/libmysqlclient.so") + elog "Due to ABI changes when switching between different client libraries," + elog "revdep-rebuild must find and rebuild all packages linking to libmysqlclient." + elog "Please run: revdep-rebuild --library ${libpath}" + ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" + fi +} + +pkg_postinst() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Create log directory securely if it does not exist + [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" + + if use server ; then + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + einfo + elog "You might want to run:" + elog "\"emerge --config =${CATEGORY}/${PF}\"" + elog "if this is a new install." + elog + elog "If you are switching server implentations, you should run the" + elog "mysql_upgrade tool." + einfo + else + einfo + elog "If you are upgrading major versions, you should run the" + elog "mysql_upgrade tool." + einfo + fi + fi +} + +src_unpack() { + unpack ${A} + # Grab the patches + [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack + + mv -f "${WORKDIR}/${P}" "${S}" || die +} + +src_prepare() { + _disable_engine() { + echo > "${S%/}/storage/${1}/CMakeLists.txt" || die + } + + _disable_plugin() { + echo > "${S%/}/plugin/${1}/CMakeLists.txt" || die + } + + if use jemalloc ; then + echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die + fi + if use tcmalloc; then + echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die + fi + # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux + if [[ -d "${S}/support-files/SELinux" ]] ; then + echo > "${S}/support-files/SELinux/CMakeLists.txt" || die + fi + + if use libressl ; then + sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \ + "${S}/cmake/ssl.cmake" || die + fi + + sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die + + local plugin + local server_plugins=( semisync ) + local test_plugins=( audit_null daemon_example fulltext ) + if ! use server; then # These plugins are for the server + for plugin in "${server_plugins[@]}" ; do + _disable_plugin "${plugin}" + done + fi + + if ! use test; then # These plugins are only used during testing + for plugin in "${test_plugins[@]}" ; do + _disable_plugin "${plugin}" + done + fi + + # Don't build example + _disable_engine example + _disable_engine ndb + _disable_plugin innodb_memcached + + cmake-utils_src_prepare +} + +src_configure(){ + # bug 508724 mariadb cannot use ld.gold + tc-ld-disable-gold + # Bug #114895, bug #110149 + filter-flags "-O" "-O[01]" + + append-cxxflags -felide-constructors + + # bug #283926, with GCC4.4, this is required to get correct behavior. + append-flags -fno-strict-aliasing + + CMAKE_BUILD_TYPE="RelWithDebInfo" + + # debug hack wrt #497532 + mycmakeargs=( + -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" + -DMYSQL_DATADIR="${EPREFIX}/var/lib/mysql" + -DSYSCONFDIR="${EPREFIX}/etc/mysql" + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLSHAREDIR=share/mysql + -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin + -DINSTALL_SCRIPTDIR=share/mysql/scripts + -DINSTALL_MYSQLDATADIR="${EPREFIX}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX}/usr/share/mysql" + -DCOMPILATION_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + ### TODO: make this system but issues with UTF-8 prevent it + -DWITH_EDITLINE=bundled + -DWITH_ZLIB=system + -DWITH_LIBWRAP=0 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DWITH_DEFAULT_FEATURE_SET=0 + # The build forces this to be defined when cross-compiling. We pass it + # all the time for simplicity and to make sure it is actually correct. + -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) + -DWITH_LIBEVENT=NO + -DWITHOUT_CLIENTLIBS=YES + -DENABLE_DTRACE=$(usex systemtap) + -DWITH_SSL=$(usex yassl bundled system) + -DINSTALL_MYSQLTESTDIR=$(usex test 'share/mysql/mysql-test' '') + -DWITHOUT_VALIDATE_PASSWORD=1 + ) + + if use server ; then + + if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]]; then + ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" + ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." + ewarn "You MUST file bugs without these variables set." + + mycmakeargs+=( + -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} + -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} + ) + + elif ! use latin1 ; then + mycmakeargs+=( + -DDEFAULT_CHARSET=utf8 + -DDEFAULT_COLLATION=utf8_general_ci + ) + else + mycmakeargs+=( + -DDEFAULT_CHARSET=latin1 + -DDEFAULT_COLLATION=latin1_swedish_ci + ) + fi + mycmakeargs+=( + -DWITH_NUMA=$(usex numa ON OFF) + -DEXTRA_CHARSETS=all + -DDISABLE_SHARED=$(usex static YES NO) + -DWITH_DEBUG=$(usex debug) + -DWITH_EMBEDDED_SERVER=OFF + ) + + 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 + + # 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 + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" + retstatus_tests=$? + + popd > /dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + local failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" +} + +mysql_init_vars() { + MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX%/}/usr/share/mysql"} + MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX%/}/etc/mysql"} + MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX%/}/var/lib/mysql"} + MY_LOGDIR=${MY_LOGDIR="${EPREFIX%/}/var/log/mysql"} + + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="" + if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then + MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ + | sed -e 's/.*=\s*//' \ + | tail -n1` + fi + fi + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="${MY_LOCALSTATEDIR}" + einfo "Using default MY_DATADIR" + fi + elog "MySQL MY_DATADIR is ${MY_DATADIR}" + + if [[ -z "${PREVIOUS_DATADIR}" ]] ; then + if [[ -e "${MY_DATADIR}" ]] ; then + # If you get this and you're wondering about it, see bug #207636 + elog "MySQL datadir found in ${MY_DATADIR}" + elog "A new one will not be created." + PREVIOUS_DATADIR="yes" + else + PREVIOUS_DATADIR="no" + fi + export PREVIOUS_DATADIR + fi + else + if [[ ${EBUILD_PHASE} == "config" ]]; then + local new_MY_DATADIR + new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + + if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]]; then + ewarn "MySQL MY_DATADIR has changed" + ewarn "from ${MY_DATADIR}" + ewarn "to ${new_MY_DATADIR}" + MY_DATADIR="${new_MY_DATADIR}" + fi + fi + fi + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_config() { + _getoptval() { + local mypd="${EROOT%/}"/usr/bin/my_print_defaults + local section="$1" + local flag="--${2}=" + local extra_options="${3}" + "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp" + } + local old_MY_DATADIR="${MY_DATADIR}" + local old_HOME="${HOME}" + # my_print_defaults needs to read stuff in $HOME/.my.cnf + export HOME=${EPREFIX%/}/root + + # Make sure the vars are correctly initialized + mysql_init_vars + + [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" + if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then + die "Minimal builds do NOT include the MySQL server" + fi + + if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]]; then + local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}" + MY_DATADIR_s="${MY_DATADIR_s%%/}" + local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}" + old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}" + + if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]]; then + if [[ -d "${MY_DATADIR_s}" ]]; then + ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist" + ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}" + else + elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}" + mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \ + || die "Moving MY_DATADIR failed" + fi + else + ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist" + if [[ -d "${MY_DATADIR_s}" ]]; then + ewarn "Attempting to use ${MY_DATADIR_s}" + else + eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist" + die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}" + fi + fi + fi + + local pwd1="a" + local pwd2="b" + local maxtry=15 + + if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then + local tmp_mysqld_password_source= + + for tmp_mysqld_password_source in mysql client; do + einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" + if [[ -n "${MYSQL_ROOT_PASSWORD}" ]]; then + if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]]; then + ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" + MYSQL_ROOT_PASSWORD= + continue + fi + + einfo "Found password in '${tmp_mysqld_password_source}' section!" + break + fi + done + + # Sometimes --show is required to display passwords in some implementations of my_print_defaults + if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]]; then + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" + fi + + unset tmp_mysqld_password_source + fi + MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)" + # These are dir+prefix + MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)" + MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} + + if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]]; then + einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" + install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR" + fi + if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]]; then + einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" + install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN" + fi + if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]]; then + einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" + install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG" + fi + + if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then + ewarn "You have already a MySQL database in place." + ewarn "(${ROOT%/}/${MY_DATADIR}/*)" + ewarn "Please rename or delete it if you wish to replace it." + die "MySQL database already exists!" + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then + + einfo "Please provide a password for the mysql 'root' user now" + einfo "or through the ${HOME}/.my.cnf file." + ewarn "Avoid [\"'\\_%] characters in the password" + read -rsp " >" pwd1 ; echo + + einfo "Retype the password" + read -rsp " >" pwd2 ; echo + + if [[ "x$pwd1" != "x$pwd2" ]] ; then + die "Passwords are not the same" + fi + MYSQL_ROOT_PASSWORD="${pwd1}" + unset pwd1 pwd2 + fi + + local options + local sqltmp="$(emktemp)" + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see http://bugs.mysql.com/bug.php?id=31312 + use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" + + 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.23-r2.ebuild b/dev-db/mysql/mysql-5.7.23-r2.ebuild index 5d32a03498cf..0b7a82c88b4d 100644 --- a/dev-db/mysql/mysql-5.7.23-r2.ebuild +++ b/dev-db/mysql/mysql-5.7.23-r2.ebuild @@ -901,7 +901,7 @@ pkg_config() { --max_allowed_packet=8M \ --net_buffer_length=16K \ --socket=${socket} \ - --pid-file=${pidfile} + --pid-file=${pidfile} \ --tmpdir=${ROOT}/${MYSQL_TMPDIR}" #einfo "About to start mysqld: ${mysqld}" ebegin "Starting mysqld" diff --git a/dev-db/mysql/mysql-5.7.24.ebuild b/dev-db/mysql/mysql-5.7.24.ebuild index 18f5cd12d4a6..d42e62682c48 100644 --- a/dev-db/mysql/mysql-5.7.24.ebuild +++ b/dev-db/mysql/mysql-5.7.24.ebuild @@ -901,7 +901,7 @@ pkg_config() { --max_allowed_packet=8M \ --net_buffer_length=16K \ --socket=${socket} \ - --pid-file=${pidfile} + --pid-file=${pidfile} \ --tmpdir=${ROOT}/${MYSQL_TMPDIR}" #einfo "About to start mysqld: ${mysqld}" ebegin "Starting mysqld" diff --git a/dev-db/percona-server/Manifest b/dev-db/percona-server/Manifest index 87e184a3f787..b62ff3a18f58 100644 --- a/dev-db/percona-server/Manifest +++ b/dev-db/percona-server/Manifest @@ -8,7 +8,9 @@ DIST mysql-extras-20181017-2201Z.tar.bz2 328311 BLAKE2B f1b179e0f2d63105f03ba238 DIST percona-server-5.6.40-84.0.tar.gz 52684007 BLAKE2B 11658be2319880f7e8815c7b620b7d460dd7a559316ca96905573b0fa2d7180b084ed425f76f6d850f06862e424b5a8d6ced8356f9075826b77e89e86095eb40 SHA512 b1075933bdf1afb726acd799e834cb45a1d2a15d3f37f313da71f8da03a7b9480d7ccfb4cb6a820fb6ccf58851d8c9473bce975203cd6bc007a2b74b36a1127f DIST percona-server-5.6.41-84.1.tar.gz 52736448 BLAKE2B 1ec5e17f08274caa3882f829f25bbf74a3b37d2ba208f62376106f0d89e5470f461f7852e365d5da9503d5500702e28f08461e5aa0c5ae6b1a30a0e98dbb426b SHA512 60783154f9ab097083a484c34e584b396eeba4aa53dc8616c467ca9c85cc626be08e3165740703453cc4fb35f3af94ac34260f1e2bb133d60f832661251cbb3c DIST percona-server-5.7.23-23.tar.gz 79165468 BLAKE2B a460ac88886fa2be65abb0520d541db54413274599e02d8de3a01a68f8c3da431bfe819eb32bf80518fdff69bbcfae90ee089d2a096ee6210f9e4efe60dbab25 SHA512 351d40d3f7c3fe72f733443a6ef3902e1455390835e52e73d7eb48698ac6f2363e07811d40b22af5b1c7607622017d613279581940522c5e99660fac89d4d4c6 -EBUILD percona-server-5.6.40.84.0.ebuild 31732 BLAKE2B 253a7c8f0a734824a8f11e689f49e5fd90369e6b507bbcfbf87d04af1c7804f8dfffd3ec69bd466a769203dae893d9326cbc8d8ded60ddf724a06369839a727a SHA512 414b14c70a25e2ad20a35013345ae81edc69c57d85662ef104dbc5d3d6bd98e9b89b775ad1f0f2c0842c3ec868a5c651d03b91cb15fb841700e9ec13d0e00d26 -EBUILD percona-server-5.6.41.84.1.ebuild 31633 BLAKE2B 0715c23cab0e532c855e6215bf8f1d319f774a9b825e69957639681027bf179b1cf5334e518ca066f561d9bb431bb8ebd9caed5acc33ffeb4369ed02c4962c0f SHA512 88f79bf0b9873a8daf0759cfcc0095d2480a1f098a9ef15536cb331eb4bd2c4e38b40299081baca296e4f6c51f9a3e6f65741c3886ba98473c59b43cfc8149df -EBUILD percona-server-5.7.23.23-r1.ebuild 33817 BLAKE2B 7f717daa32a71cdf530ec8685d75a6d37fa26fcb81315792844ed9efab29abd2e524d24b5ca43748f19923ade89304a7e3989b48f30a49b1f298d6418730c473 SHA512 902abd98a239b571505b78add6be3331e3d0bde94341e43e0ed3dfba0e626a74b97097bdb50f7be3475a5bf9e0dcfe5a7a519989b06bac8fd61f152666c31279 +DIST percona-server-5.7.23-24.tar.gz 81641623 BLAKE2B f23e8787f7c3b38517e22b8b12da38f549b03343091cdb7ff17b0b719036a10aa954f30162fdf032fa4813f6ee59881fa9334f7ce6d1a646fa2c338b4bf3f2cb SHA512 9449cf4f5e6b9abb062b17652a258ddf99397d82efd89c9b0c1b20ddfef3d3531c2c1b71cb91664ea6ee897c136310af58fcc900d5f80d37e8eb73a2a616fa41 +EBUILD percona-server-5.6.40.84.0.ebuild 31731 BLAKE2B fcceabd0a8346cdae61fc980ec94e87a1da1a2a4ea638a436eec4e9fdaccd9d2cd121b4b3373c45be7d3c1002d721fb25f600d84801db36c8fbe84bccae9edf4 SHA512 72979e5ee1be9ef964df0fce7a334baaa549879b566d44cc66106ce121d0043fa469417efef5e179c8e237d43d3650edb71fed96637196d1e6060986503ebe8a +EBUILD percona-server-5.6.41.84.1.ebuild 31632 BLAKE2B e1c3c7c21210fe2208c5b66e141859f9cf2f77fc5f80d829b6b5f6fa653a6219c1f6bea0bbe1d18886ac57d8925911b8027ffdae20d99753baf56aafbfa8a03b SHA512 28746c8ea7b36a974d5e9004eea7b9b10f0cc3740d0752247ce99f876176e709357078da02f7682888bbcb006aaa995c301e9725aed78f420fc931fc53d7ada9 +EBUILD percona-server-5.7.23.23-r1.ebuild 33819 BLAKE2B 9296bad3b209d628f7afe202f3cea1f14b6a23395ba2a3090e48cdf0d558b6c39a5fe54b6031b69deec5498c032d4253ead7f2a7848d1d4c3f75f143e5598b5e SHA512 27a6f6c5f7cafb3a1cb34bf411ac101bca18bf0a5b6ca0dbb05f0604cb07998f44899850f13f2b1418da90232723c391e74528668943860af10818a4a5429dc6 +EBUILD percona-server-5.7.23.24.ebuild 35267 BLAKE2B 3f01d4ca699c13f3fdb92bc29b1cfe0c704e942c47810734531ae842ef085c30841212219169c99dde6028f9611d6f16f74c5e8d0d1272d274df1ac29e4e0dbc SHA512 01af980140cb55480c1665bfb612f009853688a12e0bcf2ca17835877ef1c417cc418914796032c2b5a9c72be3fc26de243af5e09dd24103d44d3399be0580da MISC metadata.xml 1490 BLAKE2B 8e9d17e8f501a86cf8293f3112ce98b920833fb8bf71d9c9ff3a8d6e452fd486cd2bb665ba9d7938dfc6b94551becdd498993c69f0647a6b64ccab417467d5e0 SHA512 8e75680e685703072f2628cf812e884eaf47974ed088f44445b8476caf38a97c91b525555f25b4279b73cae78be21af6f8dd173be51cc1e1b1e03a2c779355e5 diff --git a/dev-db/percona-server/percona-server-5.6.40.84.0.ebuild b/dev-db/percona-server/percona-server-5.6.40.84.0.ebuild index e9264582226d..2e7c3b95a1f2 100644 --- a/dev-db/percona-server/percona-server-5.6.40.84.0.ebuild +++ b/dev-db/percona-server/percona-server-5.6.40.84.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="6" @@ -895,7 +895,7 @@ pkg_config() { --max_allowed_packet=8M \ --net_buffer_length=16K \ --socket=${socket} \ - --pid-file=${pidfile} + --pid-file=${pidfile} \ --tmpdir=${EROOT%/}/${MYSQL_TMPDIR#/}" #einfo "About to start mysqld: ${mysqld}" ebegin "Starting mysqld" diff --git a/dev-db/percona-server/percona-server-5.6.41.84.1.ebuild b/dev-db/percona-server/percona-server-5.6.41.84.1.ebuild index 52760d63376a..636f75b830f1 100644 --- a/dev-db/percona-server/percona-server-5.6.41.84.1.ebuild +++ b/dev-db/percona-server/percona-server-5.6.41.84.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="6" @@ -895,7 +895,7 @@ pkg_config() { --max_allowed_packet=8M \ --net_buffer_length=16K \ --socket=${socket} \ - --pid-file=${pidfile} + --pid-file=${pidfile} \ --tmpdir=${EROOT%/}/${MYSQL_TMPDIR#/}" #einfo "About to start mysqld: ${mysqld}" ebegin "Starting mysqld" diff --git a/dev-db/percona-server/percona-server-5.7.23.23-r1.ebuild b/dev-db/percona-server/percona-server-5.7.23.23-r1.ebuild index d4d61e034774..4ef133731f5b 100644 --- a/dev-db/percona-server/percona-server-5.7.23.23-r1.ebuild +++ b/dev-db/percona-server/percona-server-5.7.23.23-r1.ebuild @@ -1001,7 +1001,7 @@ pkg_config() { --max_allowed_packet=8M \ --net_buffer_length=16K \ --socket=${socket} \ - --pid-file=${pidfile} + --pid-file=${pidfile} \ --tmpdir=${ROOT}/${MYSQL_TMPDIR}" #einfo "About to start mysqld: ${mysqld}" ebegin "Starting mysqld" diff --git a/dev-db/percona-server/percona-server-5.7.23.24.ebuild b/dev-db/percona-server/percona-server-5.7.23.24.ebuild new file mode 100644 index 000000000000..9887b0d1eb4f --- /dev/null +++ b/dev-db/percona-server/percona-server-5.7.23.24.ebuild @@ -0,0 +1,1062 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" +MY_EXTRAS_VER="20181017-2201Z" + +CMAKE_MAKEFILE_GENERATOR=emake + +# Python2 required for innodb_stress.innodb_stress{,_blob,_crash} test +PYTHON_COMPAT=( python2_7 ) + +# Keeping eutils in EAPI=6 for emktemp in pkg_config + +inherit eapi7-ver cmake-utils eutils flag-o-matic linux-info \ + prefix python-any-r1 toolchain-funcs user multilib-minimal + +MY_PV=$(ver_rs 3 '-') +MY_PN="Percona-Server" +MY_P="${PN}-${MY_PV}" +MY_MAJOR_PV=$(ver_cut 1-2) +MY_RELEASE_NOTES_URI="https://www.percona.com/doc/percona-server/5.7/release-notes/release-notes_index.html" + +SRC_URI="https://www.percona.com/downloads/${MY_PN}-${MY_MAJOR_PV}/${MY_PN}-${MY_PV}/source/tarball/${PN}-${MY_PV}.tar.gz + mirror://sourceforge/boost/boost_1_59_0.tar.gz +" + +# Gentoo patches to MySQL +if [[ "${MY_EXTRAS_VER}" != "live" && "${MY_EXTRAS_VER}" != "none" ]] ; then + SRC_URI="${SRC_URI} + mirror://gentoo/mysql-extras-${MY_EXTRAS_VER}.tar.bz2 + https://gitweb.gentoo.org/proj/mysql-extras.git/snapshot/mysql-extras-${MY_EXTRAS_VER}.tar.bz2" +fi + +HOMEPAGE="https://www.percona.com/software/mysql-database/percona-server" +DESCRIPTION="A fast, multi-threaded, multi-user SQL database server" +LICENSE="GPL-2" +SLOT="0/18" +IUSE="cjk client-libs cracklib debug experimental jemalloc latin1 libressl numa pam +perl profiling rocksdb + selinux +server static static-libs systemtap tcmalloc test tokudb tokudb-backup-plugin yassl" + +# Tests always fail when libressl is enabled due to hard-coded ciphers in the tests +RESTRICT="libressl? ( test )" + +REQUIRED_USE="?? ( tcmalloc jemalloc ) static? ( yassl )" + +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" + +# Shorten the path because the socket path length must be shorter than 107 chars +# and we will run a mysql server during test phase +S="${WORKDIR}/mysql" + +if [[ "${MY_EXTRAS_VER}" == "live" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/mysql-extras.git" + EGIT_CHECKOUT_DIR="${WORKDIR}/mysql-extras" + EGIT_CLONE_TYPE=shallow + MY_PATCH_DIR="${WORKDIR}/mysql-extras" +else + MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}" +fi + +PATCHES=( + "${MY_PATCH_DIR}"/20001_all_fix-minimal-build-cmake-mysql-5.7.patch + "${MY_PATCH_DIR}"/20007_all_cmake-debug-werror-5.7.patch + "${MY_PATCH_DIR}"/20009_all_mysql_myodbc_symbol_fix-5.7.10.patch + "${MY_PATCH_DIR}"/20018_all_percona-server-5.7.23-without-clientlibs-tools.patch + "${MY_PATCH_DIR}"/20018_all_percona-server-5.7.23-fix-libressl-support.patch + "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-add-missing-gcc-8-fix.patch + "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-grant_user_lock-a-root.patch + "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-round-off-test-values-for-same-output-on-all-architectures.patch + "${MY_PATCH_DIR}"/20018_all_mysql-5.7.23-fix-mips-ASM.patch + "${MY_PATCH_DIR}"/20018_all_percona-server-5.7.23-rocksdb-use-system-libs.patch +) + +# Be warned, *DEPEND are version-dependant +# These are used for both runtime and compiletime +# MULTILIB_USEDEP only set for libraries used by the client library +COMMON_DEPEND="net-misc/curl:= + >=sys-apps/sed-4 + >=sys-apps/texinfo-4.7-r1 + sys-libs/ncurses:0= + client-libs? ( >=sys-libs/zlib-1.2.3:0=[${MULTILIB_USEDEP},static-libs?] ) + !client-libs? ( + dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] + >=sys-libs/zlib-1.2.3:0= + ) + jemalloc? ( dev-libs/jemalloc:0= ) + kernel_linux? ( + dev-libs/libaio:0= + sys-process/procps:0= + ) + server? ( + >=app-arch/lz4-0_p131:= + cjk? ( app-text/mecab:= ) + experimental? ( + dev-libs/libevent:= + dev-libs/protobuf:= + net-libs/libtirpc:= + ) + numa? ( sys-process/numactl ) + pam? ( virtual/pam:0= ) + rocksdb? ( + app-arch/zstd:= + dev-libs/protobuf:= + ) + tokudb? ( + app-arch/snappy:= + app-arch/xz-utils:= + ) + tokudb-backup-plugin? ( dev-util/valgrind ) + ) + systemtap? ( >=dev-util/systemtap-1.3:0= ) + tcmalloc? ( dev-util/google-perftools:0= ) + !yassl? ( + client-libs? ( + !libressl? ( >=dev-libs/openssl-1.0.0:0=[${MULTILIB_USEDEP},static-libs?] ) + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP},static-libs?] ) + ) + !client-libs? ( + !libressl? ( >=dev-libs/openssl-1.0.0:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + ) +" +DEPEND="${COMMON_DEPEND} + || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) + dev-libs/protobuf + virtual/yacc + server? ( + dev-libs/libevent + experimental? ( net-libs/rpcsvc-proto ) + ) + static? ( sys-libs/ncurses[static-libs] ) + test? ( + $(python_gen_any_dep 'dev-python/mysql-python[${PYTHON_USEDEP}]') + dev-perl/JSON + ) +" +RDEPEND="${COMMON_DEPEND} + !dev-db/mariadb !dev-db/mariadb-galera !dev-db/mysql !dev-db/mysql-cluster + client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c dev-libs/protobuf:= ) + selinux? ( sec-policy/selinux-mysql ) + server? ( !prefix? ( dev-db/mysql-init-scripts ) ) +" +# For other stuff to bring us in +# dev-perl/DBD-mysql is needed by some scripts installed by MySQL +PDEPEND="perl? ( >=dev-perl/DBD-mysql-2.9004 )" + +python_check_deps() { + has_version "dev-python/mysql-python[${PYTHON_USEDEP}]" +} + +mysql_init_vars() { + MY_SHAREDSTATEDIR=${MY_SHAREDSTATEDIR="${EPREFIX%/}/usr/share/mysql"} + MY_SYSCONFDIR=${MY_SYSCONFDIR="${EPREFIX%/}/etc/mysql"} + MY_LOCALSTATEDIR=${MY_LOCALSTATEDIR="${EPREFIX%/}/var/lib/mysql"} + MY_LOGDIR=${MY_LOGDIR="${EPREFIX%/}/var/log/mysql"} + + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="" + if [[ -f "${MY_SYSCONFDIR}/my.cnf" ]] ; then + MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR=`grep ^datadir "${MY_SYSCONFDIR}/my.cnf" \ + | sed -e 's/.*=\s*//' \ + | tail -n1` + fi + fi + if [[ -z "${MY_DATADIR}" ]] ; then + MY_DATADIR="${MY_LOCALSTATEDIR}" + einfo "Using default MY_DATADIR" + fi + elog "MySQL MY_DATADIR is ${MY_DATADIR}" + + if [[ -z "${PREVIOUS_DATADIR}" ]] ; then + if [[ -e "${MY_DATADIR}" ]] ; then + # If you get this and you're wondering about it, see bug #207636 + elog "MySQL datadir found in ${MY_DATADIR}" + elog "A new one will not be created." + PREVIOUS_DATADIR="yes" + else + PREVIOUS_DATADIR="no" + fi + export PREVIOUS_DATADIR + fi + else + if [[ ${EBUILD_PHASE} == "config" ]] ; then + local new_MY_DATADIR + new_MY_DATADIR=`"my_print_defaults" mysqld 2>/dev/null \ + | sed -ne '/datadir/s|^--datadir=||p' \ + | tail -n1` + + if [[ ( -n "${new_MY_DATADIR}" ) && ( "${new_MY_DATADIR}" != "${MY_DATADIR}" ) ]] ; then + ewarn "MySQL MY_DATADIR has changed" + ewarn "from ${MY_DATADIR}" + ewarn "to ${new_MY_DATADIR}" + MY_DATADIR="${new_MY_DATADIR}" + fi + fi + fi + + export MY_SHAREDSTATEDIR MY_SYSCONFDIR + export MY_LOCALSTATEDIR MY_LOGDIR + export MY_DATADIR +} + +pkg_pretend() { + if use numa ; then + local CONFIG_CHECK="~NUMA" + + local WARNING_NUMA="This package expects NUMA support in kernel which this system does not have at the moment;" + WARNING_NUMA+=" Either expect runtime errors, enable NUMA support in kernel or rebuild the package without NUMA support" + + check_extra_config + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + local GCC_MAJOR_SET=$(gcc-major-version) + local GCC_MINOR_SET=$(gcc-minor-version) + # Bug 565584: InnoDB now requires atomic functions introduced with gcc-4.7 on + # non x86{,_64} arches + if ! use amd64 && ! use x86 && [[ ${GCC_MAJOR_SET} -lt 4 || \ + ${GCC_MAJOR_SET} -eq 4 && ${GCC_MINOR_SET} -lt 7 ]] ; then + eerror "${PN} needs to be built with gcc-4.7 or later." + eerror "Please use gcc-config to switch to gcc-4.7 or later version." + die + fi + + use test && python-any-r1_pkg_setup + fi + + if has test ${FEATURES} && \ + use server && ! has userpriv ${FEATURES} ; then + eerror "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + + # This should come after all of the die statements + enewgroup mysql 60 || die "problem adding 'mysql' group" + enewuser mysql 60 -1 /dev/null mysql || die "problem adding 'mysql' user" +} + +pkg_preinst() { + # Here we need to see if the implementation switched client libraries + # We check if this is a new instance of the package and a client library already exists + local SHOW_ABI_MESSAGE libpath + if use client-libs && [[ -z ${REPLACING_VERSIONS} && -e "${EROOT%/}/usr/$(get_libdir)/libperconaserverclient.so" ]] ; then + libpath=$(readlink "${EROOT%/}/usr/$(get_libdir)/libperconaserverclient.so") + elog "Due to ABI changes when switching between different client libraries," + elog "revdep-rebuild must find and rebuild all packages linking to libperconaserverclient." + elog "Please run: revdep-rebuild --library ${libpath}" + ewarn "Failure to run revdep-rebuild may cause issues with other programs or libraries" + fi +} + +pkg_postinst() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Create log directory securely if it does not exist + [[ -d "${ROOT}${MY_LOGDIR}" ]] || install -d -m0750 -o mysql -g mysql "${ROOT}${MY_LOGDIR}" + + if use server ; then + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + einfo + elog "You might want to run:" + elog "\"emerge --config =${CATEGORY}/${PF}\"" + elog "if this is a new install." + elog + elog "If you are switching server implentations, you should run the" + elog "mysql_upgrade tool." + einfo + else + einfo + elog "If you are upgrading major versions, you should run the" + elog "mysql_upgrade tool." + einfo + fi + fi + + # Note about configuration change + einfo + elog "This version of ${PN} reorganizes the configuration from a single my.cnf" + elog "to several files in /etc/mysql/mysql.d." + elog "Please backup any changes you made to /etc/mysql/my.cnf" + elog "and add them as a new file under /etc/mysql/mysql.d with a .cnf extension." + elog "You may have as many files as needed and they are read alphabetically." + elog "Be sure the options have the appropriate section headers, i.e. [mysqld]." + einfo +} + +src_unpack() { + unpack ${A} + # Grab the patches + [[ "${MY_EXTRAS_VER}" == "live" ]] && S="${WORKDIR}/mysql-extras" git-r3_src_unpack + + mv -f "${WORKDIR}/${MY_P}" "${S}" || die +} + +src_prepare() { + cmake-utils_src_prepare + + if use jemalloc ; then + echo "TARGET_LINK_LIBRARIES(mysqld jemalloc)" >> "${S}/sql/CMakeLists.txt" || die + fi + + if use tcmalloc ; then + echo "TARGET_LINK_LIBRARIES(mysqld tcmalloc)" >> "${S}/sql/CMakeLists.txt" || die + fi + + # Don't build bundled xz-utils + if [[ -d "${S}/storage/tokudb/ft-index" ]] ; then + echo > "${S}/storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake" || die + sed -i 's/ build_lzma//' "${S}/storage/tokudb/ft-index/ft/CMakeLists.txt" || die + elif [[ -d "${S}/storage/tokudb/PerconaFT" ]] ; then + echo > "${S}/storage/tokudb/PerconaFT/cmake_modules/TokuThirdParty.cmake" || die + sed -i -e 's/ build_lzma//' -e 's/ build_snappy//' "${S}/storage/tokudb/PerconaFT/ft/CMakeLists.txt" || die + sed -i -e 's/add_dependencies\(tokuportability_static_conv build_jemalloc\)//' "${S}/storage/tokudb/PerconaFT/portability/CMakeLists.txt" || die + fi + + if [[ -d "${S}/plugin/tokudb-backup-plugin" ]] && ! use tokudb-backup-plugin ; then + rm -r "${S}/plugin/tokudb-backup-plugin/Percona-TokuBackup" || die + fi + + # Remove bundled libs so we cannot accidentally use them + # We keep extra/lz4 directory because we use extra/lz4/xxhash.c via sql/CMakeLists.txt:394 + rm -rv \ + "${S}"/extra/protobuf \ + "${S}"/libevent \ + "${S}"/storage/rocksdb/third_party \ + "${S}"/storage/tokudb/PerconaFT/third_party \ + "${S}"/zlib \ + || die + + # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux + if [[ -d "${S}/support-files/SELinux" ]] ; then + echo > "${S}/support-files/SELinux/CMakeLists.txt" || die + fi + + if use libressl ; then + sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \ + "${S}/cmake/ssl.cmake" || die + fi + + sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die +} + +src_configure(){ + # Bug #114895, bug #110149 + filter-flags "-O" "-O[01]" + + append-cxxflags -felide-constructors + + # bug #283926, with GCC4.4, this is required to get correct behavior. + append-flags -fno-strict-aliasing + + if use tokudb ; then + # https://jira.percona.com/browse/PS-4399 + append-cxxflags -Wno-error=shadow + fi + + if use client-libs ; then + multilib-minimal_src_configure + else + multilib_src_configure + fi +} + +multilib_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + if ! multilib_is_native_abi && ! use client-libs ; then + return + fi + + CMAKE_BUILD_TYPE="RelWithDebInfo" + + # debug hack wrt #497532 + mycmakeargs=( + -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr" + -DMYSQL_DATADIR="${EPREFIX%/}/var/lib/mysql" + -DSYSCONFDIR="${EPREFIX%/}/etc/mysql" + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLSHAREDIR=share/mysql + -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin + -DINSTALL_SCRIPTDIR=share/mysql/scripts + -DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mysql" + -DCOMPILATION_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + ### TODO: make this system but issues with UTF-8 prevent it + -DWITH_EDITLINE=bundled + -DWITH_ZLIB=system + -DWITH_LIBWRAP=0 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DWITH_DEFAULT_FEATURE_SET=0 + # The build forces this to be defined when cross-compiling. We pass it + # all the time for simplicity and to make sure it is actually correct. + -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) + -DWITH_CURL=system + -DWITH_BOOST="${WORKDIR}/boost_1_59_0" + -DWITH_PROTOBUF=system + ) + + if use test ; then + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test ) + else + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) + fi + + if ! use yassl ; then + mycmakeargs+=( -DWITH_SSL=system ) + else + mycmakeargs+=( -DWITH_SSL=bundled ) + fi + + if ! use client-libs ; then + mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES ) + fi + + # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION + # systemtap only works on native ABI, bug 530132 + if multilib_is_native_abi ; then + mycmakeargs+=( + -DENABLE_DTRACE=$(usex systemtap) + ) + else + mycmakeargs+=( + -DWITHOUT_TOOLS=1 + -DWITH_READLINE=1 + -DENABLE_DTRACE=0 + ) + fi + + if multilib_is_native_abi && use server ; then + mycmakeargs+=( + -DWITH_LIBEVENT=system + -DWITH_LZ4=system + -DWITH_MECAB=$(usex cjk system OFF) + -DWITH_NUMA=$(usex numa ON OFF) + -DWITH_RAPID=$(usex experimental ON OFF) + ) + + if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]] ; then + ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" + ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." + ewarn "You MUST file bugs without these variables set." + + mycmakeargs+=( + -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} + -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} + ) + elif ! use latin1 ; then + mycmakeargs+=( + -DDEFAULT_CHARSET=utf8 + -DDEFAULT_COLLATION=utf8_general_ci + ) + else + mycmakeargs+=( + -DDEFAULT_CHARSET=latin1 + -DDEFAULT_COLLATION=latin1_swedish_ci + ) + fi + + mycmakeargs+=( + -DEXTRA_CHARSETS=all + -DDISABLE_SHARED=$(usex static YES NO) + -DWITH_DEBUG=$(usex debug) + -DWITH_EMBEDDED_SERVER=OFF + ) + + if use profiling ; then + # Setting to OFF doesn't work: Once set, profiling options will be added + # to `mysqld --help` output via sql/sys_vars.cc causing + # "main.mysqld--help-notwin" test to fail + mycmakeargs+=( -DENABLED_PROFILING=ON ) + fi + + if use static ; then + mycmakeargs+=( -DWITH_PIC=1 ) + fi + + # Storage engines + mycmakeargs+=( + -DWITH_EXAMPLE_STORAGE_ENGINE=0 + -DWITH_ARCHIVE_STORAGE_ENGINE=1 + -DWITH_BLACKHOLE_STORAGE_ENGINE=1 + -DWITH_CSV_STORAGE_ENGINE=1 + -DWITH_FEDERATED_STORAGE_ENGINE=1 + -DWITH_HEAP_STORAGE_ENGINE=1 + -DWITH_INNOBASE_STORAGE_ENGINE=1 + -DWITH_INNODB_MEMCACHED=0 + -DWITH_MYISAMMRG_STORAGE_ENGINE=1 + -DWITH_MYISAM_STORAGE_ENGINE=1 + -DWITH_PARTITION_STORAGE_ENGINE=1 + -DWITH_ROCKSDB=$(usex rocksdb 1 0) + $(usex tokudb '' -DWITHOUT_TOKUDB=1) + ) + + if use tokudb ; then + # TokuDB Backup plugin requires valgrind unconditionally + mycmakeargs+=( + $(usex tokudb-backup-plugin '' -DTOKUDB_BACKUP_DISABLED=1) + ) + fi + + else + mycmakeargs+=( + -DWITHOUT_SERVER=1 + -DWITH_EMBEDDED_SERVER=OFF + -DEXTRA_CHARSETS=none + ) + fi + + cmake-utils_src_configure +} + +src_compile() { + if use client-libs ; then + multilib-minimal_src_compile + else + multilib_src_compile + fi +} + +multilib_src_compile() { + cmake-utils_src_compile +} + +# Official test instructions: +# ulimit -n 16500 && \ +# USE='latin1 perl server' \ +# FEATURES='test userpriv -usersandbox' \ +# ebuild percona-server-X.X.XX.ebuild \ +# digest clean package +src_test() { + _disable_test() { + local rawtestname reason + rawtestname="${1}" ; shift + reason="${@}" + ewarn "test '${rawtestname}' disabled: '${reason}'" + echo ${rawtestname} : ${reason} >> "${T}/disabled.def" + } + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + if ! use server ; then + einfo "Skipping server tests due to minimal build." + return 0 + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ $UID -eq 0 ]] ; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox" + + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" + + # Run CTest (test-units) + cmake-utils_src_test + retstatus_unit=$? + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + # Enable parallel testing, auto will try to detect number of cores + # You may set this by hand. + # The default maximum is 8 unless MTR_MAX_PARALLEL is increased + export MTR_PARALLEL="${MTR_PARALLEL:-auto}" + + # create directories because mysqladmin might run out of order + mkdir -p "${T}"/var-tests{,/log} || die + + # Run mysql tests + pushd "${TESTDIR}" &>/dev/null || die + + touch "${T}/disabled.def" + # These are failing in Percona-Server 5.7 for now and are believed to be + # false positives or are known to fail: + # + # encryption.innodb_encryption_tables: https://jira.percona.com/browse/PS-5036 + # group_replication.gr_communication_configuration: requires a valid local network address + # which clashes with FEATURES=network-sandbox + # main.mysqlshow: https://jira.percona.com/browse/PS-5017 + # main.percona_bug1289599: https://jira.percona.com/browse/PS-2072 + # keyring_vault.keyring_vault_timeout: requires network access to vault.public-ci.percona.com + # which clashes with FEATURES=network-sandbox + # perfschema.show_sanity: https://jira.percona.com/browse/PS-5018 + # rocksdb.rocksdb: https://jira.percona.com/browse/PS-5034 + # rocksdb.show_engine: https://jira.percona.com/browse/PS-5033 + # rocksdb.show_table_status: https://jira.percona.com/browse/PS-5035 + # x.crud_insert_cast: https://jira.percona.com/browse/PS-5032 + # x.insert_table_bad_column: https://jira.percona.com/browse/PS-5032 + # x.insert_table_bad_numcolumns: https://jira.percona.com/browse/PS-5032 + # x.insert_table_bad_column_type: https://jira.percona.com/browse/PS-5032 + # x.insert_table: https://jira.percona.com/browse/PS-5032 + # x.update_crud_arrayappend_o: https://jira.percona.com/browse/PS-5032 + # x.update_crud_arrayinsert_o: https://jira.percona.com/browse/PS-5032 + # + local t + + for t in \ + encryption.innodb_encryption_tables \ + group_replication.gr_communication_configuration \ + main.mysqlshow \ + main.percona_bug1289599 \ + keyring_vault.keyring_vault_timeout \ + perfschema.show_sanity \ + rocksdb.rocksdb \ + rocksdb.show_engine \ + rocksdb.show_table_status \ + x.crud_insert_cast \ + x.insert_table_bad_column \ + x.insert_table_bad_numcolumns \ + x.insert_table_bad_column_type \ + x.insert_table \ + x.update_crud_arrayappend_o \ + x.update_crud_arrayinsert_o \ + ; do + _disable_test "$t" "False positives in Gentoo / Known bug" + done + + if use numa && use kernel_linux ; then + # bug 584880 + if ! linux_config_exists || ! linux_chkconfig_present NUMA ; then + for t in sys_vars.innodb_numa_interleave_basic ; do + _disable_test "$t" "Test $t requires system with NUMA support" + done + fi + fi + + if use tokudb ; then + if [[ -f "/sys/kernel/mm/transparent_hugepage/enabled" ]] ; then + if grep -q -E "\[always\]" /sys/kernel/mm/transparent_hugepage/enabled &>/dev/null ; then + # TokuDB refuses to start when transparent hugepages are enabled + for t in \ + tokudb.rows-32m-rand-insert \ + tokudb.savepoint-2 \ + tokudb.savepoint-3 \ + tokudb.savepoint-4 \ + tokudb.savepoint-1078 \ + tokudb.savepoint-1078-2 \ + tokudb.savepoint-1078-3 \ + tokudb.savepoint-1078-4 \ + ; do + _disable_test "$t" "TokuDB will not work with transparent hugepages enabled" + done + fi + else + einfo "Cannot determine transparent hugepage status." + einfo "Please note that TokuDB refuses to start when transparent hugepages are enabled!" + fi + fi + + if ! use latin1 ; then + # The following tests will fail if DEFAULT_CHARSET + # isn't set to latin1: + for t in \ + binlog.binlog_mysqlbinlog_filter \ + binlog.binlog_xa_prepared_disconnect \ + funcs_1.is_columns_mysql \ + funcs_1.is_tables_mysql \ + funcs_1.is_triggers \ + innodb.innodb_pagesize_max_recordsize \ + innodb.innodb-system-table-view \ + innodb.mysqldump_max_recordsize \ + main.mysql_client_test \ + main.mysqld--help-notwin \ + main.type_string \ + main.information_schema \ + perfschema.binlog_edge_mix \ + perfschema.binlog_edge_stmt \ + rpl.rpl_xa_survive_disconnect \ + rpl.rpl_xa_survive_disconnect_lsu_off \ + rpl.rpl_xa_survive_disconnect_table \ + ; do + _disable_test "$t" "requires DEFAULT_CHARSET=latin1 but USE=-latin1 is set" + done + fi + + # Try to increase file limits to increase test coverage + if ! ulimit -n 16500 1>/dev/null 2>&1 ; then + # Upper limit comes from parts.partition_* tests + ewarn "For maximum test coverage please raise open file limit to 16500 (ulimit -n 16500) before calling the package manager." + + if ! ulimit -n 4162 1>/dev/null 2>&1 ; then + # Medium limit comes from '[Warning] Buffered warning: Could not increase number of max_open_files to more than 3000 (request: 4162)' + ewarn "For medium test coverage please raise open file limit to 4162 (ulimit -n 4162) before calling the package manager." + + if ! ulimit -n 3000 1>/dev/null 2>&1 ; then + ewarn "For minimum test coverage please raise open file limit to 3000 (ulimit -n 3000) before calling the package manager." + else + einfo "Will run test suite with open file limit set to 3000 (minimum test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 4162 (medium test coverage)." + fi + else + einfo "Will run test suite with open file limit set to 16500 (best test coverage)." + fi + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${T}/var-tests" --reorder --skip-test=tokudb --skip-test-list="${T}/disabled.def" + retstatus_tests=$? + + popd &>/dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + local failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" +} + +src_install() { + local MULTILIB_WRAPPED_HEADERS + local MULTILIB_CHOST_TOOLS + if use client-libs ; then + # headers with ABI specific data + MULTILIB_WRAPPED_HEADERS=( + /usr/include/mysql/server/my_config.h + /usr/include/mysql/server/mysql_version.h ) + + # wrap the config scripts + MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config ) + multilib-minimal_src_install + else + multilib_src_install + multilib_src_install_all + fi +} + +# Intentionally override eclass function +multilib_src_install() { + + cmake-utils_src_install + + # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them. + find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die +} + +multilib_src_install_all() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Convenience links + einfo "Making Convenience links for mysqlcheck multi-call binary" + dosym "mysqlcheck" "/usr/bin/mysqlanalyze" + dosym "mysqlcheck" "/usr/bin/mysqlrepair" + dosym "mysqlcheck" "/usr/bin/mysqloptimize" + + # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir + if [[ -d "${ED}/usr/data" ]] ; then + rm -Rf "${ED}/usr/data" || die + fi + + # Unless they explicitly specific USE=test, then do not install the + # testsuite. It DOES have a use to be installed, esp. when you want to do a + # validation of your database configuration after tuning it. + if ! use test ; then + rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" + fi + + # Configuration stuff + einfo "Building default configuration ..." + insinto "${MY_SYSCONFDIR#${EPREFIX}}" + [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf + cp "${FILESDIR}/my.cnf-5.7" "${TMPDIR}/my.cnf" || die + eprefixify "${TMPDIR}/my.cnf" + doins "${TMPDIR}/my.cnf" + insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d" + cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die + eprefixify "${TMPDIR}/50-distro-client.cnf" + doins "${TMPDIR}/50-distro-client.cnf" + + if use server ; then + mycnf_src="my.cnf.distro-server" + sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ + "${FILESDIR}/${mycnf_src}" \ + > "${TMPDIR}/my.cnf.ok" || die + + if use prefix ; then + sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ + "${TMPDIR}/my.cnf.ok" || die + fi + + if use latin1 ; then + sed -i \ + -e "/character-set/s|utf8|latin1|g" \ + "${TMPDIR}/my.cnf.ok" || die + fi + + eprefixify "${TMPDIR}/my.cnf.ok" + + newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf + + if use tokudb ; then + # Remove some unwanted files + rm -fv \ + "${ED%/}"/usr/COPYING.AGPLv3 \ + "${ED%/}"/usr/COPYING.GPLv2 \ + "${ED%/}"/usr/PATENTS \ + "${ED%/}"/usr/README.md \ + || die + fi + fi + + #Remove mytop if perl is not selected + [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" +} + +pkg_config() { + _getoptval() { + local mypd="${EROOT%/}"/usr/bin/my_print_defaults + local section="$1" + local flag="--${2}=" + local extra_options="${3}" + "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp" + } + local old_MY_DATADIR="${MY_DATADIR}" + local old_HOME="${HOME}" + # my_print_defaults needs to read stuff in $HOME/.my.cnf + export HOME=${EPREFIX%/}/root + + # Make sure the vars are correctly initialized + mysql_init_vars + + [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" + if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then + die "Minimal builds do NOT include the MySQL server" + fi + + if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]] ; then + local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}" + MY_DATADIR_s="${MY_DATADIR_s%%/}" + local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}" + old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}" + + if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]] ; then + if [[ -d "${MY_DATADIR_s}" ]] ; then + ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist" + ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}" + else + elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}" + mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \ + || die "Moving MY_DATADIR failed" + fi + else + ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist" + if [[ -d "${MY_DATADIR_s}" ]] ; then + ewarn "Attempting to use ${MY_DATADIR_s}" + else + eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist" + die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}" + fi + fi + fi + + local pwd1="a" + local pwd2="b" + local maxtry=15 + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + local tmp_mysqld_password_source= + + for tmp_mysqld_password_source in mysql client ; do + einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" + if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then + if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then + ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" + MYSQL_ROOT_PASSWORD= + continue + fi + + einfo "Found password in '${tmp_mysqld_password_source}' section!" + break + fi + done + + # Sometimes --show is required to display passwords in some implementations of my_print_defaults + if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" + fi + + unset tmp_mysqld_password_source + fi + MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)" + # These are dir+prefix + MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)" + MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} + + if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]] ; then + einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" + install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR" + fi + + if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]] ; then + einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" + install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN" + fi + + if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]] ; then + einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" + install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG" + fi + + if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then + ewarn "You have already a MySQL database in place." + ewarn "(${ROOT%/}/${MY_DATADIR}/*)" + ewarn "Please rename or delete it if you wish to replace it." + die "MySQL database already exists!" + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + + einfo "Please provide a password for the mysql 'root' user now" + einfo "or through the ${HOME}/.my.cnf file." + ewarn "Avoid [\"'\\_%] characters in the password" + read -rsp " >" pwd1 ; echo + + einfo "Retype the password" + read -rsp " >" pwd2 ; echo + + if [[ "x$pwd1" != "x$pwd2" ]] ; then + die "Passwords are not the same" + fi + MYSQL_ROOT_PASSWORD="${pwd1}" + unset pwd1 pwd2 + fi + + local options + local sqltmp="$(emktemp)" + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see http://bugs.mysql.com/bug.php?id=31312 + use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" + + # Figure out which options we need to disable to do the setup + local helpfile="${TMPDIR%/}/mysqld-help" + "${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null + for opt in host-cache name-resolve networking slave-start \ + federated ssl log-bin relay-log slow-query-log external-locking \ + log-slave-updates \ + ; do + optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" + egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" + done + + einfo "Creating the mysql database and setting proper permissions on it ..." + + # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it + PID_DIR="${EROOT%/}/var/run/mysqld" + if [[ ! -d "${PID_DIR}" ]] ; then + install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" + fi + + if [[ ! -d "${MY_DATADIR}" ]] ; then + install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory" + fi + + pushd "${TMPDIR}" &>/dev/null || die + + # Filling timezones, see + # http://dev.mysql.com/doc/mysql/en/time-zone-support.html + echo "USE mysql;" >"${sqltmp}" + "${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null + chown mysql "${sqltmp}" || die + + # --initialize-insecure will not set root password + # --initialize would set a random one in the log which we don't need as we set it ourselves + local cmd=( "${EROOT%/}/usr/sbin/mysqld" "--initialize-insecure" "--init-file='${sqltmp}'" ) + cmd+=( "--basedir=${EPREFIX%/}/usr" ${options} "--datadir=${ROOT%/}${MY_DATADIR}" "--tmpdir=${ROOT%/}${MYSQL_TMPDIR}" ) + einfo "Command: ${cmd[*]}" + su -s /bin/sh -c "${cmd[*]}" mysql \ + >"${TMPDIR%/}"/mysql_install_db.log 2>&1 + if [[ $? -ne 0 ]] ; then + grep -B5 -A999 -i "ERROR" "${TMPDIR%/}"/mysql_install_db.log 1>&2 + die "Failed to initialize mysqld. Please review ${EPREFIX%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log" + fi + popd &>/dev/null || die + [[ -f "${ROOT%/}/${MY_DATADIR}/mysql/user.frm" ]] \ + || die "MySQL databases not installed" + + use prefix || options="${options} --user=mysql" + + local socket="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.sock" + local pidfile="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.pid" + local mysqld="${EROOT%/}/usr/sbin/mysqld \ + ${options} \ + $(use prefix || echo --user=mysql) \ + --log-warnings=0 \ + --basedir=${EROOT%/}/usr \ + --datadir=${ROOT%/}/${MY_DATADIR} \ + --max_allowed_packet=8M \ + --net_buffer_length=16K \ + --socket=${socket} \ + --pid-file=${pidfile} \ + --tmpdir=${ROOT}/${MYSQL_TMPDIR}" + #einfo "About to start mysqld: ${mysqld}" + ebegin "Starting mysqld" + einfo "Command ${mysqld}" + ${mysqld} & + rc=$? + while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + eend $rc + + if ! [[ -S "${socket}" ]] ; then + die "Completely failed to start up mysqld with: ${mysqld}" + fi + + ebegin "Setting root password" + # Do this from memory, as we don't want clear text passwords in temp files + local sql="ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${MYSQL_ROOT_PASSWORD}'" + "${EROOT%/}/usr/bin/mysql" \ + --no-defaults \ + "--socket=${socket}" \ + -hlocalhost \ + -e "${sql}" + eend $? + + # Stop the server and cleanup + einfo "Stopping the server ..." + kill $(< "${pidfile}" ) + rm -f "${sqltmp}" + wait %1 + einfo "Done" +} diff --git a/dev-db/percona-xtrabackup/Manifest b/dev-db/percona-xtrabackup/Manifest index 7c967866d293..470a10e4a1df 100644 --- a/dev-db/percona-xtrabackup/Manifest +++ b/dev-db/percona-xtrabackup/Manifest @@ -8,6 +8,6 @@ DIST percona-xtrabackup-2.4.12.tar.gz 57232309 BLAKE2B 71b1dc0448b521b252463fb68 DIST percona-xtrabackup-2.4.9.tar.gz 58001052 BLAKE2B d2a25a5ca2190ccf82a600245a0e21848abd9a33ea937a81b2ba9c7e518b24291080a3d3c4b8e6d02f51523e5cf2e78680e4b351c4f2bcd8f122c58f62c14418 SHA512 913431f0fa648731efa2e9bc87c9431a28816b0eca12e1c6df6e7ab04a4148ddd8fa03c9792335ad152b05bede5b9fe64ce94a393b5e4e37d4b18f4989b0ccdb EBUILD percona-xtrabackup-2.4.10.ebuild 2055 BLAKE2B 9fc3b57d1f24e80c5925eff40aa0822a1742756f897f1980341fe2778c47b12a35102422c703cbc44f5734377c8be2678ea0c05a32caf0f0fa34d631eaf31199 SHA512 5fe655f9fba940d50af9b633d4f5f8b6d88eb9add49ee5fa1233bd71e1f67f60b998b3775800e527f54c4f8fd4c39c527eb48fa8badaddac257622615dece9f8 EBUILD percona-xtrabackup-2.4.11.ebuild 2055 BLAKE2B 99a8568224308799d84c2ccfbebb1935e065b53ae2bdd3ca07e3cb33d5be6b53042389483941e06a7d58284a79bd09b96c15584456fbb051c516b5979c9d8117 SHA512 d353ded350a186cd244e8fdda2081cfe79bc78ee0a5ea4a9104afd4795b7a827096dec0ada7e1d268561cf910da0004b0015ac0b2e20a333bb972b15895c7bde -EBUILD percona-xtrabackup-2.4.12.ebuild 2055 BLAKE2B 99a8568224308799d84c2ccfbebb1935e065b53ae2bdd3ca07e3cb33d5be6b53042389483941e06a7d58284a79bd09b96c15584456fbb051c516b5979c9d8117 SHA512 d353ded350a186cd244e8fdda2081cfe79bc78ee0a5ea4a9104afd4795b7a827096dec0ada7e1d268561cf910da0004b0015ac0b2e20a333bb972b15895c7bde +EBUILD percona-xtrabackup-2.4.12.ebuild 2050 BLAKE2B f37c1023f60f3cc022271c35e5576c7963eb67850d3af46256a18902e1bd422c41727bd82f2ad4610285d96e291c26a5011a868378be954ee03d2ff83db770ff SHA512 c5151f2933edbcdd7e2a6b1c1095a68329d479b1210230564c20854f21167f5a0295355b50df997af47b94f7670415b1b6414dfd7c77324ca512c79f330e68e6 EBUILD percona-xtrabackup-2.4.9.ebuild 1804 BLAKE2B db219c17e234b628a1730f23fa96f1766353b0de1615f1f93cc3b5ebb45faf405ea31215547fe0c1778dd65e48b743ea2b68727792695ca014e2d6f13bc20839 SHA512 25a54c649707d02e84ae5504122d725b1045fed258ed12d3643022c5d03fa1a008f13982cb7c5dbb02d212225ba8230057634dc867ab082bc9fc9692155c2dc2 MISC metadata.xml 563 BLAKE2B 5c657288a3cd0ece118920159db14756bad6a2faa308e5495cdf1eca6dd160dfbd05c979857fd55a031bc0acacdc7a81db628c0ca31a9b2d3dae226838e2abf5 SHA512 050e1a78c8c7f4b024b207754005dcec28188697b3be2d93c30f800f8a91da1a3376b4501a4a6e061dcd096a958a9a4cba62251f5003b2056dfadee5bfda6716 diff --git a/dev-db/percona-xtrabackup/percona-xtrabackup-2.4.12.ebuild b/dev-db/percona-xtrabackup/percona-xtrabackup-2.4.12.ebuild index 8842c1a74b73..57da1cc8e41e 100644 --- a/dev-db/percona-xtrabackup/percona-xtrabackup-2.4.12.ebuild +++ b/dev-db/percona-xtrabackup/percona-xtrabackup-2.4.12.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -11,7 +11,7 @@ SRC_URI="https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-${PV}/s LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" DEPEND=" app-arch/lz4:0= diff --git a/dev-db/pgadmin4/Manifest b/dev-db/pgadmin4/Manifest index 8cba6237cefb..171bdb825bac 100644 --- a/dev-db/pgadmin4/Manifest +++ b/dev-db/pgadmin4/Manifest @@ -1,5 +1,7 @@ DIST pgadmin4-3.0.tar.gz 28915010 BLAKE2B 7e6dccd91f082f7b5514f5d3abdf4653a9961b4efc706e10ce58d817785d514508233e25068762fe0e4bca4c1a3cf10a2515afa38e6f9ba3c99b4af3fa32f3d2 SHA512 5921340176e6748ef13112d906061f195d4bb2f73917d762371bbaeb44ef66cf8e0edcd1cd241eb78dae46ed0b3af014c749468a930fb0c0983b38b2c54dfc3a DIST pgadmin4-3.4.tar.gz 30743447 BLAKE2B 4476989dc9bd672810ced56f4c3e6b87f27ec28d693ab6a909b1cdd4ddc0ae51552fe7ac5a3db4382ccded433b1dab239de01697c0709474381c117460a45163 SHA512 57160827a7577b89029a3a621653f2fec9f3b5379a554ea8bcaf80225f32f1ed93e4560ce5d5b499aff2091589e641bdfe82987be46b6155bca3fb072cf2c5e2 +DIST pgadmin4-3.5.tar.gz 31501977 BLAKE2B fbb1ab4ffde62f6a62ff74088d32cfbdb147c5599d713eae46b3ff50972aab7c6aa48ef108d360001dcca8d999cdd0526c6db5f8bfe260bda52dfa4b41678a87 SHA512 6971c003a39fdd2f279fa7a652a32e1554d17d1794fa0b84c4aa3394ab128efbb44299890bd69b07a0ca926d918668fba124f99f3d7271c60ee70616eedd6d1c EBUILD pgadmin4-3.0.ebuild 3481 BLAKE2B 697a5b6250d747aff9b4216603077a977a84c44bd344f935315eb0ca9a41b85527b32df819738d42626759fb8244392c15edd4909c9b8f03cdb82debf24f5172 SHA512 5f14d65bc3dac207fd3ced4105be3115cd0821a6a5054ce9d150d31d19ca5de44c66b3971444e200d79bfc6b11949cd437a0cbec388f26beef94ccdacb1c3b19 EBUILD pgadmin4-3.4-r1.ebuild 3497 BLAKE2B eaf731dddc9a70f754b9c224dc5ccd69aa11ed05cbaac23b7be38d3c995a8bad81a678ebe823f5747c49e8b13b1b200ed285f082c9e5ac764d4f28cb764af164 SHA512 079991dff7bdb07fb21b8b0e6f9c0749d9d09021afb24265ab907141b80a5d728d6d8d0d5a6f752ceb3cbb7fd340d6bf6ebc65022e1a8b980817e0b17aa9f2d4 +EBUILD pgadmin4-3.5.ebuild 3543 BLAKE2B bd2ef22bb2bea45eabda3f209ea6ba21969cd98535aa9116088b304f7b4fb5c1ade821dc8f195816d1a2b012174653ca3ca7a4594046816ba597018b175fa627 SHA512 53246c0be50d50d171d664bd6235d1df11ae697c04af76f889530e1a1f3858493265617a3763c1c43f68325cebae3f8fa8fbb70946b8e2278319f744e7758e84 MISC metadata.xml 266 BLAKE2B 9d5988ab45f9939f9be5ee7f4b7a9950a3d62252aa0d3e6c953265467428c59fb8c05b2bb72085431b7aa9fc18d31f2b3273e8fdb33443d786b2237db697b7e2 SHA512 9f85990c7ce6a1de5c1067e4781af18bede2d3bd02963a7b2927766b70dbe98d3fb63bb01e19b1cf6e2b77038d9788bf38155b3cc33f9e5ff8430b10a4006325 diff --git a/dev-db/pgadmin4/pgadmin4-3.5.ebuild b/dev-db/pgadmin4/pgadmin4-3.5.ebuild new file mode 100644 index 000000000000..f0db6c595531 --- /dev/null +++ b/dev-db/pgadmin4/pgadmin4-3.5.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python3_{4,5,6} ) +PYTHON_REQ_USE="sqlite" + +inherit python-single-r1 qmake-utils + +DESCRIPTION="GUI administration and development platform for PostgreSQL" +HOMEPAGE="https://www.pgadmin.org/" +SRC_URI="mirror://postgresql/pgadmin/${PN}/v${PV}/source/${P}.tar.gz" + +LICENSE="POSTGRESQL" +KEYWORDS="~amd64 ~x86" +SLOT="0" +IUSE="doc" + +RESTRICT="test" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +COMMON_DEPEND="${PYTHON_DEPS} + dev-qt/qtnetwork:5 + dev-qt/qtwidgets:5 +" + +DEPEND="${COMMON_DEPEND} + doc? ( dev-python/sphinx[${PYTHON_USEDEP}] ) +" + +RDEPEND="${COMMON_DEPEND} + >=app-text/htmlmin-0.1.12[${PYTHON_USEDEP}] + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + >=dev-python/beautifulsoup-4.4.1[${PYTHON_USEDEP}] + >=dev-python/blinker-1.4[${PYTHON_USEDEP}] + >=dev-python/click-6.6[${PYTHON_USEDEP}] + >=dev-python/extras-1.0.0[${PYTHON_USEDEP}] + >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}] + >=dev-python/flask-0.12.4[${PYTHON_USEDEP}] + >=dev-python/flask-babel-0.11.1[${PYTHON_USEDEP}] + >=dev-python/flask-babelex-0.9.3[${PYTHON_USEDEP}] + >=dev-python/flask-gravatar-0.5.0[${PYTHON_USEDEP}] + >=dev-python/flask-htmlmin-1.3.2[${PYTHON_USEDEP}] + >=dev-python/flask-login-0.3.2[${PYTHON_USEDEP}] + >=dev-python/flask-mail-0.9.1[${PYTHON_USEDEP}] + >=dev-python/flask-migrate-2.1.1[${PYTHON_USEDEP}] + >=dev-python/flask-paranoid-0.2.0[${PYTHON_USEDEP}] + >=dev-python/flask-principal-0.4.0[${PYTHON_USEDEP}] + >=dev-python/flask-security-3.0.0[${PYTHON_USEDEP}] + >=dev-python/flask-sqlalchemy-2.3.2[${PYTHON_USEDEP}] + >=dev-python/flask-wtf-0.14.2[${PYTHON_USEDEP}] + >=dev-python/html5lib-1.0.1[${PYTHON_USEDEP}] + >=dev-python/itsdangerous-0.24[${PYTHON_USEDEP}] + >=dev-python/jinja-2.7.3[${PYTHON_USEDEP}] + >=dev-python/linecache2-1.0.0[${PYTHON_USEDEP}] + >=dev-python/markupsafe-0.23[${PYTHON_USEDEP}] + >=dev-python/mimeparse-1.6.0[${PYTHON_USEDEP}] + >=dev-python/passlib-1.7.1[${PYTHON_USEDEP}] + >=dev-python/pbr-3.1.1[${PYTHON_USEDEP}] + >=dev-python/psutil-5.4.7[${PYTHON_USEDEP}] + >=dev-python/psycopg-2.7.4[${PYTHON_USEDEP}] + >=dev-python/pycrypto-2.6.1[${PYTHON_USEDEP}] + >=dev-python/pyrsistent-0.14.2[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-2.7.1[${PYTHON_USEDEP}] + >=dev-python/python-sqlparse-0.2.4[${PYTHON_USEDEP}] + >=dev-python/pytz-2018.3[${PYTHON_USEDEP}] + >=dev-python/simplejson-3.13.2[${PYTHON_USEDEP}] + >=dev-python/six-1.11.0[${PYTHON_USEDEP}] + >=dev-python/speaklater-1.3[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.2.5[${PYTHON_USEDEP}] + >=dev-python/sshtunnel-0.1.3[${PYTHON_USEDEP}] + >=dev-python/werkzeug-0.9.6[${PYTHON_USEDEP}] + >=dev-python/wtforms-2.1[${PYTHON_USEDEP}] +" + +S="${WORKDIR}"/${P}/runtime + +src_prepare() { + cd "${WORKDIR}"/${P} || die + default +} + +src_configure() { + eqmake5 +} + +src_compile() { + default + if use doc; then + cd "${WORKDIR}"/${P} || die + emake docs + fi +} + +src_install() { + dobin pgAdmin4 + + cd "${WORKDIR}"/${P} || die + + local APP_DIR=/usr/share/${PN}/web + insinto "${APP_DIR}" + doins -r web/* + cat > "${D}${APP_DIR}"/config_local.py <<-EOF + SERVER_MODE = False + UPGRADE_CHECK_ENABLED = False + EOF + python_optimize "${D}${APP_DIR}" + + local CONFIG_DIR="/etc/xdg/pgadmin" + dodir "${CONFIG_DIR}" + cat > "${D}${CONFIG_DIR}"/pgadmin4.conf <<-EOF + [General] + ApplicationPath=${APP_DIR} + PythonPath=$(python_get_sitedir) + EOF + + if use doc; then + rm -r docs/en_US/_build/html/_sources || die + insinto /usr/share/${PN}/docs/en_US/_build + doins -r docs/en_US/_build/html + fi +} diff --git a/dev-db/pgpool2/Manifest b/dev-db/pgpool2/Manifest index ed6d8937f2f9..48871115c897 100644 --- a/dev-db/pgpool2/Manifest +++ b/dev-db/pgpool2/Manifest @@ -12,6 +12,6 @@ DIST pgpool-II-3.7.5.tar.gz 3276279 BLAKE2B d9c52684985e0a74ef115792f79a71305fbc EBUILD pgpool2-3.7.0.ebuild 2489 BLAKE2B 79706764ecb54cd2e682bb200640f6635f9a2f6ff8d26f9129a290ea68cb43adef5ba6f6622c591bd9cd5e996456f396d2f936ed8d4d303367fef0032bf2cd56 SHA512 7f74ded58782b8657b3c3f1de92a7a268a806019978e73ed3f4ed93c160d75d9e251acc2bbc39ee266dbc23f662fad8678b98f31b9a476d1b9f0c6b6719377c6 EBUILD pgpool2-3.7.1.ebuild 2491 BLAKE2B f31a347236dacc779b0c019663205b5472a994da5be4136919a4fc3c86cf730a48abbb2741224855a3fd284a937ad97b1b1a7f0b8e6741ea6570974841d5d6e6 SHA512 42026cf2f0d76578b8324b14af12b0fb53c21a75b33d04ef997589878943fb29887488219f175d4481833854dfdf3f6d91c804b54f73157b72d6f786173d6950 EBUILD pgpool2-3.7.3.ebuild 2491 BLAKE2B f31a347236dacc779b0c019663205b5472a994da5be4136919a4fc3c86cf730a48abbb2741224855a3fd284a937ad97b1b1a7f0b8e6741ea6570974841d5d6e6 SHA512 42026cf2f0d76578b8324b14af12b0fb53c21a75b33d04ef997589878943fb29887488219f175d4481833854dfdf3f6d91c804b54f73157b72d6f786173d6950 -EBUILD pgpool2-3.7.5.ebuild 2645 BLAKE2B e47d7429eebbb23add16c2071368cd84688c44eab43d1e077a33f9cab525d01e1c298affde08fa4ce8de14f42fe52f8fc7f4a10b926fd2b1ae71292fbc30e1f9 SHA512 e261e7b82de803fa3864cf5fc24d796b61eb1338723b444b738a0eb3607a2c9a3f6c5423900fa902b008af4f31317a25838c61e080c5211c21c3c50c23cc1deb +EBUILD pgpool2-3.7.5.ebuild 2636 BLAKE2B 1d4b4147857c2d5f181d455ade1bc8c2879c6b368b5394cdd0ec01afc68af668855432bafd76d1f01832908323efbbd2532c13b65109288ff32cb4e1983258b9 SHA512 ff1fbf75a9bd7281166546e9f04462062c033a052fb83a299e6fe266b5e018d76819ad9a347f1130015f784718f636ea3f070fffadde299219cb04301e2de845 EBUILD pgpool2-9999.ebuild 2722 BLAKE2B a9589fdfa37dc5650bce8cc5c7758b6956fba3670e5629308bc34d1b9e9642bb92fdc7e069231cd7fad1d2185afe8b763de6093b0e97446ddb4a7186915149e5 SHA512 ea19202c508243bb2801266cae49d7e8939a6d7ee51fc4d9a02fe7ba3c7464cf440dd712c098ddb183c56839b9e8093f9222f8348bb52bac921003f601a8514b MISC metadata.xml 390 BLAKE2B d6a0560051449e95bb43e81589eee966a477a75d7ec8211ae96b15f2d51ce9555181b8640d9d830f2b42f8159989e9126423c6ccbbc2bf2dd8121f4920a87a16 SHA512 ce26ee116c3c7ff77a771294ed07f38d8f940dc380915c339eb4c543d86fa5bde025ba83e70af2b7bf4a1bef1e51957f151131836855e0dae2e1daed73ffae8d diff --git a/dev-db/pgpool2/pgpool2-3.7.5.ebuild b/dev-db/pgpool2/pgpool2-3.7.5.ebuild index 5a571f868228..285ca5b87272 100644 --- a/dev-db/pgpool2/pgpool2-3.7.5.ebuild +++ b/dev-db/pgpool2/pgpool2-3.7.5.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2018 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 -POSTGRES_COMPAT=( 9.{3..6} {10..11} ) +POSTGRES_COMPAT=( 9.{3..6} 10 ) inherit autotools postgres-multi diff --git a/dev-db/phpmyadmin/Manifest b/dev-db/phpmyadmin/Manifest index 4c257d841976..ee4a49a6255e 100644 --- a/dev-db/phpmyadmin/Manifest +++ b/dev-db/phpmyadmin/Manifest @@ -4,5 +4,5 @@ DIST phpMyAdmin-4.7.8-all-languages.tar.xz 6218056 BLAKE2B 879ef6703711725781fcf DIST phpMyAdmin-4.8.3-all-languages.tar.xz 5996528 BLAKE2B cf00bab32547c5a6e8c81f529e5b074e3a7c576a7991d6823239172f91cebad7e1b10e2baee589043bf8a5d1d37470a7614a038a0054eaa18e74028bf3cecfd4 SHA512 95998eda6a2db9020671073c62458d819cbd5e54c5f56f467b109401f6b9ebd2dfbc34cc840980bf2d3a7ee3bc93683b7fe20d9bd72b537d8aa066d39089ff89 EBUILD phpmyadmin-4.7.0.ebuild 1569 BLAKE2B 8582b641380f4a9c47dc3ff62a32774b35f2c252774c91a8ddfa8e7470c8649a192984ccf4124d21af09a3843c1a8d0d520907eb51d50c368d166f1b570ffb1a SHA512 dbc88883d5605423c3ed17563736c1f7e862fcf60e9f162d057229dbd8e372b056072fca592063349361be2a2baeab0ca3ca3a36b4af7130758836a95f1988b7 EBUILD phpmyadmin-4.7.8.ebuild 1564 BLAKE2B 771fd31cb0188c4d229e7bb9af796cbc3ca6d90d03502fae7cdc0b038d3e9e723cfdf72db72952155d5bfbc37bd7d61b669ceac7a5b11304ad283e32321b51a0 SHA512 3b7fe1cd8b766138e569a82e3161c9c21a0853254f0392d94e9cdb3af3e8934a3cbc689bd14d5b04881dd6cde8dc057585417a1d5dd18ad9d250c2c66f35c9af -EBUILD phpmyadmin-4.8.3-r1.ebuild 1562 BLAKE2B 3060657755d3004caa2844c5c113c673cfb80770952dae22f047766786660eb21758c8213c9a4749f10efa35bf3dbae775a2378104cec036355d42c07fa7a12e SHA512 c55f6f7c8dd94b379d0e0966a86e35b9a69df1315f834e79a27ef01bc720d9b6c61f1c4cccd8fbb3af4cb62af72717e30a60850d45cbe7640570c167d3914253 +EBUILD phpmyadmin-4.8.3-r1.ebuild 1561 BLAKE2B 7f8bae1983e7f2194765edf45842c45b3be557e97b0803b899acbeb368f625345a0473231221d5cadfceecceaa8a3e51bde23720c640de7a54ba49de7063426b SHA512 a5dc139da13c1c5397cca03789b8453ff80c0df60773d5a840eebe62958cd3e02a91af2d4c7355f44aaef79f12f7ce6f4596d48c3345db0e35e36a333519e633 MISC metadata.xml 701 BLAKE2B aef0a047bca31221714bf27203bd720863c5cef6b7b4dd72b441761a0638bca38c03610e65b3819ca0fba6577973908d7ca40ec8baa3aac1255d19b7cfa9f0a7 SHA512 6dcb099779cd0db4928ee812c81fee762612846044e6ee3df3b661a2dce6aed01420d0bc1301c8ff9d763fb8aeaeef3290a7889b32705fc48e8c392aa8b8ca82 diff --git a/dev-db/phpmyadmin/phpmyadmin-4.8.3-r1.ebuild b/dev-db/phpmyadmin/phpmyadmin-4.8.3-r1.ebuild index 58754f1281b7..507ccf8cc7e9 100644 --- a/dev-db/phpmyadmin/phpmyadmin-4.8.3-r1.ebuild +++ b/dev-db/phpmyadmin/phpmyadmin-4.8.3-r1.ebuild @@ -14,7 +14,7 @@ HOMEPAGE="https://www.phpmyadmin.net/" SRC_URI="https://files.phpmyadmin.net/${MY_PN}/${MY_PV}/${MY_P}.tar.xz" LICENSE="GPL-2" -KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd ~ppc-macos ~x64-macos ~x86-macos" +KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 sparc x86 ~x86-fbsd ~ppc-macos ~x64-macos ~x86-macos" IUSE="setup" RDEPEND=" diff --git a/dev-db/postgresql/Manifest b/dev-db/postgresql/Manifest index 4e5b0b26fa6a..85406009372f 100644 --- a/dev-db/postgresql/Manifest +++ b/dev-db/postgresql/Manifest @@ -11,16 +11,26 @@ AUX postgresql.service-9.2 1666 BLAKE2B d4b81415539db3d78e0f5908185f903b70966ce3 AUX postgresql.service-9.6-r1 1477 BLAKE2B 2a652d5b2892f3a52f484fcc0b4f4dad09cf4b46c3739c3f805072040a26128cb2ad9a25d4a7c9f109a95696d739538d379af6bac53c656f5c41af45b6110de5 SHA512 9e2b04923f6ebec1424c0f276c58a6a0c4933f2de5e2a9776169227729afd06ce5284461be8b6ed70e5aaff2a68b9f96c6893d867d35761c9977f9847ccfe93d AUX postgresql.tmpfiles 39 BLAKE2B 25a5725af53c8e4e4009887e998172dd863ce218a5438351194548c4fc8ea15308dfba3602d5a922cf49b46015198268a4a4528119d8a74dcef4cc4c1767c052 SHA512 498060f2a597cf374f4fb31deaa2d6c5b00edef68efc0e71b82bfc20b717ae12518ba18fcb455a0c518ebba1a0868f38321470616151d02fa79b889a66dcb9f8 DIST postgresql-10.5.tar.bz2 20284578 BLAKE2B af2bc5bdc7e69682dac38785ce4a10c2c5c04202f2c3cd4acbb9200dbae7eec75d83813ac4df84b5a8064e77167f22a4dd54c6e84a68e564642cb5d75effd0ac SHA512 1bad30ae88beca66f7e8b99b82e7f02aac1e9230b328e6e5a762a704cdd9dc767d924f5a66c68c93586badfef91b7ff336120a567ce970eaa58bb44c662ad48c -DIST postgresql-11.0.tar.bz2 21206820 BLAKE2B 7c985e6843162f9ba01a7efcba84743739eb107111d6013b8a5614964c105345e203db307d0da5b0dd42d9c765fcf9462621e3b06e2a09a7ee76befa1ec307ef SHA512 2cf471618dfaabdcbcbd68be3b85b6083376c97fdadce36d2ceb28438b7c736816118eacb1d4f12d48c39f584d78d7ffa89fa6d65858d440045a53921429970a +DIST postgresql-10.6.tar.bz2 20350612 BLAKE2B b751085b8fce73efb2531378a553c8c956f5e05a0002de8fdc58c0f2a6cf2b9dfaff6bd621047a094a51e459bc8fc5b1658d6a754a396fa3b7aedc1024ea3b4c SHA512 5d4d5cee2a19ad1820c3411bc4851904e3059cdcacc837350694d54d7d59260b66c565c72cc14a3a10541a8fc49c5185f08f57b7a8c7e4c64ed2614da6e1201f +DIST postgresql-11.1.tar.bz2 21263173 BLAKE2B d762b6e8b0e7b08b16ed252687118a0a4516172e38e8940879fd050f72d19ff045af949e72977a62c2ce0a788af7d42c9bde7748347566bec3694e337bba6f73 SHA512 35d00984e9f5f063a5b96e97aa1b40381ab76d07b2336bda5981fd80bef1324f56eefca5069ae78770ecd6ece5df85264e599fdb3478ecb71d4fdd0d7b6becca DIST postgresql-9.3.24.tar.bz2 17042985 BLAKE2B 976debbc2a072cc307e22beac1d59352ecc214b9879284e635f30295d1f46ad2e0542ffc5f62639527be870afe46ea5daf5b8b2d3da9a069adf1701218def968 SHA512 3d457b6218eeb8da2d8dd134dabc7ec8000cad5863870079b85ce00d94218fa049146290a8389fec15e57d586b0edee9810cdad85f36cbabce49b6b4378ce1ee +DIST postgresql-9.3.25.tar.bz2 17067593 BLAKE2B fd9ca5685e5511dcaa72da882b674846dcd5a16227e5b33ae06701fe7881df71847666c37925033c6cb01c916111a8f76df134491645f4d1e1dd48a008bd2831 SHA512 319e12b73853b74f5ef2c520d64795bb586ffd495ceab6518f7844de6e0a054aea821976c470108d346f8090c7d3949920d9c435432e33004b7caa7a77a5cdca DIST postgresql-9.4.19.tar.bz2 17879273 BLAKE2B 775a8748218c40440df91307107d46a35bcb3b2baf1c383014684c15d06c0026548770f88dccb1c26c3247813761e4a43003c50fe930041afc5701cddabfbde3 SHA512 38e2f1f25bd80fdfdec728cd4a3fee6696ca051e496f0629a0a554ea013bfb9bb83ef5659b00130666462a45036a648cf880a2f49693a8ef2edbde938e4dd830 +DIST postgresql-9.4.20.tar.bz2 17905682 BLAKE2B cb65228f8e78dc8b6303a06480a68de58ecac1fefa1342e4563f2c4051c9f5506b366b36c2dbd54207d25ae497625f8fc5e3e771174a6b3ec33c3c19d2c9ea08 SHA512 664c6e97979f38d263d1dc75a7db442f193a230435cad43ddfa2afcd42ac0d73b2aef0e846fddcc9008cd6d89cba2d5c0a4db93b111665646d3ff4d8f6fbe1e8 DIST postgresql-9.5.14.tar.bz2 18687959 BLAKE2B ac377b5e279d9e8179a94eb91d0cf1a7e3f6443c860d68a4540357d80128fbc54ac1ffec198725b2a783a80448f8a625556f2e6018162304d65659982890d46f SHA512 9b5ebc8dc13bbdbd5b5bc02552e2b9b5029d899a80e82b653542c735868590ebe57d586951bf036c5abd28aae325c71cc69536f88321d50dd3d254f8ee0cfe35 +DIST postgresql-9.5.15.tar.bz2 18707696 BLAKE2B f1be26085953d5a15a6545aed3527b9eec6eb57c72f2e05401e43200e628b3a42ee824dd1cb0138556b97fe4922a991489dffa77329b653475874766c1d5b944 SHA512 2ea241b6751a2812c689da9bde40151ebb7cdabdd14e93d92f8bea1e3fcf5bc0d4854834999f33270329e22a09c5aeaf8d59d36ca6e8860704f81f3adcfb30d5 DIST postgresql-9.6.10.tar.bz2 19991204 BLAKE2B 3d99296b5045a0b56b89257b2aa3f0c8be1108428acd77469b8db94200ad6b0b8d2fa84c73f652f79db56620c46928524d2f3a1a265ac332eb36c0625b800f76 SHA512 960a32c86466f9d5f5491ef163f5c4a99cb5de7312d13371e2223b1d156e31eb2a23ed478e6654bcbb7bd19db9470aaf63473ff661c11c60971b92af5e9daf82 +DIST postgresql-9.6.11.tar.bz2 20009048 BLAKE2B aa3e5b1e63c983226ea71737982e62eaff655af7e0f55f20ec886f5d7406b1e30e2fe5378b0dd1ef59e777f862ccc2386121653853d4c186a1b4853a9bbb1591 SHA512 a4314f92d1a661af4076d8c120533ecae76d91461043b8a6ad22dd6e5b562e0bf019bc7f3157a26d9666ba5866e254613ae5b690310168b029795dc088f8c060 EBUILD postgresql-10.5.ebuild 13694 BLAKE2B cbc3b1250d2b50dd7a9c318a9c610506db4b2593b013b2d89a573276ab8604cff741a1a3ca03a97e3c9a6bd7392762f821caf90d642c9a05cc9ca0b411340bbf SHA512 4b6fb894e8d5196139a56b897d3a06169c35def0d7e472ac8332987445f7c7ce72568b3b7a45bd7e8dac651108731761c413296864b0c9be4a617217d49ef3ec -EBUILD postgresql-11.0.ebuild 13442 BLAKE2B 9246de6e7d20e8832eb7086be741d33cba3f9aad991eb54f48918b67347286494fa13fda84846ff6c0d0a43ec3f7de034adf2dfbf2a90325146f6470857e8684 SHA512 8621a42938a6f8110a517d2a05f8afb37443cf25066ac4b64dbd4893048725a7d0d1f61347fbcab4ac53ba27b846489d064d7a552834a00c213243897beb21a7 +EBUILD postgresql-10.6.ebuild 13817 BLAKE2B bb4a8acc19b31031663f88c98206de6db356bc911ae7c332ec7c69795892d33e0046d7de6b0aedea5f8314897424527b44d5dfa5acb0505a74574fb59f88934d SHA512 354b7a202b7fb13a9f49a86e6680bc5d5ec3cc1a292c9edac85e8e7700c04cab00546cfa294ebfaf8e3bfceaca476ff76fca15377df73b6205043d81896d9068 +EBUILD postgresql-11.1.ebuild 13751 BLAKE2B c86eb35ea10ad4cdb7910fb89b6fdb733bb2594960257d2023aee0741389818f339f0dc646a1b4d8310d84982c95a1ccac7ae90dda126dd9a8e8999f20a8ad11 SHA512 f74e3d23c3c8b4abb6fba146199dad2be2014d950d2cc7038782a4c2d78cb73389e7332b43ae216a5fd3baa0bac763fe4d343aa7b2e4f118da53095d1886d29f EBUILD postgresql-9.3.24.ebuild 13747 BLAKE2B 12e74f2f7bc2b18507b5c4e07d093cebd96406c6d981fbcaa6c2851004183acfac3e3fb882e1eea662e8cf1d35c10a1bcd6ad2820a5770874f04ad9cf508c387 SHA512 c89150f9b09e18b196d267dbec2c6539d3eb1ed6326193681249770c5d1ad42e48cffcad160121497dc8dbdd692994bd2704f581d52d029ba4dff5178a773746 +EBUILD postgresql-9.3.25.ebuild 13565 BLAKE2B d9c011373e4bf60577f8b54ff4008effbd800d0598f600f071bee0d109b83930556bde74649905b86951978775240525ab45a2e66e1ba6a23dd8a9a94dc68d68 SHA512 0ee0f0f5c2ad70fa97d2aa792e4e86d463f90b96483b91b11553f1382b75b9fcb4c76f9fd105351a3ab1e419d1cb937e83b30bb1a29d7cfcab849075266b1207 EBUILD postgresql-9.4.19.ebuild 14557 BLAKE2B 57446276df8b11ebe12ef5a4b3e95dfc2892cdf93cb1a40117f0e7ae5774e0ba1a4a08b2306d971625636d4f0bddb4d0395bc6671397ef291c0251a31bc37256 SHA512 05b6604f17b63442a1eda4673a702eab7bb0ac4af87dce7c9f56085573768aec408aa441873317cf610e379972221f68d49c19f47f7be48b1e6a74809d13c407 +EBUILD postgresql-9.4.20.ebuild 14375 BLAKE2B 334af76498eec538a8af8bf9b0b318f8708f89f3489fc93aaa56b272a703f31953a1f0a03a9fa58e12f4ab32368b93ba2bc6cfa3936067dcf53a083ec0387c45 SHA512 fcfecc1e6255a00b829584eea10bea4ad7fdada2543a73cbb67385d2f02a44b2406c44eddd3e1b691043b00caa2bf40dc07b749113d1dd31036d644f93e9d73d EBUILD postgresql-9.5.14.ebuild 14785 BLAKE2B bbd02c18eb7e6b6c9bb2f3e4b4010bc1aadc0aaabe158accac75b1f692c8905d565647bac95c46b69003f70ce6608017a877e74e37e915a2827f5a6f35a732a5 SHA512 2ae77b20602445192062ab5930cc518c3524aa8c57c4aaa4923ec15b924f3b166dcd51dca32a19618d3055214bfed7977c4630dd40b6967aaf491f1688aaf717 +EBUILD postgresql-9.5.15.ebuild 14603 BLAKE2B e43248abb32608d97b6d900ce2de1fdebdcbb673deec0fc40f76de1eab02074789de4476b8b22e1a7bd3987c40e03adf398f43e93f8f4c699d84c077f8f26169 SHA512 c2d274e2083c1ec45c09a9738d56ae6d10c91f9756a4e6110e5167816f40573866ca6264ac4050ef168d85b9c816ad26097d94f4c0b81db2c17b5395a8c3d42d EBUILD postgresql-9.6.10.ebuild 14927 BLAKE2B 36ba33cfc700526cd716243a838a9b52a3823feabf53fe7045aca86e54c048a0c1e5c7c4950e33d131e29a96e7f00eebe2a366e46912a942c871b799c5df8a29 SHA512 0e547e8a39b0c96ff4d100d42ba1113aa87f537f14ccd242436270a6972db3c09690a9925d869c0256342e89687421b26e18fd210313dce3b23dd4062c1ad1c6 +EBUILD postgresql-9.6.11.ebuild 14745 BLAKE2B 864b2bd0e3e38eec48e79c31c65d59cddb42daf9fa61d9c7d4089ca5c22a955ce944fe655959ed5bca65ba59cb3eba04e38aa0afb578e836a5511c87d84630a9 SHA512 b193e427dba98a7f4b1abb2138c06a00d1d13fa41e401f96374ce3cce2048309c4ffe9112eb102e80541aa4b6a28f0e6834e2c195f10471529abb68285dd3798 EBUILD postgresql-9999.ebuild 14262 BLAKE2B 43b6b2ab7b5137e8a0ca2edf28781d30f7a27afbf01ab718f4742c4ec981071797074f6dcad9995796d30bbd0b1e39d4ee7a63a404e7246a9bafbb5298a12c47 SHA512 29e5bcb9463c6cb8a43e8ba04840aacda074ddbfdcccd1dafcbd66e13d5c20a765c53f637e1c8993fe6647c286f7ef40254f3211f3341054c96bec1f327393fa -MISC metadata.xml 831 BLAKE2B 71ea5c9af98f7176bac835c7f1bfcd0e7e41055e83fccfab9ecc6476b2160040e26aeb857ed889a6a6dffe57f4e7367b944f3fbfda2e905efa0e63360fabfb73 SHA512 1dd852da0db83f6623745f0f320fb8ce93498be27b13c59a352683f2cb25afa3e8d7fca907e73ace2c9ae40e33fbd5ee68a84d803db225a5ff7fc707d435d0bf +MISC metadata.xml 715 BLAKE2B 59ad51ae06a697fe649054d9fe13040423f425b95abdcf3797e1d0d5abba8c62d54cc8c1afb0be0d0a29d1a39d379912bd931925b5df480fb0bb9b238c36e598 SHA512 03027757eaf95313a6825710b1054a9671aa8396381789397006dfe2f66cd41e85cde418e792bf7d71d7db2413905816ff39685774219c1ea5e8b8d35c5cffd0 diff --git a/dev-db/postgresql/metadata.xml b/dev-db/postgresql/metadata.xml index 0235533938f8..e263f5e30d71 100644 --- a/dev-db/postgresql/metadata.xml +++ b/dev-db/postgresql/metadata.xml @@ -1,24 +1,25 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>pgsql-bugs@gentoo.org</email> - <name>PostgreSQL and Related Package Development</name> - </maintainer> - <use> - <flag name="llvm"> - Add support for llvm JIT engine - </flag> - <flag name="pg_legacytimestamp"> - Use double precision floating-point numbers instead of 64-bit - integers for timestamp storage. - </flag> - <flag name="server"> - Disable to build and install the clients and libraries only. - </flag> - <flag name="uuid"> - Enable server side UUID generation (via - <pkg>dev-libs/ossp-uuid</pkg>). - </flag> - </use> + <maintainer type="project"> + <email>pgsql-bugs@gentoo.org</email> + <name>PostgreSQL and Related Package Development</name> + </maintainer> + <use> + <flag name="llvm"> + Add support for llvm JIT engine + </flag> + <flag name="pg_legacytimestamp"> + Use double precision floating-point numbers instead of + 64-bit integers for timestamp storage. + </flag> + <flag name="server"> + Disable to build and install the clients and libraries + only. + </flag> + <flag name="uuid"> + Enable server side UUID generation (via + <pkg>dev-libs/ossp-uuid</pkg>). + </flag> + </use> </pkgmetadata> diff --git a/dev-db/postgresql/postgresql-10.6.ebuild b/dev-db/postgresql/postgresql-10.6.ebuild new file mode 100644 index 000000000000..8996fc7b18ba --- /dev/null +++ b/dev-db/postgresql/postgresql-10.6.ebuild @@ -0,0 +1,460 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) + +PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN + zh_TW" + +inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ + systemd user versionator + +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris" + +SLOT=$(get_major_version) + +MY_PV=${PV/_/} +S="${WORKDIR}/${PN}-${MY_PV}" + +SRC_URI="mirror://postgresql/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2" + +LICENSE="POSTGRESQL GPL-2" +DESCRIPTION="PostgreSQL RDBMS" +HOMEPAGE="https://www.postgresql.org/" + +IUSE="doc kerberos kernel_linux ldap libressl nls pam perl python +readline + selinux +server systemd ssl static-libs tcl threads uuid xml zlib" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +sys-apps/less +virtual/libintl +kerberos? ( virtual/krb5 ) +ldap? ( net-nds/openldap ) +pam? ( virtual/pam ) +perl? ( >=dev-lang/perl-5.8:= ) +python? ( ${PYTHON_DEPS} ) +readline? ( sys-libs/readline:0= ) +server? ( systemd? ( sys-apps/systemd ) ) +ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= ) + libressl? ( dev-libs/libressl:= ) +) +tcl? ( >=dev-lang/tcl-8:0= ) +xml? ( dev-libs/libxml2 dev-libs/libxslt ) +zlib? ( sys-libs/zlib ) +" + +# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no +# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems, +# the libc includes UUID functions. +UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} ) +BSD_LIBC=( elibc_{Free,Net,Open}BSD ) + +nest_usedep() { + local front back + while [[ ${#} -gt 1 ]]; do + front+="${1}? ( " + back+=" )" + shift + done + echo "${front}${1}${back}" +} + +IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}" +CDEPEND+=" +uuid? ( + ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )} + $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid) +)" + +DEPEND="${CDEPEND} +!!<sys-apps/sandbox-2.0 +sys-devel/bison +sys-devel/flex +nls? ( sys-devel/gettext ) +xml? ( virtual/pkgconfig ) +" + +RDEPEND="${CDEPEND} +!dev-db/postgresql-docs:${SLOT} +!dev-db/postgresql-base:${SLOT} +!dev-db/postgresql-server:${SLOT} +selinux? ( sec-policy/selinux-postgresql ) +" + +pkg_setup() { + use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup + + enewgroup postgres 70 + enewuser postgres 70 /bin/sh /var/lib/postgresql postgres + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # Work around PPC{,64} compilation bug where bool is already defined + sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die + + # Set proper run directory + sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \ + -i src/include/pg_config_manual.h || die + + # Rely on $PATH being in the proper order so that the correct + # install program is used for modules utilizing PGXS in both + # hardened and non-hardened environments. (Bug #528786) + sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die + + use server || eapply "${FILESDIR}/${PN}-10.2-no-server.patch" + + if use pam ; then + sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \ + -i src/backend/libpq/auth.c || \ + die 'PGSQL_PAM_SERVICE rename failed.' + fi + + eapply_user +} + +src_configure() { + case ${CHOST} in + *-darwin*|*-solaris*) + use nls && append-libs intl + ;; + esac + + export LDFLAGS_SL="${LDFLAGS}" + export LDFLAGS_EX="${LDFLAGS}" + + local PO="${EPREFIX%/}" + + local i uuid_config="" + if use uuid; then + for i in ${UTIL_LINUX_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=e2fs" + done + for i in ${BSD_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=bsd" + done + [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp" + fi + + econf \ + --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \ + --datadir="${PO}/usr/share/postgresql-${SLOT}" \ + --docdir="${PO}/usr/share/doc/${PF}" \ + --includedir="${PO}/usr/include/postgresql-${SLOT}" \ + --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \ + --sysconfdir="${PO}/etc/postgresql-${SLOT}" \ + --with-system-tzdata="${PO}/usr/share/zoneinfo" \ + $(use_enable !alpha spinlocks) \ + $(use_enable threads thread-safety) \ + $(use_with kerberos gssapi) \ + $(use_with ldap) \ + $(use_with pam) \ + $(use_with perl) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with ssl openssl) \ + $(usex server "$(use_with systemd)" '--without-systemd') \ + $(use_with tcl) \ + ${uuid_config} \ + $(use_with xml libxml) \ + $(use_with xml libxslt) \ + $(use_with zlib) \ + $(use_enable nls nls "'$(l10n_get_locales)'") +} + +src_compile() { + emake + emake -C contrib +} + +src_install() { + emake DESTDIR="${D}" install + emake DESTDIR="${D}" install -C contrib + + dodoc README HISTORY doc/{TODO,bug.template} + + # man pages are already built, but if we have the target make them, + # they'll be generated from source before being installed so we + # manually install man pages. + # We use ${SLOT} instead of doman for postgresql.eselect + insinto /usr/share/postgresql-${SLOT}/man/ + doins -r doc/src/sgml/man{1,3,7} + if ! use server; then + # Remove man pages for non-existent binaries + serverman=( + initdb + pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby} + pg_{test_{fsync,timing},upgrade,waldump} + post{gres,master} + ) + for m in ${serverman[@]} ; do + rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1" + done + fi + docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7} + + # Create slot specific man pages + local bn f mansec slotted_name + for mansec in 1 3 7 ; do + local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}" + + mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir" + pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed" + + for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do + bn=$(basename "${f}") + slotted_name=${bn%.${mansec}}${SLOT}.${mansec} + case ${bn} in + TABLE.7|WITH.7) + echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name} + ;; + *) + echo ".so ${rel_manpath}/${bn}" > ${slotted_name} + ;; + esac + done + + popd > /dev/null + done + + insinto /etc/postgresql-${SLOT} + newins src/bin/psql/psqlrc.sample psqlrc + + use static-libs || find "${ED}" -name '*.a' -delete + + local f bn + for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ + -mindepth 1 -maxdepth 1) + do + bn=$(basename "${f}") + # Temporarily tack on tmp to workaround a file collision + # issue. This is only necessary for 9.7 and earlier. 10 never + # had this issue. + dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ + "/usr/bin/${bn}${SLOT/.}" + done + + if use doc ; then + docinto html + dodoc doc/src/sgml/html/* + fi + + if use server; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} + + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT} + + if use systemd; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.service-9.6-r1" | \ + systemd_newunit - ${PN}-${SLOT}.service + newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir + systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf + fi + + use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session + + if use prefix ; then + keepdir /run/postgresql + fperms 1775 /run/postgresql + fi + fi +} + +pkg_postinst() { + use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf + postgresql-config update + + elog "If you need a global psqlrc-file, you can place it in:" + elog " ${EROOT%/}/etc/postgresql-${SLOT}/" + + if use server ; then + elog + elog "Gentoo specific documentation:" + elog "https://wiki.gentoo.org/wiki/PostgreSQL" + elog + elog "Official documentation:" + elog "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.0.ebuild b/dev-db/postgresql/postgresql-11.1.ebuild index 0db6206b7a97..43687a664bdb 100644 --- a/dev-db/postgresql/postgresql-11.0.ebuild +++ b/dev-db/postgresql/postgresql-11.1.ebuild @@ -295,6 +295,14 @@ pkg_postinst() { 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 } diff --git a/dev-db/postgresql/postgresql-9.3.25.ebuild b/dev-db/postgresql/postgresql-9.3.25.ebuild new file mode 100644 index 000000000000..20a0e225cdcf --- /dev/null +++ b/dev-db/postgresql/postgresql-9.3.25.ebuild @@ -0,0 +1,443 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) + +PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN + zh_TW" + +inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ + systemd user versionator + +KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris" + +SLOT="$(get_version_component_range 1-2)" + +SRC_URI="mirror://postgresql/source/v${PV}/postgresql-${PV}.tar.bz2" + +LICENSE="POSTGRESQL GPL-2" +DESCRIPTION="PostgreSQL RDBMS" +HOMEPAGE="https://www.postgresql.org/" + +IUSE="doc kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp + python +readline selinux +server systemd ssl static-libs tcl threads uuid + xml zlib" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +sys-apps/less +virtual/libintl +kerberos? ( virtual/krb5 ) +ldap? ( net-nds/openldap ) +pam? ( virtual/pam ) +perl? ( >=dev-lang/perl-5.8:= ) +python? ( ${PYTHON_DEPS} ) +readline? ( sys-libs/readline:0= ) +ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= ) + libressl? ( dev-libs/libressl:= ) +) +tcl? ( >=dev-lang/tcl-8:0= ) +uuid? ( dev-libs/ossp-uuid ) +xml? ( dev-libs/libxml2 dev-libs/libxslt ) +zlib? ( sys-libs/zlib ) +" + +DEPEND="${CDEPEND} +!!<sys-apps/sandbox-2.0 +sys-devel/bison +sys-devel/flex +nls? ( sys-devel/gettext ) +xml? ( virtual/pkgconfig ) +" + +RDEPEND="${CDEPEND} +!dev-db/postgresql-docs:${SLOT} +!dev-db/postgresql-base:${SLOT} +!dev-db/postgresql-server:${SLOT} +selinux? ( sec-policy/selinux-postgresql ) +" + +pkg_setup() { + use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup + + enewgroup postgres 70 + enewuser postgres 70 /bin/sh /var/lib/postgresql postgres + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # Work around PPC{,64} compilation bug where bool is already defined + sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die + + # Set proper run directory + sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \ + -i src/include/pg_config_manual.h || die + + # Rely on $PATH being in the proper order so that the correct + # install program is used for modules utilizing PGXS in both + # hardened and non-hardened environments. (Bug #528786) + sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die + + use server || eapply "${FILESDIR}/${PN}-${SLOT}-no-server.patch" + + if use pam ; then + sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \ + -i src/backend/libpq/auth.c || \ + die 'PGSQL_PAM_SERVICE rename failed.' + fi + + eapply_user +} + +src_configure() { + case ${CHOST} in + *-darwin*|*-solaris*) + use nls && append-libs intl + ;; + esac + + export LDFLAGS_SL="${LDFLAGS}" + export LDFLAGS_EX="${LDFLAGS}" + + local PO="${EPREFIX%/}" + + econf \ + --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \ + --datadir="${PO}/usr/share/postgresql-${SLOT}" \ + --docdir="${PO}/usr/share/doc/${PF}" \ + --includedir="${PO}/usr/include/postgresql-${SLOT}" \ + --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \ + --sysconfdir="${PO}/etc/postgresql-${SLOT}" \ + --with-system-tzdata="${PO}/usr/share/zoneinfo" \ + $(use_enable !pg_legacytimestamp integer-datetimes) \ + $(use_enable threads thread-safety) \ + $(use_with kerberos gssapi) \ + $(use_with kerberos krb5) \ + $(use_with ldap) \ + $(use_with pam) \ + $(use_with perl) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with ssl openssl) \ + $(use_with tcl) \ + $(use_with uuid ossp-uuid) \ + $(use_with xml libxml) \ + $(use_with xml libxslt) \ + $(use_with zlib) \ + $(use_enable nls nls "'$(l10n_get_locales)'") +} + +src_compile() { + emake + emake -C contrib +} + +src_install() { + emake DESTDIR="${D}" install + emake DESTDIR="${D}" install -C contrib + + dodoc README HISTORY doc/{TODO,bug.template} + + # man pages are already built, but if we have the target make them, + # they'll be generated from source before being installed so we + # manually install man pages. + # We use ${SLOT} instead of doman for postgresql.eselect + insinto /usr/share/postgresql-${SLOT}/man/ + doins -r doc/src/sgml/man{1,3,7} + if ! use server; then + # Remove man pages for non-existent binaries + for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do + rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1" + done + fi + docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7} + + # Create slot specific man pages + local bn f mansec slotted_name + for mansec in 1 3 7 ; do + local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}" + + mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir" + pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed" + + for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do + bn=$(basename "${f}") + slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec} + case ${bn} in + TABLE.7|WITH.7) + echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name} + ;; + *) + echo ".so ${rel_manpath}/${bn}" > ${slotted_name} + ;; + esac + done + + popd > /dev/null + done + + insinto /etc/postgresql-${SLOT} + newins src/bin/psql/psqlrc.sample psqlrc + + use static-libs || find "${ED}" -name '*.a' -delete + + local f bn + for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ + -mindepth 1 -maxdepth 1) + do + bn=$(basename "${f}") + # Temporarily tack on tmp to workaround a file collision + # issue. This is only necessary for 9.7 and earlier. 10 never + # had this issue. + dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ + "/usr/bin/${bn}${SLOT/.}tmp" + done + + if use doc ; then + docinto html + dodoc doc/src/sgml/html/* + + docinto sgml + dodoc doc/src/sgml/*.{sgml,dsl} + fi + + if use server; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} + + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT} + + if use systemd; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.service-9.2" | \ + systemd_newunit - ${PN}-${SLOT}.service + systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf + fi + + newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir + + use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session + + if use prefix ; then + keepdir /run/postgresql + fperms 1775 /run/postgresql + fi + fi +} + +pkg_preinst() { + # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g., + # /usr/bin/psql96). They may have been created by the + # postgresql.eselect module, but they're handled within this ebuild + # now. It's alright if we momentarily delete /usr/bin/psql as it + # will be recreated by the eselect module in pkg_ppostinst(). This + # is only necessary for 9.7 and earlier. 10 and later were never + # handled in this manner. + local canonicalise + if type -p realpath > /dev/null; then + canonicalise=realpath + elif type -p readlink > /dev/null; then + canonicalise='readlink -f' + else + # can't die, subshell + die "No readlink nor realpath found, cannot canonicalise" + fi + + local l + # First remove any symlinks in /usr/bin that may have been created + # by the old eselect + for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do + if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then + rm "${l}" || ewarn "Couldn't remove ${l}" + fi + done + + # Then move the symlinks created by the ebuild to their proper place. + for l in "${ED}"/usr/bin/*tmp ; do + mv "${l}" "${l%tmp}" \ + || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})" + done +} + +pkg_postinst() { + use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf + postgresql-config update + + elog "If you need a global psqlrc-file, you can place it in:" + elog " ${EROOT%/}/etc/postgresql-${SLOT}/" + + if use server ; then + elog + elog "Gentoo specific documentation:" + elog "https://wiki.gentoo.org/wiki/PostgreSQL" + elog + elog "Official documentation:" + elog "https://www.postgresql.org/docs/${SLOT}/static/index.html" + elog + elog "The default location of the Unix-domain socket is:" + elog " ${EROOT%/}/run/postgresql/" + elog + elog "Before initializing the database, you may want to edit PG_INITDB_OPTS" + elog "so that it contains your preferred locale in:" + elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + elog + elog "Then, execute the following command to setup the initial database" + elog "environment:" + elog " emerge --config =${CATEGORY}/${PF}" + fi +} + +pkg_prerm() { + if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then + ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?" + ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL" + + ebegin "Resuming removal in 10 seconds (Control-C to cancel)" + sleep 10 + eend 0 + fi +} + +pkg_postrm() { + postgresql-config update +} + +pkg_config() { + use server || die "USE flag 'server' not enabled. Nothing to configure." + + [[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \ + && source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + [[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/" + [[ -z "${DATA_DIR}" ]] \ + && DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data" + + # environment.bz2 may not contain the same locale as the current system + # locale. Unset and source from the current system locale. + if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then + unset LANG + unset LC_CTYPE + unset LC_NUMERIC + unset LC_TIME + unset LC_COLLATE + unset LC_MONETARY + unset LC_MESSAGES + unset LC_ALL + source "${EROOT%/}/etc/env.d/02locale" + [ -n "${LANG}" ] && export LANG + [ -n "${LC_CTYPE}" ] && export LC_CTYPE + [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC + [ -n "${LC_TIME}" ] && export LC_TIME + [ -n "${LC_COLLATE}" ] && export LC_COLLATE + [ -n "${LC_MONETARY}" ] && export LC_MONETARY + [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES + [ -n "${LC_ALL}" ] && export LC_ALL + fi + + einfo "You can modify the paths and options passed to initdb by editing:" + einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + einfo + einfo "Information on options that can be passed to initdb are found at:" + einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html" + einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html" + einfo + einfo "PG_INITDB_OPTS is currently set to:" + if [[ -z "${PG_INITDB_OPTS}" ]] ; then + einfo " (none)" + else + einfo " ${PG_INITDB_OPTS}" + fi + einfo + einfo "Configuration files will be installed to:" + einfo " ${PGDATA}" + einfo + einfo "The database cluster will be created in:" + einfo " ${DATA_DIR}" + einfo + + ebegin "Continuing initialization in 5 seconds (Control-C to cancel)" + sleep 5 + eend 0 + + if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then + eerror "The given directory, '${DATA_DIR}', is not empty." + eerror "Modify DATA_DIR to point to an empty directory." + die "${DATA_DIR} is not empty." + fi + + einfo "Creating the data directory ..." + if [[ ${EUID} == 0 ]] ; then + mkdir -p "${DATA_DIR}" + chown -Rf postgres:postgres "${DATA_DIR}" + chmod 0700 "${DATA_DIR}" + fi + + einfo "Initializing the database ..." + + if [[ ${EUID} == 0 ]] ; then + su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}" + else + "${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS} + fi + + if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then + mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}" + ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}" + fi + + # unix_socket_directory has no effect in postgresql.conf as it's + # overridden in the initscript + sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf + + cat <<- EOF >> "${PGDATA%/}"/postgresql.conf + # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522 + # On the off-chance that you might need to work with UTF-8 encoded + # characters in PL/Perl + plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";' + EOF + + einfo "The autovacuum function, which was in contrib, has been moved to the main" + einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled" + einfo "by default. You can disable it in the cluster's:" + einfo " ${PGDATA%/}/postgresql.conf" + einfo + einfo "The PostgreSQL server, by default, will log events to:" + einfo " ${DATA_DIR%/}/postmaster.log" + einfo + if use prefix ; then + einfo "The location of the configuration files have moved to:" + einfo " ${PGDATA}" + einfo "To start the server:" + einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'" + einfo "To stop:" + einfo " pg_ctl stop -D ${DATA_DIR}" + einfo + einfo "Or move the configuration files back:" + einfo "mv ${PGDATA}*.conf ${DATA_DIR}" + else + einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL" + einfo "instead of 'pg_ctl'." + fi +} + +src_test() { + if use server && [[ ${UID} -ne 0 ]] ; then + emake check + + einfo "If you think other tests besides the regression tests are necessary, please" + einfo "submit a bug including a patch for this ebuild to enable them." + else + use server || \ + ewarn 'Tests cannot be run without the "server" use flag enabled.' + [[ ${UID} -eq 0 ]] || \ + ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.' + + ewarn 'Skipping.' + fi +} diff --git a/dev-db/postgresql/postgresql-9.4.20.ebuild b/dev-db/postgresql/postgresql-9.4.20.ebuild new file mode 100644 index 000000000000..bb3638e9fbaf --- /dev/null +++ b/dev-db/postgresql/postgresql-9.4.20.ebuild @@ -0,0 +1,475 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) + +PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN + zh_TW" + +inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ + systemd user versionator + +KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris" + +SLOT="$(get_version_component_range 1-2)" + +SRC_URI="mirror://postgresql/source/v${PV}/postgresql-${PV}.tar.bz2" + +LICENSE="POSTGRESQL GPL-2" +DESCRIPTION="PostgreSQL RDBMS" +HOMEPAGE="https://www.postgresql.org/" + +IUSE="doc kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp + python +readline selinux +server systemd ssl static-libs tcl threads uuid + xml zlib" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +sys-apps/less +virtual/libintl +kerberos? ( virtual/krb5 ) +ldap? ( net-nds/openldap ) +pam? ( virtual/pam ) +perl? ( >=dev-lang/perl-5.8:= ) +python? ( ${PYTHON_DEPS} ) +readline? ( sys-libs/readline:0= ) +ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= ) + libressl? ( dev-libs/libressl:= ) +) +tcl? ( >=dev-lang/tcl-8:0= ) +xml? ( dev-libs/libxml2 dev-libs/libxslt ) +zlib? ( sys-libs/zlib ) +" + +# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no +# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems, +# the libc includes UUID functions. +UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} ) +BSD_LIBC=( elibc_{Free,Net,Open}BSD ) + +nest_usedep() { + local front back + while [[ ${#} -gt 1 ]]; do + front+="${1}? ( " + back+=" )" + shift + done + echo "${front}${1}${back}" +} + +IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}" +CDEPEND+=" +uuid? ( + ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )} + $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid) +)" + +DEPEND="${CDEPEND} +!!<sys-apps/sandbox-2.0 +sys-devel/bison +sys-devel/flex +nls? ( sys-devel/gettext ) +xml? ( virtual/pkgconfig ) +" + +RDEPEND="${CDEPEND} +!dev-db/postgresql-docs:${SLOT} +!dev-db/postgresql-base:${SLOT} +!dev-db/postgresql-server:${SLOT} +selinux? ( sec-policy/selinux-postgresql ) +" + +pkg_setup() { + use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup + + enewgroup postgres 70 + enewuser postgres 70 /bin/sh /var/lib/postgresql postgres + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # Work around PPC{,64} compilation bug where bool is already defined + sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die + + # Set proper run directory + sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \ + -i src/include/pg_config_manual.h || die + + # Rely on $PATH being in the proper order so that the correct + # install program is used for modules utilizing PGXS in both + # hardened and non-hardened environments. (Bug #528786) + sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die + + use server || eapply "${FILESDIR}/${PN}-9.4.10-no-server.patch" + + if use pam ; then + sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \ + -i src/backend/libpq/auth.c || \ + die 'PGSQL_PAM_SERVICE rename failed.' + fi + + eapply_user +} + +src_configure() { + case ${CHOST} in + *-darwin*|*-solaris*) + use nls && append-libs intl + ;; + esac + + export LDFLAGS_SL="${LDFLAGS}" + export LDFLAGS_EX="${LDFLAGS}" + + local PO="${EPREFIX%/}" + + local i uuid_config="" + if use uuid; then + for i in ${UTIL_LINUX_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=e2fs" + done + for i in ${BSD_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=bsd" + done + [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp" + fi + + econf \ + --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \ + --datadir="${PO}/usr/share/postgresql-${SLOT}" \ + --docdir="${PO}/usr/share/doc/${PF}" \ + --includedir="${PO}/usr/include/postgresql-${SLOT}" \ + --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \ + --sysconfdir="${PO}/etc/postgresql-${SLOT}" \ + --with-system-tzdata="${PO}/usr/share/zoneinfo" \ + $(use_enable !pg_legacytimestamp integer-datetimes) \ + $(use_enable threads thread-safety) \ + $(use_with kerberos gssapi) \ + $(use_with ldap) \ + $(use_with pam) \ + $(use_with perl) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with ssl openssl) \ + $(use_with tcl) \ + ${uuid_config} \ + $(use_with xml libxml) \ + $(use_with xml libxslt) \ + $(use_with zlib) \ + $(use_enable nls nls "'$(l10n_get_locales)'") +} + +src_compile() { + emake + emake -C contrib +} + +src_install() { + emake DESTDIR="${D}" install + emake DESTDIR="${D}" install -C contrib + + dodoc README HISTORY doc/{TODO,bug.template} + + # man pages are already built, but if we have the target make them, + # they'll be generated from source before being installed so we + # manually install man pages. + # We use ${SLOT} instead of doman for postgresql.eselect + insinto /usr/share/postgresql-${SLOT}/man/ + doins -r doc/src/sgml/man{1,3,7} + if ! use server; then + # Remove man pages for non-existent binaries + for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do + rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1" + done + fi + docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7} + + # Create slot specific man pages + local bn f mansec slotted_name + for mansec in 1 3 7 ; do + local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}" + + mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir" + pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed" + + for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do + bn=$(basename "${f}") + slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec} + case ${bn} in + TABLE.7|WITH.7) + echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name} + ;; + *) + echo ".so ${rel_manpath}/${bn}" > ${slotted_name} + ;; + esac + done + + popd > /dev/null + done + + insinto /etc/postgresql-${SLOT} + newins src/bin/psql/psqlrc.sample psqlrc + + use static-libs || find "${ED}" -name '*.a' -delete + + local f bn + for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ + -mindepth 1 -maxdepth 1) + do + bn=$(basename "${f}") + # Temporarily tack on tmp to workaround a file collision + # issue. This is only necessary for 9.7 and earlier. 10 never + # had this issue. + dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ + "/usr/bin/${bn}${SLOT/.}tmp" + done + + if use doc ; then + docinto html + dodoc doc/src/sgml/html/* + + docinto sgml + dodoc doc/src/sgml/*.{sgml,dsl} + fi + + if use server; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} + + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT} + + if use systemd; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.service-9.2" | \ + systemd_newunit - ${PN}-${SLOT}.service + systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf + fi + + newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir + + use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session + + if use prefix ; then + keepdir /run/postgresql + fperms 1775 /run/postgresql + fi + fi +} + +pkg_preinst() { + # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g., + # /usr/bin/psql96). They may have been created by the + # postgresql.eselect module, but they're handled within this ebuild + # now. It's alright if we momentarily delete /usr/bin/psql as it + # will be recreated by the eselect module in pkg_ppostinst(). This + # is only necessary for 9.7 and earlier. 10 and later were never + # handled in this manner. + local canonicalise + if type -p realpath > /dev/null; then + canonicalise=realpath + elif type -p readlink > /dev/null; then + canonicalise='readlink -f' + else + # can't die, subshell + die "No readlink nor realpath found, cannot canonicalise" + fi + + local l + # First remove any symlinks in /usr/bin that may have been created + # by the old eselect + for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do + if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then + rm "${l}" || ewarn "Couldn't remove ${l}" + fi + done + + # Then move the symlinks created by the ebuild to their proper place. + for l in "${ED}"/usr/bin/*tmp ; do + mv "${l}" "${l%tmp}" \ + || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})" + done +} + +pkg_postinst() { + use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf + postgresql-config update + + elog "If you need a global psqlrc-file, you can place it in:" + elog " ${EROOT%/}/etc/postgresql-${SLOT}/" + + if use server ; then + elog + elog "Gentoo specific documentation:" + elog "https://wiki.gentoo.org/wiki/PostgreSQL" + elog + elog "Official documentation:" + elog "https://www.postgresql.org/docs/${SLOT}/static/index.html" + elog + elog "The default location of the Unix-domain socket is:" + elog " ${EROOT%/}/run/postgresql/" + elog + elog "Before initializing the database, you may want to edit PG_INITDB_OPTS" + elog "so that it contains your preferred locale in:" + elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + elog + elog "Then, execute the following command to setup the initial database" + elog "environment:" + elog " emerge --config =${CATEGORY}/${PF}" + fi +} + +pkg_prerm() { + if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then + ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?" + ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL" + + ebegin "Resuming removal in 10 seconds (Control-C to cancel)" + sleep 10 + eend 0 + fi +} + +pkg_postrm() { + postgresql-config update +} + +pkg_config() { + use server || die "USE flag 'server' not enabled. Nothing to configure." + + [[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \ + && source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + [[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/" + [[ -z "${DATA_DIR}" ]] \ + && DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data" + + # environment.bz2 may not contain the same locale as the current system + # locale. Unset and source from the current system locale. + if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then + unset LANG + unset LC_CTYPE + unset LC_NUMERIC + unset LC_TIME + unset LC_COLLATE + unset LC_MONETARY + unset LC_MESSAGES + unset LC_ALL + source "${EROOT%/}/etc/env.d/02locale" + [ -n "${LANG}" ] && export LANG + [ -n "${LC_CTYPE}" ] && export LC_CTYPE + [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC + [ -n "${LC_TIME}" ] && export LC_TIME + [ -n "${LC_COLLATE}" ] && export LC_COLLATE + [ -n "${LC_MONETARY}" ] && export LC_MONETARY + [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES + [ -n "${LC_ALL}" ] && export LC_ALL + fi + + einfo "You can modify the paths and options passed to initdb by editing:" + einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + einfo + einfo "Information on options that can be passed to initdb are found at:" + einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html" + einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html" + einfo + einfo "PG_INITDB_OPTS is currently set to:" + if [[ -z "${PG_INITDB_OPTS}" ]] ; then + einfo " (none)" + else + einfo " ${PG_INITDB_OPTS}" + fi + einfo + einfo "Configuration files will be installed to:" + einfo " ${PGDATA}" + einfo + einfo "The database cluster will be created in:" + einfo " ${DATA_DIR}" + einfo + + ebegin "Continuing initialization in 5 seconds (Control-C to cancel)" + sleep 5 + eend 0 + + if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then + eerror "The given directory, '${DATA_DIR}', is not empty." + eerror "Modify DATA_DIR to point to an empty directory." + die "${DATA_DIR} is not empty." + fi + + einfo "Creating the data directory ..." + if [[ ${EUID} == 0 ]] ; then + mkdir -p "${DATA_DIR}" + chown -Rf postgres:postgres "${DATA_DIR}" + chmod 0700 "${DATA_DIR}" + fi + + einfo "Initializing the database ..." + + if [[ ${EUID} == 0 ]] ; then + su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}" + else + "${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS} + fi + + if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then + mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}" + ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}" + fi + + # unix_socket_directory has no effect in postgresql.conf as it's + # overridden in the initscript + sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf + + cat <<- EOF >> "${PGDATA%/}"/postgresql.conf + # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522 + # On the off-chance that you might need to work with UTF-8 encoded + # characters in PL/Perl + plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";' + EOF + + einfo "The autovacuum function, which was in contrib, has been moved to the main" + einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled" + einfo "by default. You can disable it in the cluster's:" + einfo " ${PGDATA%/}/postgresql.conf" + einfo + einfo "The PostgreSQL server, by default, will log events to:" + einfo " ${DATA_DIR%/}/postmaster.log" + einfo + if use prefix ; then + einfo "The location of the configuration files have moved to:" + einfo " ${PGDATA}" + einfo "To start the server:" + einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'" + einfo "To stop:" + einfo " pg_ctl stop -D ${DATA_DIR}" + einfo + einfo "Or move the configuration files back:" + einfo "mv ${PGDATA}*.conf ${DATA_DIR}" + else + einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL" + einfo "instead of 'pg_ctl'." + fi +} + +src_test() { + if use server && [[ ${UID} -ne 0 ]] ; then + emake check + + einfo "If you think other tests besides the regression tests are necessary, please" + einfo "submit a bug including a patch for this ebuild to enable them." + else + use server || \ + ewarn 'Tests cannot be run without the "server" use flag enabled.' + [[ ${UID} -eq 0 ]] || \ + ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.' + + ewarn 'Skipping.' + fi +} diff --git a/dev-db/postgresql/postgresql-9.5.15.ebuild b/dev-db/postgresql/postgresql-9.5.15.ebuild new file mode 100644 index 000000000000..2e76e7fce77f --- /dev/null +++ b/dev-db/postgresql/postgresql-9.5.15.ebuild @@ -0,0 +1,481 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) + +PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN + zh_TW" + +inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ + systemd user versionator + +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris" + +SLOT="$(get_version_component_range 1-2)" + +SRC_URI="mirror://postgresql/source/v${PV}/postgresql-${PV}.tar.bz2" + +LICENSE="POSTGRESQL GPL-2" +DESCRIPTION="PostgreSQL RDBMS" +HOMEPAGE="https://www.postgresql.org/" + +IUSE="doc kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp + python +readline selinux +server systemd ssl static-libs tcl threads uuid + xml zlib" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +sys-apps/less +virtual/libintl +kerberos? ( virtual/krb5 ) +ldap? ( net-nds/openldap ) +pam? ( virtual/pam ) +perl? ( >=dev-lang/perl-5.8:= ) +python? ( ${PYTHON_DEPS} ) +readline? ( sys-libs/readline:0= ) +ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= ) + libressl? ( dev-libs/libressl:= ) +) +tcl? ( >=dev-lang/tcl-8:0= ) +xml? ( dev-libs/libxml2 dev-libs/libxslt ) +zlib? ( sys-libs/zlib ) +" + +# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no +# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems, +# the libc includes UUID functions. +UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} ) +BSD_LIBC=( elibc_{Free,Net,Open}BSD ) + +nest_usedep() { + local front back + while [[ ${#} -gt 1 ]]; do + front+="${1}? ( " + back+=" )" + shift + done + echo "${front}${1}${back}" +} + +IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}" +CDEPEND+=" +uuid? ( + ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )} + $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid) +)" + +DEPEND="${CDEPEND} +!!<sys-apps/sandbox-2.0 +sys-devel/bison +sys-devel/flex +nls? ( sys-devel/gettext ) +xml? ( virtual/pkgconfig ) +" + +RDEPEND="${CDEPEND} +!dev-db/postgresql-docs:${SLOT} +!dev-db/postgresql-base:${SLOT} +!dev-db/postgresql-server:${SLOT} +selinux? ( sec-policy/selinux-postgresql ) +" + +pkg_setup() { + use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup + + enewgroup postgres 70 + enewuser postgres 70 /bin/sh /var/lib/postgresql postgres + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # Work around PPC{,64} compilation bug where bool is already defined + sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die + + # Set proper run directory + sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \ + -i src/include/pg_config_manual.h || die + + # Rely on $PATH being in the proper order so that the correct + # install program is used for modules utilizing PGXS in both + # hardened and non-hardened environments. (Bug #528786) + sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die + + use server || eapply "${FILESDIR}/${PN}-9.5.5-no-server.patch" + + if use pam ; then + sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \ + -i src/backend/libpq/auth.c || \ + die 'PGSQL_PAM_SERVICE rename failed.' + fi + + eapply_user +} + +src_configure() { + case ${CHOST} in + *-darwin*|*-solaris*) + use nls && append-libs intl + ;; + esac + + export LDFLAGS_SL="${LDFLAGS}" + export LDFLAGS_EX="${LDFLAGS}" + + local PO="${EPREFIX%/}" + + local i uuid_config="" + if use uuid; then + for i in ${UTIL_LINUX_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=e2fs" + done + for i in ${BSD_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=bsd" + done + [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp" + fi + + econf \ + --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \ + --datadir="${PO}/usr/share/postgresql-${SLOT}" \ + --docdir="${PO}/usr/share/doc/${PF}" \ + --includedir="${PO}/usr/include/postgresql-${SLOT}" \ + --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \ + --sysconfdir="${PO}/etc/postgresql-${SLOT}" \ + --with-system-tzdata="${PO}/usr/share/zoneinfo" \ + $(use_enable !alpha spinlocks) \ + $(use_enable !pg_legacytimestamp integer-datetimes) \ + $(use_enable threads thread-safety) \ + $(use_with kerberos gssapi) \ + $(use_with ldap) \ + $(use_with pam) \ + $(use_with perl) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with ssl openssl) \ + $(use_with tcl) \ + ${uuid_config} \ + $(use_with xml libxml) \ + $(use_with xml libxslt) \ + $(use_with zlib) \ + $(use_enable nls nls "'$(l10n_get_locales)'") +} + +src_compile() { + emake + emake -C contrib +} + +src_install() { + emake DESTDIR="${D}" install + emake DESTDIR="${D}" install -C contrib + + dodoc README HISTORY doc/{TODO,bug.template} + + # man pages are already built, but if we have the target make them, + # they'll be generated from source before being installed so we + # manually install man pages. + # We use ${SLOT} instead of doman for postgresql.eselect + insinto /usr/share/postgresql-${SLOT}/man/ + doins -r doc/src/sgml/man{1,3,7} + if ! use server; then + # Remove man pages for non-existent binaries + for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do + rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1" + done + fi + docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7} + + # Create slot specific man pages + local bn f mansec slotted_name + for mansec in 1 3 7 ; do + local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}" + + mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir" + pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed" + + for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do + bn=$(basename "${f}") + slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec} + case ${bn} in + TABLE.7|WITH.7) + echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name} + ;; + *) + echo ".so ${rel_manpath}/${bn}" > ${slotted_name} + ;; + esac + done + + popd > /dev/null + done + + insinto /etc/postgresql-${SLOT} + newins src/bin/psql/psqlrc.sample psqlrc + + use static-libs || find "${ED}" -name '*.a' -delete + + local f bn + for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ + -mindepth 1 -maxdepth 1) + do + bn=$(basename "${f}") + # Temporarily tack on tmp to workaround a file collision + # issue. This is only necessary for 9.7 and earlier. 10 never + # had this issue. + dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ + "/usr/bin/${bn}${SLOT/.}tmp" + done + + if use doc ; then + docinto html + dodoc doc/src/sgml/html/* + + docinto sgml + dodoc doc/src/sgml/*.{sgml,dsl} + fi + + if use server; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} + + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT} + + if use systemd; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.service-9.2" | \ + systemd_newunit - ${PN}-${SLOT}.service + systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf + fi + + newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir + + use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session + + if use prefix ; then + keepdir /run/postgresql + fperms 1775 /run/postgresql + fi + fi +} + +pkg_preinst() { + # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g., + # /usr/bin/psql96). They may have been created by the + # postgresql.eselect module, but they're handled within this ebuild + # now. It's alright if we momentarily delete /usr/bin/psql as it + # will be recreated by the eselect module in pkg_ppostinst(). This + # is only necessary for 9.7 and earlier. 10 and later were never + # handled in this manner. + local canonicalise + if type -p realpath > /dev/null; then + canonicalise=realpath + elif type -p readlink > /dev/null; then + canonicalise='readlink -f' + else + # can't die, subshell + die "No readlink nor realpath found, cannot canonicalise" + fi + + local l + # First remove any symlinks in /usr/bin that may have been created + # by the old eselect + for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do + if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then + rm "${l}" || ewarn "Couldn't remove ${l}" + fi + done + + # Then move the symlinks created by the ebuild to their proper place. + for l in "${ED}"/usr/bin/*tmp ; do + mv "${l}" "${l%tmp}" \ + || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})" + done +} + +pkg_postinst() { + use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf + postgresql-config update + + if use alpha && use server ; then + ewarn "PostgreSQL 9.5+ no longer has native spinlock support on Alpha platforms." + ewarn "As a result, performance will be extremely degraded." + fi + + elog "If you need a global psqlrc-file, you can place it in:" + elog " ${EROOT%/}/etc/postgresql-${SLOT}/" + + if use server ; then + elog + elog "Gentoo specific documentation:" + elog "https://wiki.gentoo.org/wiki/PostgreSQL" + elog + elog "Official documentation:" + elog "https://www.postgresql.org/docs/${SLOT}/static/index.html" + elog + elog "The default location of the Unix-domain socket is:" + elog " ${EROOT%/}/run/postgresql/" + elog + elog "Before initializing the database, you may want to edit PG_INITDB_OPTS" + elog "so that it contains your preferred locale in:" + elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + elog + elog "Then, execute the following command to setup the initial database" + elog "environment:" + elog " emerge --config =${CATEGORY}/${PF}" + fi +} + +pkg_prerm() { + if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then + ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?" + ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL" + + ebegin "Resuming removal in 10 seconds (Control-C to cancel)" + sleep 10 + eend 0 + fi +} + +pkg_postrm() { + postgresql-config update +} + +pkg_config() { + use server || die "USE flag 'server' not enabled. Nothing to configure." + + [[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \ + && source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + [[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/" + [[ -z "${DATA_DIR}" ]] \ + && DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data" + + # environment.bz2 may not contain the same locale as the current system + # locale. Unset and source from the current system locale. + if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then + unset LANG + unset LC_CTYPE + unset LC_NUMERIC + unset LC_TIME + unset LC_COLLATE + unset LC_MONETARY + unset LC_MESSAGES + unset LC_ALL + source "${EROOT%/}/etc/env.d/02locale" + [ -n "${LANG}" ] && export LANG + [ -n "${LC_CTYPE}" ] && export LC_CTYPE + [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC + [ -n "${LC_TIME}" ] && export LC_TIME + [ -n "${LC_COLLATE}" ] && export LC_COLLATE + [ -n "${LC_MONETARY}" ] && export LC_MONETARY + [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES + [ -n "${LC_ALL}" ] && export LC_ALL + fi + + einfo "You can modify the paths and options passed to initdb by editing:" + einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + einfo + einfo "Information on options that can be passed to initdb are found at:" + einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html" + einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html" + einfo + einfo "PG_INITDB_OPTS is currently set to:" + if [[ -z "${PG_INITDB_OPTS}" ]] ; then + einfo " (none)" + else + einfo " ${PG_INITDB_OPTS}" + fi + einfo + einfo "Configuration files will be installed to:" + einfo " ${PGDATA}" + einfo + einfo "The database cluster will be created in:" + einfo " ${DATA_DIR}" + einfo + + ebegin "Continuing initialization in 5 seconds (Control-C to cancel)" + sleep 5 + eend 0 + + if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then + eerror "The given directory, '${DATA_DIR}', is not empty." + eerror "Modify DATA_DIR to point to an empty directory." + die "${DATA_DIR} is not empty." + fi + + einfo "Creating the data directory ..." + if [[ ${EUID} == 0 ]] ; then + mkdir -p "${DATA_DIR}" + chown -Rf postgres:postgres "${DATA_DIR}" + chmod 0700 "${DATA_DIR}" + fi + + einfo "Initializing the database ..." + + if [[ ${EUID} == 0 ]] ; then + su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}" + else + "${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS} + fi + + if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then + mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}" + ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}" + fi + + # unix_socket_directory has no effect in postgresql.conf as it's + # overridden in the initscript + sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf + + cat <<- EOF >> "${PGDATA%/}"/postgresql.conf + # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522 + # On the off-chance that you might need to work with UTF-8 encoded + # characters in PL/Perl + plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";' + EOF + + einfo "The autovacuum function, which was in contrib, has been moved to the main" + einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled" + einfo "by default. You can disable it in the cluster's:" + einfo " ${PGDATA%/}/postgresql.conf" + einfo + einfo "The PostgreSQL server, by default, will log events to:" + einfo " ${DATA_DIR%/}/postmaster.log" + einfo + if use prefix ; then + einfo "The location of the configuration files have moved to:" + einfo " ${PGDATA}" + einfo "To start the server:" + einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'" + einfo "To stop:" + einfo " pg_ctl stop -D ${DATA_DIR}" + einfo + einfo "Or move the configuration files back:" + einfo "mv ${PGDATA}*.conf ${DATA_DIR}" + else + einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL" + einfo "instead of 'pg_ctl'." + fi +} + +src_test() { + if use server && [[ ${UID} -ne 0 ]] ; then + emake check + + einfo "If you think other tests besides the regression tests are necessary, please" + einfo "submit a bug including a patch for this ebuild to enable them." + else + use server || \ + ewarn 'Tests cannot be run without the "server" use flag enabled.' + [[ ${UID} -eq 0 ]] || \ + ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.' + + ewarn 'Skipping.' + fi +} diff --git a/dev-db/postgresql/postgresql-9.6.11.ebuild b/dev-db/postgresql/postgresql-9.6.11.ebuild new file mode 100644 index 000000000000..6da19879ca11 --- /dev/null +++ b/dev-db/postgresql/postgresql-9.6.11.ebuild @@ -0,0 +1,486 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) + +PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN + zh_TW" + +inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ + systemd user versionator + +KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris" + +SLOT="$(get_version_component_range 1-2)" + +MY_PV=${PV/_/} +S="${WORKDIR}/${PN}-${MY_PV}" + +SRC_URI="mirror://postgresql/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2" + +LICENSE="POSTGRESQL GPL-2" +DESCRIPTION="PostgreSQL RDBMS" +HOMEPAGE="https://www.postgresql.org/" + +IUSE="doc kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp + python +readline selinux +server systemd ssl static-libs tcl threads uuid + xml zlib" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +sys-apps/less +virtual/libintl +kerberos? ( virtual/krb5 ) +ldap? ( net-nds/openldap ) +pam? ( virtual/pam ) +perl? ( >=dev-lang/perl-5.8:= ) +python? ( ${PYTHON_DEPS} ) +readline? ( sys-libs/readline:0= ) +ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= ) + libressl? ( dev-libs/libressl:= ) +) +server? ( systemd? ( sys-apps/systemd ) ) +tcl? ( >=dev-lang/tcl-8:0= ) +xml? ( dev-libs/libxml2 dev-libs/libxslt ) +zlib? ( sys-libs/zlib ) +" + +# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no +# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems, +# the libc includes UUID functions. +UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} ) +BSD_LIBC=( elibc_{Free,Net,Open}BSD ) + +nest_usedep() { + local front back + while [[ ${#} -gt 1 ]]; do + front+="${1}? ( " + back+=" )" + shift + done + echo "${front}${1}${back}" +} + +IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}" +CDEPEND+=" +uuid? ( + ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )} + $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid) +)" + +DEPEND="${CDEPEND} +!!<sys-apps/sandbox-2.0 +sys-devel/bison +sys-devel/flex +nls? ( sys-devel/gettext ) +xml? ( virtual/pkgconfig ) +" + +RDEPEND="${CDEPEND} +!dev-db/postgresql-docs:${SLOT} +!dev-db/postgresql-base:${SLOT} +!dev-db/postgresql-server:${SLOT} +selinux? ( sec-policy/selinux-postgresql ) +" + +pkg_setup() { + use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup + + enewgroup postgres 70 + enewuser postgres 70 /bin/sh /var/lib/postgresql postgres + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # Work around PPC{,64} compilation bug where bool is already defined + sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die + + # Set proper run directory + sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \ + -i src/include/pg_config_manual.h || die + + # Rely on $PATH being in the proper order so that the correct + # install program is used for modules utilizing PGXS in both + # hardened and non-hardened environments. (Bug #528786) + sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die + + use server || eapply "${FILESDIR}/${PN}-${SLOT}.3-no-server.patch" + + if use pam ; then + sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \ + -i src/backend/libpq/auth.c || \ + die 'PGSQL_PAM_SERVICE rename failed.' + fi + + eapply_user +} + +src_configure() { + case ${CHOST} in + *-darwin*|*-solaris*) + use nls && append-libs intl + ;; + esac + + export LDFLAGS_SL="${LDFLAGS}" + export LDFLAGS_EX="${LDFLAGS}" + + local PO="${EPREFIX%/}" + + local i uuid_config="" + if use uuid; then + for i in ${UTIL_LINUX_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=e2fs" + done + for i in ${BSD_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=bsd" + done + [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp" + fi + + econf \ + --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \ + --datadir="${PO}/usr/share/postgresql-${SLOT}" \ + --docdir="${PO}/usr/share/doc/${PF}" \ + --includedir="${PO}/usr/include/postgresql-${SLOT}" \ + --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \ + --sysconfdir="${PO}/etc/postgresql-${SLOT}" \ + --with-system-tzdata="${PO}/usr/share/zoneinfo" \ + $(use_enable !alpha spinlocks) \ + $(use_enable !pg_legacytimestamp integer-datetimes) \ + $(use_enable threads thread-safety) \ + $(use_with kerberos gssapi) \ + $(use_with ldap) \ + $(use_with pam) \ + $(use_with perl) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with ssl openssl) \ + $(usex server "$(use_with systemd)" '--without-systemd') \ + $(use_with tcl) \ + ${uuid_config} \ + $(use_with xml libxml) \ + $(use_with xml libxslt) \ + $(use_with zlib) \ + $(use_enable nls nls "'$(l10n_get_locales)'") +} + +src_compile() { + emake + emake -C contrib +} + +src_install() { + emake DESTDIR="${D}" install + emake DESTDIR="${D}" install -C contrib + + dodoc README HISTORY doc/{TODO,bug.template} + + # man pages are already built, but if we have the target make them, + # they'll be generated from source before being installed so we + # manually install man pages. + # We use ${SLOT} instead of doman for postgresql.eselect + insinto /usr/share/postgresql-${SLOT}/man/ + doins -r doc/src/sgml/man{1,3,7} + if ! use server; then + # Remove man pages for non-existent binaries + for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do + rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1" + done + fi + docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7} + + # Create slot specific man pages + local bn f mansec slotted_name + for mansec in 1 3 7 ; do + local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}" + + mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir" + pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed" + + for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do + bn=$(basename "${f}") + slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec} + case ${bn} in + TABLE.7|WITH.7) + echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name} + ;; + *) + echo ".so ${rel_manpath}/${bn}" > ${slotted_name} + ;; + esac + done + + popd > /dev/null + done + + insinto /etc/postgresql-${SLOT} + newins src/bin/psql/psqlrc.sample psqlrc + + use static-libs || find "${ED}" -name '*.a' -delete + + local f bn + for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ + -mindepth 1 -maxdepth 1) + do + bn=$(basename "${f}") + # Temporarily tack on tmp to workaround a file collision + # issue. This is only necessary for 9.7 and earlier. 10 never + # had this issue. + dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ + "/usr/bin/${bn}${SLOT/.}tmp" + done + + if use doc ; then + docinto html + dodoc doc/src/sgml/html/* + + docinto sgml + dodoc doc/src/sgml/*.{sgml,dsl} + fi + + if use server; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} + + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT} + + if use systemd; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.service-9.6-r1" | \ + systemd_newunit - ${PN}-${SLOT}.service + systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf + fi + + newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir + + use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session + + if use prefix ; then + keepdir /run/postgresql + fperms 1775 /run/postgresql + fi + fi +} + +pkg_preinst() { + # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g., + # /usr/bin/psql96). They may have been created by the + # postgresql.eselect module, but they're handled within this ebuild + # now. It's alright if we momentarily delete /usr/bin/psql as it + # will be recreated by the eselect module in pkg_ppostinst(). This + # is only necessary for 9.7 and earlier. 10 and later were never + # handled in this manner. + local canonicalise + if type -p realpath > /dev/null; then + canonicalise=realpath + elif type -p readlink > /dev/null; then + canonicalise='readlink -f' + else + # can't die, subshell + die "No readlink nor realpath found, cannot canonicalise" + fi + + local l + # First remove any symlinks in /usr/bin that may have been created + # by the old eselect + for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do + if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then + rm "${l}" || ewarn "Couldn't remove ${l}" + fi + done + + # Then move the symlinks created by the ebuild to their proper place. + for l in "${ED}"/usr/bin/*tmp ; do + mv "${l}" "${l%tmp}" \ + || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})" + done +} + +pkg_postinst() { + use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf + postgresql-config update + + elog "If you need a global psqlrc-file, you can place it in:" + elog " ${EROOT%/}/etc/postgresql-${SLOT}/" + + if use server ; then + elog + elog "Gentoo specific documentation:" + elog "https://wiki.gentoo.org/wiki/PostgreSQL" + elog + elog "Official documentation:" + elog "https://www.postgresql.org/docs/${SLOT}/static/index.html" + elog + elog "The default location of the Unix-domain socket is:" + elog " ${EROOT%/}/run/postgresql/" + elog + elog "Before initializing the database, you may want to edit PG_INITDB_OPTS" + elog "so that it contains your preferred locale in:" + elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + elog + elog "Then, execute the following command to setup the initial database" + elog "environment:" + elog " emerge --config =${CATEGORY}/${PF}" + fi +} + +pkg_prerm() { + if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then + ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?" + ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL" + + ebegin "Resuming removal in 10 seconds (Control-C to cancel)" + sleep 10 + eend 0 + fi +} + +pkg_postrm() { + postgresql-config update +} + +pkg_config() { + use server || die "USE flag 'server' not enabled. Nothing to configure." + + [[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \ + && source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + [[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/" + [[ -z "${DATA_DIR}" ]] \ + && DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data" + + # environment.bz2 may not contain the same locale as the current system + # locale. Unset and source from the current system locale. + if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then + unset LANG + unset LC_CTYPE + unset LC_NUMERIC + unset LC_TIME + unset LC_COLLATE + unset LC_MONETARY + unset LC_MESSAGES + unset LC_ALL + source "${EROOT%/}/etc/env.d/02locale" + [ -n "${LANG}" ] && export LANG + [ -n "${LC_CTYPE}" ] && export LC_CTYPE + [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC + [ -n "${LC_TIME}" ] && export LC_TIME + [ -n "${LC_COLLATE}" ] && export LC_COLLATE + [ -n "${LC_MONETARY}" ] && export LC_MONETARY + [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES + [ -n "${LC_ALL}" ] && export LC_ALL + fi + + einfo "You can modify the paths and options passed to initdb by editing:" + einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + einfo + einfo "Information on options that can be passed to initdb are found at:" + einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html" + einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html" + einfo + einfo "PG_INITDB_OPTS is currently set to:" + if [[ -z "${PG_INITDB_OPTS}" ]] ; then + einfo " (none)" + else + einfo " ${PG_INITDB_OPTS}" + fi + einfo + einfo "Configuration files will be installed to:" + einfo " ${PGDATA}" + einfo + einfo "The database cluster will be created in:" + einfo " ${DATA_DIR}" + einfo + + ebegin "Continuing initialization in 5 seconds (Control-C to cancel)" + sleep 5 + eend 0 + + if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then + eerror "The given directory, '${DATA_DIR}', is not empty." + eerror "Modify DATA_DIR to point to an empty directory." + die "${DATA_DIR} is not empty." + fi + + einfo "Creating the data directory ..." + if [[ ${EUID} == 0 ]] ; then + mkdir -p "${DATA_DIR}" + chown -Rf postgres:postgres "${DATA_DIR}" + chmod 0700 "${DATA_DIR}" + fi + + einfo "Initializing the database ..." + + if [[ ${EUID} == 0 ]] ; then + su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}" + else + "${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS} + fi + + if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then + mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}" + ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}" + fi + + # unix_socket_directory has no effect in postgresql.conf as it's + # overridden in the initscript + sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf + + cat <<- EOF >> "${PGDATA%/}"/postgresql.conf + # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522 + # On the off-chance that you might need to work with UTF-8 encoded + # characters in PL/Perl + plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";' + EOF + + einfo "The autovacuum function, which was in contrib, has been moved to the main" + einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled" + einfo "by default. You can disable it in the cluster's:" + einfo " ${PGDATA%/}/postgresql.conf" + einfo + if ! use systemd; then + einfo "The PostgreSQL server, by default, will log events to:" + einfo " ${DATA_DIR%/}/postmaster.log" + einfo + fi + if use prefix ; then + einfo "The location of the configuration files have moved to:" + einfo " ${PGDATA}" + einfo "To start the server:" + einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'" + einfo "To stop:" + einfo " pg_ctl stop -D ${DATA_DIR}" + einfo + einfo "Or move the configuration files back:" + einfo "mv ${PGDATA}*.conf ${DATA_DIR}" + elif use systemd; then + einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL" + einfo "instead of 'pg_ctl'." + else + einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL" + einfo "instead of 'pg_ctl'." + fi +} + +src_test() { + if use server && [[ ${UID} -ne 0 ]] ; then + emake check + + einfo "If you think other tests besides the regression tests are necessary, please" + einfo "submit a bug including a patch for this ebuild to enable them." + else + use server || \ + ewarn 'Tests cannot be run without the "server" use flag enabled.' + [[ ${UID} -eq 0 ]] || \ + ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.' + + ewarn 'Skipping.' + fi +} diff --git a/dev-db/redis/Manifest b/dev-db/redis/Manifest index d56e3fd23977..c924700a2eeb 100644 --- a/dev-db/redis/Manifest +++ b/dev-db/redis/Manifest @@ -15,24 +15,12 @@ AUX redis.initd-5 696 BLAKE2B 11b2a50a74c9aea57b01ee7be7d3e1d70ca21db994c35b6d38 AUX redis.logrotate 105 BLAKE2B 1281fd86d399b40aaaa69d1fe170b2c49523c074e14b12907428b676b03d510b680363dd5041428d5fddecb91a510baf53dfa57df66d697ba4846f1e49ab59fe SHA512 9cbd27732c7f8270bf9b8563df0964af142d1ac4e97417e495fcb02e730e93fdfafac9370188a2fce040d55d6c3704e284a50b6300616a3f13a03a6e25c1ae49 AUX redis.service-2 253 BLAKE2B 0b78b45eaed3c7adbc68703968e1c843eeff785261cf7f4636df215d742c717d6fe95bb24e0aa947d64962ad20adacd48a4dd59b98eae479e7a33c1a0f2af7e1 SHA512 b42b73bb54ccc0d16adafb91aabe010092f548ec7979d8a0ed1c4563d9fca378eeb74c0c556f7565a32199ed30ca8a13d6b610d9cda39fd23da1428a410f62cc AUX redis.tmpfiles 61 BLAKE2B 1c3bf8aa105940c408163f61c63ed16b86de7a979cb5143d15700cac329970f351cb9b9377aa82e6f4dae377b00c1710a1e0f54334f007cfed64551f761034d4 SHA512 741ff5a4df5b04e7af4e81357812bf5b6cf992bc18b6052074aef134401d0a92703a2e41f52966012c05ea80fac5636435c8d3e6ed55e62a5711526ba67ee738 -DIST redis-3.2.12.tar.gz 1551468 BLAKE2B 85483de2588e4161521fe958225a53ab4357d0db83954c22f755d5d512e6e2126f9e7fdc1032353bd491353af3805c806b89546f886fe78fa5e5d2dc1446420b SHA512 eec64a17e331ac220ba425a495127b3873048dc2597a6508962469c0c99763deffcec97254915e2b1f3867eb556b917e8861baa9609c727d0abb254a90d87cdc -DIST redis-3.2.8.tar.gz 1547237 BLAKE2B fb03e263ad7b135dff38e018d9b830c4992cf331efc7c23c10b087c47e597abedb52f259d4dd9a9ee1d661685157fc29a2022d74bc21d406bb10c9b7dfab8b7e SHA512 7334faf73af3644f7f9dcaddd322955d5df1e88a1640b509ae623f322615a20f6dc143eb57dd89ff3a278557df309ac4215c3fb458235682ce28e16c817068ba DIST redis-4.0.10.tar.gz 1738465 BLAKE2B 572cbb3d2d5d7209f81ebd53ee68f40b404d0e4623bd1864845bf1f47135d4e097a6974d346ffd845d848c39ace6d3fb9f1a347e0c9d16d06d22aed7a8b3ae7b SHA512 0978dabaf637e61889d492fd3629acd58ca8fb0c0088cdd7036ffd1a7ed3f018c107039d4c96bd61d0b7d35757df2366d051f57d77ffb5642aca0e5651b30603 DIST redis-4.0.11.tar.gz 1739656 BLAKE2B d94f380ad1600e58942cc5b27b512984396cdbb06ea6e947c7d7ce5b8ecdb8a2a56c6356af2caa82a96887a610716c9575b78eb2f46da89efb940febc1c30f22 SHA512 f0054af9ca2143731a397b2b21285387707b7f40d9326ba15225feb1a2ff470fab5194308342f63bbe1081f84c7e9ef19543c5a8e3eae49e17bfc515c64201f0 DIST redis-4.0.2.tar.gz 1713990 BLAKE2B 307ab76b336f7520e14a23a1577c46e1b63cc5a5a5b6afb725cb87934fbcb62107085671fd1072d1142ce8e92f069e6b6064c9f4468335bc6997897c8f494471 SHA512 1458909c6fc16cff8ca5e6dddff23b988ee1e447f2d0bccf5941553b22bab6abb851732b3fe53dafb8a69d6c0939c3ce7e0686d51e03be720fb018c038d3b1b4 -DIST redis-4.0.6.tar.gz 1723533 BLAKE2B 94c2a9b7eeaa676efaac75cd5c143b0f4b02440b5a21ecc9b2a68cc27ad4abc1fc4d7dbc903dea5d956ce737ca434ea5b5bdde4a35df3a3689da60c5fb0bddf1 SHA512 784aad612664df666c36f969cb6a9ab794f004abcf9aa761bd1f5f0f8fdb248d5b38f48a59b68c2de7d2a344755f1537efc9d5847de0d662302699ed94d40813 -DIST redis-4.0.7.tar.gz 1729488 BLAKE2B 7a5337b868e4da4a7387b31bc9d6bd4c86abd701b9ba999f64296ed5188cbba7208ced466973a500730ca03e70a9a85fbab2fb4700fdc977e58defc0126487d1 SHA512 6f317d9e76224b2a2b047dc8f56b126ea85ee5c6112c4c6238cb5cdfa3a83756bff3a82b106b00d1124a93d210a900d836587b8d9563916f19274de0e84c4c6b -DIST redis-4.0.8.tar.gz 1729973 BLAKE2B 32d82a07beba9ea8f0b08a8fc69da548a1974e5839f052a9803ffb0f52ef920df9b128092e061b5e693581a50efef4a1212c1f6310dc8492eff5ca841ff3b03a SHA512 11c126ddef3bedbceb02ee7a80a61374e081da8087055d77970b0097066a6f1c5e0c4f0d246c9851f8c3beca22f185c184669a9dc4f1c7c229f8cd2c34196ab6 -DIST redis-4.0.9.tar.gz 1737022 BLAKE2B 35a83d146062f5b14c023d7fd9f28d743ba6bec3e0e4bf9ce8e065a706bbd7508ffbcb8b1b4d18f6b6774589b5456540ba8717b9f449fcbd758c0f57dbd505a3 SHA512 a6cf63cb361f0a87da3955ba628190dc04cad342f7a664d18e44416ee67dd86ed6e3a46b9701e994f1417e56b819b3c6fc595f363c10bb4b83d5033919d29598 -DIST redis-5.0.0.tar.gz 1947721 BLAKE2B c776796a2efe3efd9f9b70dc9be06c10695a5f3cb40765b64f7adddbe5e77eb68650986d8c705e947d1aa46f0f909a2aa2743f43a12ba6c30615e5f9fc2ca55b SHA512 818277cf8c14eb5f0b864e936f657c8021a3614a76dda8975d82b20ab4e3983731363b7b527fb504fd41292304de079f78702503fca867ac6f45a97a391eec07 -EBUILD redis-3.2.12.ebuild 3886 BLAKE2B ea98fec96f660ef6c663d3700d8b90ee6a98c904e6c798e81416d14609e238e395d6096cdea1dafd0d7591b401b68803c44dd4c9d7831c43168643cea458b05c SHA512 ff68d691ee3555a74e6e4305d54d9848137d0887b6c96a97b81f48adfd06129291a51eac1c87cf358b8670dad93dc372d8e70455efa348f5ec296ec0035af6be -EBUILD redis-3.2.8-r5.ebuild 3884 BLAKE2B 27c4d67ff9d9f1d23c9ac0c5dcbfdaa7eda60b0957a955f7e66e9ad54c0490052a28cb6f02195dd606d8ff65f2b95c43325af771649048d80e7124e3df8d1907 SHA512 fde594959130b3999c8c31e5711b48f7d29824c189495b6d94124ef7190ce4cfc10b635ec2141fd980cfc709d7a7aa9f9474996742ed1fac8cde509cba22712c +DIST redis-5.0.1.tar.gz 1951542 BLAKE2B 6081acf2ed6af5a5790ad3164fa0008f934360c8b2b88794a60593dd954a0104b38b826f3de92add609b803c87c80266d1494c47e879c797525bb4a6f1a095fc SHA512 eb0f10903a8e87c0ca33597060b611a11c42576c64dd6d648b59cd9007d4ee6fe7c3762daf428c2d19ab05576a4b44dc3663fe1267c60acca58eeb2bba709e58 EBUILD redis-4.0.10.ebuild 4069 BLAKE2B 33bf7fbd67db2035d3bdc92f01f1252c9a27a1a3c736f555d21c6670920e03057b30bc51594898414dc5a18312c1af5f74f01b86ede936025cb44d6f0e478855 SHA512 52c9a38d8823fa87ddb8aea6db611bf43b0e3543eddb275a991da075095e27758de2f5456685a01eb79e3166a642a38256cd95f75d5cf7b1a432dcb3af29f671 EBUILD redis-4.0.11.ebuild 4074 BLAKE2B 609631167471b07d3caccad80d601e4d73a594a97979b25f828c171c341f2f8d24c12e2399ad81b8952e5f459f0a340726a4e8ee69a1f51b0626b52d18e7ce3c SHA512 86c003235c630c87a551b31f359a5fe824d7114016f22788cf8dc84dec56d5bea24c3fdbc86efd15734ccb636394bb6fc4f4d757566ac857605fa23c841db4d4 EBUILD redis-4.0.2-r1.ebuild 3807 BLAKE2B 7dbd27ad7593b53f1f7184321ba33f140072ef946859b33cf8dacf7eb98c9d7398c512ce403132bf3b9fece12e73cc0e4dd5cca1dbc220d50dea105ea87ef774 SHA512 d7744c01cbf4b6f1fec17ce7733a31f4deb3e925afbafb3a9aaa360d9598aff78b44c3bcadc54e82c809ff6ba0211e475d32f96ec4244f6081e3f5cfde1b1daa -EBUILD redis-4.0.6.ebuild 4074 BLAKE2B 8c650824c8216e360014750cfe64d205dc02d33b6997b31f4e1a282836c670e97c2c4158818b226a98a3b0cb1954def0ac356c5f154e93e6d41356fb68ec6550 SHA512 f864f88c8ce91cfb73448e4427b82d7a76276dfad851004e9b13f96c395e369a101d878cfba65f277aae878885b58202d0b52c0d37a160419aa55904ad8cb7f7 -EBUILD redis-4.0.7.ebuild 4074 BLAKE2B a6190e8b3223f516c48889f5bd455e7c94c1c68e0f142f8370fc74931d7b9fb79621bae4a080956eb8cc9cf00ece885535c2e3a17e717d1c2c069e61bed479ee SHA512 aafbb4f1a85133e3baf0b73f026281c6dba2cd2146c9d3a9e5fa610e5e1ca5a9ea8458b9b031345f7346b74e42fc2a238f3824ddf12ec7d83ba571ebe7d18e3d -EBUILD redis-4.0.8.ebuild 4074 BLAKE2B a6190e8b3223f516c48889f5bd455e7c94c1c68e0f142f8370fc74931d7b9fb79621bae4a080956eb8cc9cf00ece885535c2e3a17e717d1c2c069e61bed479ee SHA512 aafbb4f1a85133e3baf0b73f026281c6dba2cd2146c9d3a9e5fa610e5e1ca5a9ea8458b9b031345f7346b74e42fc2a238f3824ddf12ec7d83ba571ebe7d18e3d -EBUILD redis-4.0.9.ebuild 4074 BLAKE2B 609631167471b07d3caccad80d601e4d73a594a97979b25f828c171c341f2f8d24c12e2399ad81b8952e5f459f0a340726a4e8ee69a1f51b0626b52d18e7ce3c SHA512 86c003235c630c87a551b31f359a5fe824d7114016f22788cf8dc84dec56d5bea24c3fdbc86efd15734ccb636394bb6fc4f4d757566ac857605fa23c841db4d4 -EBUILD redis-5.0.0.ebuild 4011 BLAKE2B b99054eb7a1cf93cfd293b4884098eb12e41564f2505ba49d179c824a7e78a236f03f31198d3073ea882c6df327f2d5668f4e043632da55b5a25ef2c865000d6 SHA512 cf61adaa5d6e003abdd5e507f9d540699fe5d3ef593a1cd63507de9e8475a44265ad2385fb8f794e11f3f0908509b8552748f5280810a5ae2bc2d84d41110a16 +EBUILD redis-5.0.1.ebuild 4011 BLAKE2B b99054eb7a1cf93cfd293b4884098eb12e41564f2505ba49d179c824a7e78a236f03f31198d3073ea882c6df327f2d5668f4e043632da55b5a25ef2c865000d6 SHA512 cf61adaa5d6e003abdd5e507f9d540699fe5d3ef593a1cd63507de9e8475a44265ad2385fb8f794e11f3f0908509b8552748f5280810a5ae2bc2d84d41110a16 MISC metadata.xml 440 BLAKE2B b853160a8483ff59c413a37b8fd1703283cc80c5ea9de092654dd1809bdc6ed3dc98fb6285a3f33bfea136bdf3db4065b3e22c34f7458e9e83aa63e137a13eb3 SHA512 7c125eed761e5f4c868a3fd5539d5182b9c4da6ddeb0cb82a46dc6d0cc682410eb100168ddb4b5fb214d6092395394cefef5bc8fd3dcce818542d30748f9bd17 diff --git a/dev-db/redis/redis-3.2.12.ebuild b/dev-db/redis/redis-3.2.12.ebuild deleted file mode 100644 index eea23ad53470..000000000000 --- a/dev-db/redis/redis-3.2.12.ebuild +++ /dev/null @@ -1,131 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit autotools eutils flag-o-matic systemd toolchain-funcs user - -DESCRIPTION="A persistent caching system, key-value and data structures database" -HOMEPAGE="http://redis.io/" -SRC_URI="http://download.redis.io/releases/${P}.tar.gz" - -LICENSE="BSD" -KEYWORDS="amd64 arm arm64 ~hppa ~ppc ppc64 x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris" -IUSE="+jemalloc tcmalloc luajit test" -SLOT="0" - -# Redis does NOT build with Lua 5.2 or newer at this time. -# This should link correctly with both unslotted & slotted Lua, without -# changes. -RDEPEND="luajit? ( dev-lang/luajit:2 ) - !luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) ) - tcmalloc? ( dev-util/google-perftools ) - jemalloc? ( >=dev-libs/jemalloc-3.2 )" -DEPEND="virtual/pkgconfig - >=sys-devel/autoconf-2.63 - test? ( dev-lang/tcl:0= ) - ${RDEPEND}" -REQUIRED_USE="?? ( tcmalloc jemalloc )" - -S="${WORKDIR}/${PN}-${PV/_/-}" - -pkg_setup() { - enewgroup redis 75 - enewuser redis 75 -1 /var/lib/redis redis -} - -src_prepare() { - epatch \ - "${FILESDIR}"/${PN}-3.2.5-shared.patch \ - "${FILESDIR}"/${PN}-3.2.3-config.patch \ - "${FILESDIR}"/${PN}-3.2.3-sharedlua.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="" - 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 - - # Use the correct pkgconfig name for Lua - has_version 'dev-lang/lua:5.1' \ - && LUAPKGCONFIG=lua5.1 \ - || LUAPKGCONFIG=lua - sed -i \ - -e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \ - -e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \ - -e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${LUAPKGCONFIG},g" \ - configure.ac || die "Sed failed for configure.ac" - eautoreconf -} - -src_configure() { - econf \ - $(use_with luajit) - - # Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164 - # geohash-int can't be built with -std=c99 either - # also, don't define ANSI/c99 for lua twice - sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/geohash-int/Makefile deps/Makefile || die -} - -src_compile() { - tc-export CC AR RANLIB - - local myconf="" - - if use tcmalloc ; then - myconf="${myconf} USE_TCMALLOC=yes" - elif use jemalloc ; then - myconf="${myconf} JEMALLOC_SHARED=yes" - else - myconf="${myconf} MALLOC=yes" - fi - - emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}" -} - -src_install() { - insinto /etc/ - doins redis.conf sentinel.conf - use prefix || fowners redis:redis /etc/{redis,sentinel}.conf - fperms 0644 /etc/{redis,sentinel}.conf - - newconfd "${FILESDIR}/redis.confd-r1" redis - newinitd "${FILESDIR}/redis.initd-5" redis - - systemd_newunit "${FILESDIR}/redis.service-2" redis.service - systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles" redis.conf - - 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-3.2.8-r5.ebuild b/dev-db/redis/redis-3.2.8-r5.ebuild deleted file mode 100644 index 6a28e4c4b95d..000000000000 --- a/dev-db/redis/redis-3.2.8-r5.ebuild +++ /dev/null @@ -1,131 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit autotools eutils flag-o-matic systemd toolchain-funcs user - -DESCRIPTION="A persistent caching system, key-value and data structures database" -HOMEPAGE="http://redis.io/" -SRC_URI="http://download.redis.io/releases/${P}.tar.gz" - -LICENSE="BSD" -KEYWORDS="amd64 arm arm64 hppa ppc ppc64 x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris" -IUSE="+jemalloc tcmalloc luajit test" -SLOT="0" - -# Redis does NOT build with Lua 5.2 or newer at this time. -# This should link correctly with both unslotted & slotted Lua, without -# changes. -RDEPEND="luajit? ( dev-lang/luajit:2 ) - !luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) ) - tcmalloc? ( dev-util/google-perftools ) - jemalloc? ( >=dev-libs/jemalloc-3.2 )" -DEPEND="virtual/pkgconfig - >=sys-devel/autoconf-2.63 - test? ( dev-lang/tcl:0= ) - ${RDEPEND}" -REQUIRED_USE="?? ( tcmalloc jemalloc )" - -S="${WORKDIR}/${PN}-${PV/_/-}" - -pkg_setup() { - enewgroup redis 75 - enewuser redis 75 -1 /var/lib/redis redis -} - -src_prepare() { - epatch \ - "${FILESDIR}"/${PN}-3.2.5-shared.patch \ - "${FILESDIR}"/${PN}-3.2.3-config.patch \ - "${FILESDIR}"/${PN}-3.2.3-sharedlua.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="" - 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 - - # Use the correct pkgconfig name for Lua - has_version 'dev-lang/lua:5.1' \ - && LUAPKGCONFIG=lua5.1 \ - || LUAPKGCONFIG=lua - sed -i \ - -e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \ - -e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \ - -e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${LUAPKGCONFIG},g" \ - configure.ac || die "Sed failed for configure.ac" - eautoreconf -} - -src_configure() { - econf \ - $(use_with luajit) - - # Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164 - # geohash-int can't be built with -std=c99 either - # also, don't define ANSI/c99 for lua twice - sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/geohash-int/Makefile deps/Makefile || die -} - -src_compile() { - tc-export CC AR RANLIB - - local myconf="" - - if use tcmalloc ; then - myconf="${myconf} USE_TCMALLOC=yes" - elif use jemalloc ; then - myconf="${myconf} JEMALLOC_SHARED=yes" - else - myconf="${myconf} MALLOC=yes" - fi - - emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}" -} - -src_install() { - insinto /etc/ - doins redis.conf sentinel.conf - use prefix || fowners redis:redis /etc/{redis,sentinel}.conf - fperms 0644 /etc/{redis,sentinel}.conf - - newconfd "${FILESDIR}/redis.confd-r1" redis - newinitd "${FILESDIR}/redis.initd-5" redis - - systemd_newunit "${FILESDIR}/redis.service-2" redis.service - systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles" redis.conf - - 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-4.0.6.ebuild b/dev-db/redis/redis-4.0.6.ebuild deleted file mode 100644 index 92f1b4d63f31..000000000000 --- a/dev-db/redis/redis-4.0.6.ebuild +++ /dev/null @@ -1,141 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit autotools eutils flag-o-matic systemd toolchain-funcs user - -DESCRIPTION="A persistent caching system, key-value and data structures database" -HOMEPAGE="http://redis.io/" -SRC_URI="http://download.redis.io/releases/${P}.tar.gz" - -LICENSE="BSD" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris" -IUSE="+jemalloc tcmalloc luajit test" -SLOT="0" - -# Redis does NOT build with Lua 5.2 or newer at this time. -# This should link correctly with both unslotted & slotted Lua, without -# changes. -RDEPEND=" - luajit? ( dev-lang/luajit:2 ) - !luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) ) - tcmalloc? ( dev-util/google-perftools ) - jemalloc? ( >=dev-libs/jemalloc-3.2 )" - -DEPEND=" - ${RDEPEND} - virtual/pkgconfig - >=sys-devel/autoconf-2.63 - test? ( dev-lang/tcl:0= )" - -REQUIRED_USE="?? ( tcmalloc jemalloc )" - -S="${WORKDIR}/${PN}-${PV/_/-}" - -pkg_setup() { - enewgroup redis 75 - enewuser redis 75 -1 /var/lib/redis redis -} - -src_prepare() { - eapply \ - "${FILESDIR}"/${PN}-3.2.3-config.patch \ - "${FILESDIR}"/${PN}-4.0.1-shared.patch \ - "${FILESDIR}"/${PN}-4.0.1-sharedlua.patch \ - "${FILESDIR}"/${PN}-sentinel-4.0.6-config.patch - eapply_user - - # Copy lua modules into build dir - cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die - cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die - # Append cflag for lua_cjson - # https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61 - append-cflags "-DENABLE_CJSON_GLOBAL" - - # now we will rewrite present Makefiles - local makefiles="" MKF - for MKF in $(find -name 'Makefile' | cut -b 3-); do - mv "${MKF}" "${MKF}.in" - sed -i -e 's:$(CC):@CC@:g' \ - -e 's:$(CFLAGS):@AM_CFLAGS@:g' \ - -e 's: $(DEBUG)::g' \ - -e 's:$(OBJARCH)::g' \ - -e 's:ARCH:TARCH:g' \ - -e '/^CCOPT=/s:$: $(LDFLAGS):g' \ - "${MKF}.in" \ - || die "Sed failed for ${MKF}" - makefiles+=" ${MKF}" - done - # autodetection of compiler and settings; generates the modified Makefiles - cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die - - # Use the correct pkgconfig name for Lua - has_version 'dev-lang/lua:5.1' \ - && LUAPKGCONFIG=lua5.1 \ - || LUAPKGCONFIG=lua - sed -i \ - -e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \ - -e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \ - -e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${LUAPKGCONFIG},g" \ - configure.ac || die "Sed failed for configure.ac" - eautoreconf -} - -src_configure() { - econf \ - $(use_with luajit) - - # Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164 - # also, don't define ANSI/c99 for lua twice - sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die -} - -src_compile() { - tc-export CC AR RANLIB - - local myconf="" - - if use tcmalloc; then - myconf="${myconf} USE_TCMALLOC=yes" - elif use jemalloc; then - myconf="${myconf} JEMALLOC_SHARED=yes" - else - myconf="${myconf} MALLOC=yes" - fi - - emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}" -} - -src_install() { - insinto /etc/ - doins redis.conf sentinel.conf - use prefix || fowners redis:redis /etc/{redis,sentinel}.conf - fperms 0644 /etc/{redis,sentinel}.conf - - newconfd "${FILESDIR}/redis.confd-r1" redis - newinitd "${FILESDIR}/redis.initd-5" redis - - systemd_newunit "${FILESDIR}/redis.service-2" redis.service - systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles" redis.conf - - newconfd "${FILESDIR}/redis-sentinel.confd" redis-sentinel - newinitd "${FILESDIR}/redis-sentinel.initd" redis-sentinel - - insinto /etc/logrotate.d/ - newins "${FILESDIR}/${PN}.logrotate" ${PN} - - dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md - - dobin src/redis-cli - dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb - fperms 0750 /usr/sbin/redis-benchmark - dosym redis-server /usr/sbin/redis-sentinel - - if use prefix; then - diropts -m0750 - else - diropts -m0750 -o redis -g redis - fi - keepdir /var/{log,lib}/redis -} diff --git a/dev-db/redis/redis-4.0.7.ebuild b/dev-db/redis/redis-4.0.7.ebuild deleted file mode 100644 index c7f8131160d1..000000000000 --- a/dev-db/redis/redis-4.0.7.ebuild +++ /dev/null @@ -1,141 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit autotools eutils flag-o-matic systemd toolchain-funcs user - -DESCRIPTION="A persistent caching system, key-value and data structures database" -HOMEPAGE="http://redis.io/" -SRC_URI="http://download.redis.io/releases/${P}.tar.gz" - -LICENSE="BSD" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris" -IUSE="+jemalloc tcmalloc luajit test" -SLOT="0" - -# Redis does NOT build with Lua 5.2 or newer at this time. -# This should link correctly with both unslotted & slotted Lua, without -# changes. -RDEPEND=" - luajit? ( dev-lang/luajit:2 ) - !luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) ) - tcmalloc? ( dev-util/google-perftools ) - jemalloc? ( >=dev-libs/jemalloc-3.2 )" - -DEPEND=" - ${RDEPEND} - virtual/pkgconfig - >=sys-devel/autoconf-2.63 - test? ( dev-lang/tcl:0= )" - -REQUIRED_USE="?? ( tcmalloc jemalloc )" - -S="${WORKDIR}/${PN}-${PV/_/-}" - -pkg_setup() { - enewgroup redis 75 - enewuser redis 75 -1 /var/lib/redis redis -} - -src_prepare() { - eapply \ - "${FILESDIR}"/${PN}-3.2.3-config.patch \ - "${FILESDIR}"/${PN}-4.0.1-shared.patch \ - "${FILESDIR}"/${PN}-4.0.1-sharedlua.patch \ - "${FILESDIR}"/${PN}-sentinel-4.0.6-config.patch - eapply_user - - # Copy lua modules into build dir - cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die - cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die - # Append cflag for lua_cjson - # https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61 - append-cflags "-DENABLE_CJSON_GLOBAL" - - # now we will rewrite present Makefiles - local makefiles="" MKF - for MKF in $(find -name 'Makefile' | cut -b 3-); do - mv "${MKF}" "${MKF}.in" - sed -i -e 's:$(CC):@CC@:g' \ - -e 's:$(CFLAGS):@AM_CFLAGS@:g' \ - -e 's: $(DEBUG)::g' \ - -e 's:$(OBJARCH)::g' \ - -e 's:ARCH:TARCH:g' \ - -e '/^CCOPT=/s:$: $(LDFLAGS):g' \ - "${MKF}.in" \ - || die "Sed failed for ${MKF}" - makefiles+=" ${MKF}" - done - # autodetection of compiler and settings; generates the modified Makefiles - cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die - - # Use the correct pkgconfig name for Lua - has_version 'dev-lang/lua:5.1' \ - && LUAPKGCONFIG=lua5.1 \ - || LUAPKGCONFIG=lua - sed -i \ - -e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \ - -e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \ - -e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${LUAPKGCONFIG},g" \ - configure.ac || die "Sed failed for configure.ac" - eautoreconf -} - -src_configure() { - econf \ - $(use_with luajit) - - # Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164 - # also, don't define ANSI/c99 for lua twice - sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die -} - -src_compile() { - tc-export CC AR RANLIB - - local myconf="" - - if use tcmalloc; then - myconf="${myconf} USE_TCMALLOC=yes" - elif use jemalloc; then - myconf="${myconf} JEMALLOC_SHARED=yes" - else - myconf="${myconf} MALLOC=yes" - fi - - emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}" -} - -src_install() { - insinto /etc/ - doins redis.conf sentinel.conf - use prefix || fowners redis:redis /etc/{redis,sentinel}.conf - fperms 0644 /etc/{redis,sentinel}.conf - - newconfd "${FILESDIR}/redis.confd-r1" redis - newinitd "${FILESDIR}/redis.initd-5" redis - - systemd_newunit "${FILESDIR}/redis.service-2" redis.service - systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles" redis.conf - - newconfd "${FILESDIR}/redis-sentinel.confd" redis-sentinel - newinitd "${FILESDIR}/redis-sentinel.initd" redis-sentinel - - insinto /etc/logrotate.d/ - newins "${FILESDIR}/${PN}.logrotate" ${PN} - - dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md - - dobin src/redis-cli - dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb - fperms 0750 /usr/sbin/redis-benchmark - dosym redis-server /usr/sbin/redis-sentinel - - if use prefix; then - diropts -m0750 - else - diropts -m0750 -o redis -g redis - fi - keepdir /var/{log,lib}/redis -} diff --git a/dev-db/redis/redis-4.0.8.ebuild b/dev-db/redis/redis-4.0.8.ebuild deleted file mode 100644 index c7f8131160d1..000000000000 --- a/dev-db/redis/redis-4.0.8.ebuild +++ /dev/null @@ -1,141 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit autotools eutils flag-o-matic systemd toolchain-funcs user - -DESCRIPTION="A persistent caching system, key-value and data structures database" -HOMEPAGE="http://redis.io/" -SRC_URI="http://download.redis.io/releases/${P}.tar.gz" - -LICENSE="BSD" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris" -IUSE="+jemalloc tcmalloc luajit test" -SLOT="0" - -# Redis does NOT build with Lua 5.2 or newer at this time. -# This should link correctly with both unslotted & slotted Lua, without -# changes. -RDEPEND=" - luajit? ( dev-lang/luajit:2 ) - !luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) ) - tcmalloc? ( dev-util/google-perftools ) - jemalloc? ( >=dev-libs/jemalloc-3.2 )" - -DEPEND=" - ${RDEPEND} - virtual/pkgconfig - >=sys-devel/autoconf-2.63 - test? ( dev-lang/tcl:0= )" - -REQUIRED_USE="?? ( tcmalloc jemalloc )" - -S="${WORKDIR}/${PN}-${PV/_/-}" - -pkg_setup() { - enewgroup redis 75 - enewuser redis 75 -1 /var/lib/redis redis -} - -src_prepare() { - eapply \ - "${FILESDIR}"/${PN}-3.2.3-config.patch \ - "${FILESDIR}"/${PN}-4.0.1-shared.patch \ - "${FILESDIR}"/${PN}-4.0.1-sharedlua.patch \ - "${FILESDIR}"/${PN}-sentinel-4.0.6-config.patch - eapply_user - - # Copy lua modules into build dir - cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die - cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die - # Append cflag for lua_cjson - # https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61 - append-cflags "-DENABLE_CJSON_GLOBAL" - - # now we will rewrite present Makefiles - local makefiles="" MKF - for MKF in $(find -name 'Makefile' | cut -b 3-); do - mv "${MKF}" "${MKF}.in" - sed -i -e 's:$(CC):@CC@:g' \ - -e 's:$(CFLAGS):@AM_CFLAGS@:g' \ - -e 's: $(DEBUG)::g' \ - -e 's:$(OBJARCH)::g' \ - -e 's:ARCH:TARCH:g' \ - -e '/^CCOPT=/s:$: $(LDFLAGS):g' \ - "${MKF}.in" \ - || die "Sed failed for ${MKF}" - makefiles+=" ${MKF}" - done - # autodetection of compiler and settings; generates the modified Makefiles - cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die - - # Use the correct pkgconfig name for Lua - has_version 'dev-lang/lua:5.1' \ - && LUAPKGCONFIG=lua5.1 \ - || LUAPKGCONFIG=lua - sed -i \ - -e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \ - -e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \ - -e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${LUAPKGCONFIG},g" \ - configure.ac || die "Sed failed for configure.ac" - eautoreconf -} - -src_configure() { - econf \ - $(use_with luajit) - - # Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164 - # also, don't define ANSI/c99 for lua twice - sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die -} - -src_compile() { - tc-export CC AR RANLIB - - local myconf="" - - if use tcmalloc; then - myconf="${myconf} USE_TCMALLOC=yes" - elif use jemalloc; then - myconf="${myconf} JEMALLOC_SHARED=yes" - else - myconf="${myconf} MALLOC=yes" - fi - - emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}" -} - -src_install() { - insinto /etc/ - doins redis.conf sentinel.conf - use prefix || fowners redis:redis /etc/{redis,sentinel}.conf - fperms 0644 /etc/{redis,sentinel}.conf - - newconfd "${FILESDIR}/redis.confd-r1" redis - newinitd "${FILESDIR}/redis.initd-5" redis - - systemd_newunit "${FILESDIR}/redis.service-2" redis.service - systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles" redis.conf - - newconfd "${FILESDIR}/redis-sentinel.confd" redis-sentinel - newinitd "${FILESDIR}/redis-sentinel.initd" redis-sentinel - - insinto /etc/logrotate.d/ - newins "${FILESDIR}/${PN}.logrotate" ${PN} - - dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md - - dobin src/redis-cli - dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb - fperms 0750 /usr/sbin/redis-benchmark - dosym redis-server /usr/sbin/redis-sentinel - - if use prefix; then - diropts -m0750 - else - diropts -m0750 -o redis -g redis - fi - keepdir /var/{log,lib}/redis -} diff --git a/dev-db/redis/redis-4.0.9.ebuild b/dev-db/redis/redis-4.0.9.ebuild deleted file mode 100644 index a8d59c405e63..000000000000 --- a/dev-db/redis/redis-4.0.9.ebuild +++ /dev/null @@ -1,141 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit autotools eutils flag-o-matic systemd toolchain-funcs user - -DESCRIPTION="A persistent caching system, key-value and data structures database" -HOMEPAGE="https://redis.io" -SRC_URI="http://download.redis.io/releases/${P}.tar.gz" - -LICENSE="BSD" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-macos ~x86-solaris" -IUSE="+jemalloc tcmalloc luajit test" -SLOT="0" - -# Redis does NOT build with Lua 5.2 or newer at this time. -# This should link correctly with both unslotted & slotted Lua, without -# changes. -RDEPEND=" - luajit? ( dev-lang/luajit:2 ) - !luajit? ( || ( dev-lang/lua:5.1 =dev-lang/lua-5.1*:0 ) ) - tcmalloc? ( dev-util/google-perftools ) - jemalloc? ( >=dev-libs/jemalloc-3.2 )" - -DEPEND=" - ${RDEPEND} - virtual/pkgconfig - >=sys-devel/autoconf-2.63 - test? ( dev-lang/tcl:0= )" - -REQUIRED_USE="?? ( tcmalloc jemalloc )" - -S="${WORKDIR}/${PN}-${PV/_/-}" - -pkg_setup() { - enewgroup redis 75 - enewuser redis 75 -1 /var/lib/redis redis -} - -src_prepare() { - eapply \ - "${FILESDIR}"/${PN}-3.2.3-config.patch \ - "${FILESDIR}"/${PN}-4.0.1-shared.patch \ - "${FILESDIR}"/${PN}-4.0.1-sharedlua.patch \ - "${FILESDIR}"/${PN}-sentinel-4.0.6-config.patch - eapply_user - - # Copy lua modules into build dir - cp "${S}"/deps/lua/src/{fpconv,lua_bit,lua_cjson,lua_cmsgpack,lua_struct,strbuf}.c "${S}"/src || die - cp "${S}"/deps/lua/src/{fpconv,strbuf}.h "${S}"/src || die - # Append cflag for lua_cjson - # https://github.com/antirez/redis/commit/4fdcd213#diff-3ba529ae517f6b57803af0502f52a40bL61 - append-cflags "-DENABLE_CJSON_GLOBAL" - - # now we will rewrite present Makefiles - local makefiles="" MKF - for MKF in $(find -name 'Makefile' | cut -b 3-); do - mv "${MKF}" "${MKF}.in" - sed -i -e 's:$(CC):@CC@:g' \ - -e 's:$(CFLAGS):@AM_CFLAGS@:g' \ - -e 's: $(DEBUG)::g' \ - -e 's:$(OBJARCH)::g' \ - -e 's:ARCH:TARCH:g' \ - -e '/^CCOPT=/s:$: $(LDFLAGS):g' \ - "${MKF}.in" \ - || die "Sed failed for ${MKF}" - makefiles+=" ${MKF}" - done - # autodetection of compiler and settings; generates the modified Makefiles - cp "${FILESDIR}"/configure.ac-3.2 configure.ac || die - - # Use the correct pkgconfig name for Lua - has_version 'dev-lang/lua:5.1' \ - && LUAPKGCONFIG=lua5.1 \ - || LUAPKGCONFIG=lua - sed -i \ - -e "/^AC_INIT/s|, [0-9].+, |, $PV, |" \ - -e "s:AC_CONFIG_FILES(\[Makefile\]):AC_CONFIG_FILES([${makefiles}]):g" \ - -e "/PKG_CHECK_MODULES.*\<LUA\>/s,lua5.1,${LUAPKGCONFIG},g" \ - configure.ac || die "Sed failed for configure.ac" - eautoreconf -} - -src_configure() { - econf \ - $(use_with luajit) - - # Linenoise can't be built with -std=c99, see https://bugs.gentoo.org/451164 - # also, don't define ANSI/c99 for lua twice - sed -i -e "s:-std=c99::g" deps/linenoise/Makefile deps/Makefile || die -} - -src_compile() { - tc-export CC AR RANLIB - - local myconf="" - - if use tcmalloc; then - myconf="${myconf} USE_TCMALLOC=yes" - elif use jemalloc; then - myconf="${myconf} JEMALLOC_SHARED=yes" - else - myconf="${myconf} MALLOC=yes" - fi - - emake ${myconf} V=1 CC="${CC}" AR="${AR} rcu" RANLIB="${RANLIB}" -} - -src_install() { - insinto /etc/ - doins redis.conf sentinel.conf - use prefix || fowners redis:redis /etc/{redis,sentinel}.conf - fperms 0644 /etc/{redis,sentinel}.conf - - newconfd "${FILESDIR}/redis.confd-r1" redis - newinitd "${FILESDIR}/redis.initd-5" redis - - systemd_newunit "${FILESDIR}/redis.service-2" redis.service - systemd_newtmpfilesd "${FILESDIR}/redis.tmpfiles" redis.conf - - newconfd "${FILESDIR}/redis-sentinel.confd" redis-sentinel - newinitd "${FILESDIR}/redis-sentinel.initd" redis-sentinel - - insinto /etc/logrotate.d/ - newins "${FILESDIR}/${PN}.logrotate" ${PN} - - dodoc 00-RELEASENOTES BUGS CONTRIBUTING MANIFESTO README.md - - dobin src/redis-cli - dosbin src/redis-benchmark src/redis-server src/redis-check-aof src/redis-check-rdb - fperms 0750 /usr/sbin/redis-benchmark - dosym redis-server /usr/sbin/redis-sentinel - - if use prefix; then - diropts -m0750 - else - diropts -m0750 -o redis -g redis - fi - keepdir /var/{log,lib}/redis -} diff --git a/dev-db/redis/redis-5.0.0.ebuild b/dev-db/redis/redis-5.0.1.ebuild index 2b13aad0139e..2b13aad0139e 100644 --- a/dev-db/redis/redis-5.0.0.ebuild +++ b/dev-db/redis/redis-5.0.1.ebuild diff --git a/dev-db/sqldeveloper/Manifest b/dev-db/sqldeveloper/Manifest index 41c90e8ca069..a079366a11da 100644 --- a/dev-db/sqldeveloper/Manifest +++ b/dev-db/sqldeveloper/Manifest @@ -2,4 +2,4 @@ AUX sqldeveloper 325 BLAKE2B e89acd5441362bc693296e2fef189e637944413094169c09be7 AUX sqldeveloper-r1 407 BLAKE2B 26bf826e6ccf1cd45b52e7cdf6e694d88570118c0e98cab83f66f078ed79fea36fb3fa6df67dc271a74faad4307996c4968f6d316d9fc71d1a5360804f39782e SHA512 cf089f58c9de3677dbaa7b0c4bdd81e234bffac4c25f5a433c7854068ca33b5a4165d8a5d24188890d5d8c60c209adee5267a255505b978a5a7f73646fd1dfbe DIST sqldeveloper-4.2.0.17.089.1709-no-jre.zip 348604841 BLAKE2B 0c3adff04f148102e6460c7550f787329c7e5a69aca0b81c2de4725b9c9ea27c03bb2f588671a95371aa3612839805f2042855b443bb5635c70d0e0b2140295b SHA512 4d1e270376ae125a60146228e35fcb2cb615d593c0e9f2ca98e4deef4d8fd1ddff59cf15064d63e33e77125f49e8da9fe317ed1fd96a9b00a699bf6c5e739874 EBUILD sqldeveloper-4.2.0.17.089.1709.ebuild 3190 BLAKE2B e4e4e81cc5c01cdeddf44055ca5ec19fec36bc7675cdb3d1ec4a53818cf219b5d51099d4b0e53ca837a71f2de36e290f286841588a5c5ec628ace9f6376b6e4d SHA512 305a91cfc7fde07dbaecff945a4bad4681d06d671a5aa3df0871dd7a91319bd43580bae1790142b891dc03ed9ed1b0b5c567effe0dd1ba1ce9914408b29cc5b6 -MISC metadata.xml 167 BLAKE2B ee34aa7c86910531f97e3ba5ec71670012761b3523ddf4e0e1fccb2134b6ddaabdc9329c3b45d697b4f745a707dd513f6b71a8cd32fb840a6b0b5af774ac0015 SHA512 bb251ebe24a6b0c9ff8ee0298e1aa3653443fc97bf44ff71ff56b88b82c36696a5db75c19cb345a1852e6a455874c603efff97b15799d7e8a224124a312df8b8 +MISC metadata.xml 261 BLAKE2B 9772344d77d5ee748886120e69eb80ebc3df85fe5a371772e32b139a0ee39fc8f2758d0f576abca035f2f5ea4124777d44b7d921e56593cbcb819eaf313fd5c6 SHA512 2a60e17b95fab939ca49a24940840277dcd64fd0fa43ad981c933f6f3af3b2eed56ff710f57f6d41fc19877e6e99d4489e8121d9a64d0447ad1348a4a744f613 diff --git a/dev-db/sqldeveloper/metadata.xml b/dev-db/sqldeveloper/metadata.xml index 684b678e70f5..f58ed544b3d7 100644 --- a/dev-db/sqldeveloper/metadata.xml +++ b/dev-db/sqldeveloper/metadata.xml @@ -1,6 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<!-- maintainer-needed --> + <!-- maintainer-needed --> + <use> + <flag name="sybase">Add support for the Sybase SQL Database + Server</flag> + </use> </pkgmetadata> - diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest index 6a67831df231..dcfe922632bc 100644 --- a/dev-db/sqlite/Manifest +++ b/dev-db/sqlite/Manifest @@ -14,13 +14,17 @@ AUX sqlite-3.25.2-nonfull_archive-disallow_window_functions_in_recursive_queries DIST sqlite-autoconf-3230100.tar.gz 2675362 BLAKE2B 2dd075f0dc05425563a8e679bb463724296294b5845746f06b51a24c9601be203ee0f2213f43eaca0757fcbb54b777cee746d873c98f377a0b010d8066d7fcb5 SHA512 52cae7ed0678b763d40373ae260672b906861379428529a58a017cbc82419a6b109e0b2ac7ff5532e6d941693cc4ab68e6563f424b92b3b27c8916859a6e4826 DIST sqlite-autoconf-3240000.tar.gz 2699252 BLAKE2B c8beb3b90bdd06f76cafeba859cbf91cf4d0cb313fc9202d210ccbad5fca7f9a062ede63387e814d664f0ae38bcfa48db222f466dbcd429fecfb53cfdac155c4 SHA512 eaec866de26003ec36559aab15dd18dc0e6029453002a4eec5e176bb35a712b8b06c235436e6c1a226b67c7eb90d7a26c2b3b3d9a5e6e92a5af485236b77c878 DIST sqlite-autoconf-3250200.tar.gz 2763876 BLAKE2B 3d97cc60edf8f91855215bd59260362665c8ec7699510f2e07c7ba57e10c400dcc99bb392e216f798bef1ffa7120b48ee62ce144a871741ef57b3aefeab875d6 SHA512 5ef9a6dfbb0822257af1a3a379785a95ab02edecbbb53b57074ddd0b8dc294fc07cbb9a8a7acc4e1640fb1743525ed6331fecebbddce01bc017330b20e127ad9 +DIST sqlite-autoconf-3250300.tar.gz 2764429 BLAKE2B 6a79a8785c1e84002c031a86c6563e937a45d6ef4aae1b941d42c06cb8630210c33583f25e41f3f90b181ce47da650f81845ad88cafbf9c764164cf8b5d92e81 SHA512 5bc501d15367e097f4070185974b0c3a8246c06b205fb2258ed18870ff3fbf120ac5e0ba031a6744af89f7659206e28e7de2f0367bdb190b8412e453b43de4ba DIST sqlite-doc-3230100.zip 8882546 BLAKE2B 1e80647e3789b9130a93e881933fb1260794d9ccf359969a16bdeb0df5a51787eaf8404641c4b760bedd45063d46f8874fd74a4da1fef0234f3d8e92db754d76 SHA512 d3a42621480a928446c5f71d0f2ee68e245b071971da38438f9070bd5bcbe1930ea5bd20e06c68543df75badd2e4565abc94420df50b7152c9cd129587471471 DIST sqlite-doc-3240000.zip 9030826 BLAKE2B 4444e3dd0ce782e19fa01c881e0b5453723419ef1cf95cbe751d759a264bbe288a5c23a2b6514ed459b99b11637349c02def68fed7df8625bfc161307e44564c SHA512 31e9046cea569d7ad1b3af176e1bb18cd59474afb6849871ead6e7c9c096f046162fb313a38684a8c944fad9f689c4c3c692be1d7dc6a8ef5a6685bbc7dfdab6 DIST sqlite-doc-3250200.zip 9229732 BLAKE2B 9bc4499c2934d15428dd30e0522362a2c2e703061c293f1b657f01d3945612760be3b4f145ddf76d9cf87953fae26884646887e53c0c55683ce42bc239dcf952 SHA512 a0b764ca0eea0e9719d46b6e1f92db78578457c8331976d4712c56cd10fc062fd73629686a0e45dfdeb505fbfbe0c53652a5e64507702ff4e12b62a2fc8d8211 +DIST sqlite-doc-3250300.zip 9265285 BLAKE2B 0722f00d849b18dabf82d317eb0deeb5567534a9cb55e189f28b18e7a26b863190911a02a26e21cf39b3106e7e1a872c445a3d8b53876a16d245e77affb6abc4 SHA512 a57cefbb2338a87721fb34f7a0d19129a58fbce026f80719af7dbbeb7512c91ab59e07719d860cc1cf742807ab7b0b5f92cff3bf52f4dbbad8c6ca34ad0a68ac DIST sqlite-src-3230100.zip 10849436 BLAKE2B 6bed0a45c83ddb51d665835d174f623b30b1c3b81562fdea2317b58d876a0852136fe4f8a3ebc7679676f366e19c84d0ad2f54d3d8c73712145099975f80cf1a SHA512 69a87b76860c3b172d9e68b0fc0b8c157b606375e2b7d793ce4bd4b898ef737cd721189bc6a3342c749e224e60fa96203d449668c49dff2ebdc682b49630a59b DIST sqlite-src-3240000.zip 10980065 BLAKE2B 201a59cb34271e5ac79e96e4e2ea64f8b61aa99c44eedf61c0a21752ad4376caaf7980a6923dca66266b1a315d9867871d0d172c17907b4147c15431aa212a70 SHA512 812c2df7179abb1e445b5b3e161c940b120c53366a7b2c1f0bfc3599cd9921e5543ba39ca3f297eeaefec318f10c15f630f00f9cf04133c7cd419a04f3bbdd0e DIST sqlite-src-3250200.zip 11381811 BLAKE2B 6183436f66c862c32d1dfd59ea4ccb5eaf3dd516ffcf9d7edf786e8fbf56eff3cb84d08e291b2e86fae25e537bed452aed693bdb0f0d6bb6581da86641013557 SHA512 7354af2d45c574ba867fab8aabc6ff903279f028aebed50c71019066df78f61a0b941564c572c87b0f3ed3e5783bf325a690a9957d775228fbbb293dd9a5ad37 +DIST sqlite-src-3250300.zip 11384253 BLAKE2B dbc1d989b1f7ae26e34d629ae7926cfebacc0e3b9e07abb98ac6e6d2d801f111624d5b3f5a1d486580559ff0b42140bb798aa862df60946efa77d8b26c47fbd0 SHA512 7d6a38aea5626f7a32960fcdd109c647dd24a22ecf0772f01ffdba389f70fdfe6455f69733b22c220d4114a7d61d3d10097c23859d303e02d126988a1f663b65 EBUILD sqlite-3.23.1.ebuild 9703 BLAKE2B 4e6cb6336b1bad31d56cdb3a1ea3ca32323b4280caaaa053221e1e405ea2edbd552860ee89934f66d68d19425f0632bea45eea33595cfb6f7e95c5b4bf5eb1d5 SHA512 7fa4f6ab562af73f00338da2e6aaef80751dfd7071c21abf64647cbf68b8e2180e524574c2f0bc38cf138bc8dd3edb7c75f4b3f2a28f788fe0cf108a158ef44f EBUILD sqlite-3.24.0.ebuild 9524 BLAKE2B dd5bd95346b77d111c1784a69feb6d44170375c82d7734420587d00fcc1f987fdb7676200f988c683606b856008f198b22999a8dd208a275b625702ba0341fae SHA512 0393124beded522a17bdd4f5690d0022f9646069ce735d79c316597743b036a06c0bd5a77635b428a78954920551876e10e55d1498305ec857b5d7eb2d4b05fd EBUILD sqlite-3.25.2.ebuild 9870 BLAKE2B 235bbb1eec1d35a1babb2bcfd4daa3f34fe69d4e5973b5fda452df9965bd083a64d15c273d89f25eb2168a72efb615606dcc0698e5e35787e070b16e186e491e SHA512 f467e23b508f8a2d7729f6bf02529b151b15d8b90dbf432512a1f2b122f2a3b2ce1135378dc57b7335d20153309e50df950e3150e05b01d9f068fd18a5a25575 +EBUILD sqlite-3.25.3.ebuild 9663 BLAKE2B b0ee178f7f720b440adf8f08309df9e9c12017bc80326207f734112a7323b8c8b5e3c68140c8c21263f91c6ec4fef5619277e7045da44d2e3bdd218fb20eee42 SHA512 0c0c1cc32b590b76c3b276f0e363240f4a70b1b2e1d594da4d0264c0968e92a86ddd958704cfc8ea709f3b9b0bf02244bae38ea00dc5f6ddf3427e8aabbb08a9 MISC metadata.xml 723 BLAKE2B 8866fbde770e7b8582de27303c72df047db80e0d70b1a1ceca0951a05b51bb704452071ceb6c29ecf3704d523888351615d1798aaab092e6b7505d4c6e3698ad SHA512 40616710b1d4edd3e24b5ac0797c1c9b606aeacac9f9543722bc9529e7c2c704a0c10b0ca68a5ba6e0a0ee8bc605212e8a49a050c8687afbdd7dbf28d6d4506a diff --git a/dev-db/sqlite/sqlite-3.25.3.ebuild b/dev-db/sqlite/sqlite-3.25.3.ebuild new file mode 100644 index 000000000000..87da0102ad5f --- /dev/null +++ b/dev-db/sqlite/sqlite-3.25.3.ebuild @@ -0,0 +1,320 @@ +# Copyright 1999-2018 Arfrever Frehtes Taifersar Arahesis and others +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +inherit autotools flag-o-matic multilib-minimal toolchain-funcs + +SRC_PV="$(printf "%u%02u%02u%02u" $(ver_rs 1- " "))" +DOC_PV="${SRC_PV}" +# DOC_PV="$(printf "%u%02u%02u00" $(ver_rs 1-3 " "))" + +DESCRIPTION="SQL database engine" +HOMEPAGE="https://sqlite.org/" +SRC_URI="doc? ( https://sqlite.org/2018/${PN}-doc-${DOC_PV}.zip ) + tcl? ( https://sqlite.org/2018/${PN}-src-${SRC_PV}.zip ) + test? ( https://sqlite.org/2018/${PN}-src-${SRC_PV}.zip ) + tools? ( https://sqlite.org/2018/${PN}-src-${SRC_PV}.zip ) + !tcl? ( !test? ( !tools? ( https://sqlite.org/2018/${PN}-autoconf-${SRC_PV}.tar.gz ) ) )" + +LICENSE="public-domain" +SLOT="3" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="debug doc icu +readline secure-delete static-libs tcl test tools" +RESTRICT="!test? ( test )" + +BDEPEND="doc? ( app-arch/unzip ) + tcl? ( + app-arch/unzip + >=dev-lang/tcl-8.6:0 + ) + test? ( + app-arch/unzip + >=dev-lang/tcl-8.6:0 + ) + tools? ( + app-arch/unzip + >=dev-lang/tcl-8.6:0 + )" +RDEPEND="sys-libs/zlib:0=[${MULTILIB_USEDEP}] + icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] ) + readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] ) + tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] ) + tools? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )" +DEPEND="${RDEPEND} + test? ( >=dev-lang/tcl-8.6:0[${MULTILIB_USEDEP}] )" + +full_archive() { + use tcl || use test || use tools +} + +pkg_setup() { + if full_archive; then + S="${WORKDIR}/${PN}-src-${SRC_PV}" + else + S="${WORKDIR}/${PN}-autoconf-${SRC_PV}" + fi +} + +src_prepare() { + if full_archive; then + eapply "${FILESDIR}/${PN}-3.25.0-full_archive-build.patch" + eapply "${FILESDIR}/${PN}-3.25.2-full_archive-tests.patch" + + eapply_user + + # Fix AC_CHECK_FUNCS. + # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html + sed -e "s/AC_CHECK_FUNCS(.*)/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" -i configure.ac || die "sed failed" + else + eapply "${FILESDIR}/${PN}-3.25.0-nonfull_archive-build.patch" + + eapply_user + + # Fix AC_CHECK_FUNCS. + # https://mailinglists.sqlite.org/cgi-bin/mailman/private/sqlite-dev/2016-March/002762.html + sed \ + -e "s/AC_CHECK_FUNCS(\[fdatasync.*/AC_CHECK_FUNCS([fdatasync fullfsync gmtime_r isnan localtime_r localtime_s malloc_usable_size posix_fallocate pread pread64 pwrite pwrite64 strchrnul usleep utime])/" \ + -e "/AC_CHECK_FUNCS(posix_fallocate)/d" \ + -i configure.ac || die "sed failed" + fi + + eautoreconf + + multilib_copy_sources +} + +multilib_src_configure() { + local CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" options=() + + options+=( + --enable-$(full_archive && echo load-extension || echo dynamic-extensions) + --enable-threadsafe + ) + if ! full_archive; then + options+=(--disable-static-shell) + fi + + # Support detection of misuse of SQLite API. + # https://sqlite.org/compile.html#enable_api_armor + append-cppflags -DSQLITE_ENABLE_API_ARMOR + + # Support column metadata functions. + # https://sqlite.org/c3ref/column_database_name.html + append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA + + # Support sqlite_dbpage virtual table. + # https://sqlite.org/compile.html#enable_dbpage_vtab + append-cppflags -DSQLITE_ENABLE_DBPAGE_VTAB + + # Support dbstat virtual table. + # https://sqlite.org/dbstat.html + append-cppflags -DSQLITE_ENABLE_DBSTAT_VTAB + + # Support sqlite3_serialize() and sqlite3_deserialize() functions. + # https://sqlite.org/compile.html#enable_deserialize + # https://sqlite.org/c3ref/serialize.html + # https://sqlite.org/c3ref/deserialize.html + append-cppflags -DSQLITE_ENABLE_DESERIALIZE + + # Support comments in output of EXPLAIN. + # https://sqlite.org/compile.html#enable_explain_comments + append-cppflags -DSQLITE_ENABLE_EXPLAIN_COMMENTS + + # Support Full-Text Search versions 3, 4 and 5. + # https://sqlite.org/fts3.html + # https://sqlite.org/fts5.html + append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4 + options+=(--enable-fts5) + + # Support hidden columns. + append-cppflags -DSQLITE_ENABLE_HIDDEN_COLUMNS + + # Support JSON1 extension. + # https://sqlite.org/json1.html + append-cppflags -DSQLITE_ENABLE_JSON1 + + # Support memsys5 memory allocator. + # https://sqlite.org/malloc.html#memsys5 + append-cppflags -DSQLITE_ENABLE_MEMSYS5 + + # Support sqlite_offset() function. + # https://sqlite.org/lang_corefunc.html#sqlite_offset + append-cppflags -DSQLITE_ENABLE_OFFSET_SQL_FUNC + + # Support pre-update hook functions. + # https://sqlite.org/c3ref/preupdate_count.html + append-cppflags -DSQLITE_ENABLE_PREUPDATE_HOOK + + # Support Resumable Bulk Update extension. + # https://sqlite.org/rbu.html + append-cppflags -DSQLITE_ENABLE_RBU + + # Support R*Trees. + # https://sqlite.org/rtree.html + # https://sqlite.org/geopoly.html + append-cppflags -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_GEOPOLY + + # Support scan status functions. + # https://sqlite.org/c3ref/stmt_scanstatus.html + # https://sqlite.org/c3ref/stmt_scanstatus_reset.html + append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS + + # Support sqlite_stmt virtual table. + # https://sqlite.org/stmt.html + append-cppflags -DSQLITE_ENABLE_STMTVTAB + + # Support Session extension. + # https://sqlite.org/sessionintro.html + options+=(--enable-session) + + # Support unknown() function. + # https://sqlite.org/compile.html#enable_unknown_sql_function + append-cppflags -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION + + # Support unlock notification. + # https://sqlite.org/unlock_notify.html + append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY + + # Support LIMIT and ORDER BY clauses on DELETE and UPDATE statements. + # https://sqlite.org/compile.html#enable_update_delete_limit + append-cppflags -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT + + # Support PRAGMA function_list, PRAGMA module_list and PRAGMA pragma_list statements. + # https://sqlite.org/pragma.html#pragma_function_list + # https://sqlite.org/pragma.html#pragma_module_list + # https://sqlite.org/pragma.html#pragma_pragma_list + append-cppflags -DSQLITE_INTROSPECTION_PRAGMAS + + # Support soundex() function. + # https://sqlite.org/lang_corefunc.html#soundex + append-cppflags -DSQLITE_SOUNDEX + + # Support URI filenames. + # https://sqlite.org/uri.html + append-cppflags -DSQLITE_USE_URI + + # debug USE flag. + if full_archive; then + options+=($(use_enable debug)) + else + if use debug; then + append-cppflags -DSQLITE_DEBUG + else + append-cppflags -DNDEBUG + fi + fi + + # icu USE flag. + if use icu; then + # Support ICU extension. + # https://sqlite.org/compile.html#enable_icu + append-cppflags -DSQLITE_ENABLE_ICU + if full_archive; then + sed -e "s/^TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" + else + sed -e "s/^LIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed" + fi + fi + + # readline USE flag. + options+=( + --disable-editline + $(use_enable readline) + ) + if full_archive && use readline; then + options+=(--with-readline-inc="-I${EPREFIX}/usr/include/readline") + fi + + # secure-delete USE flag. + if use secure-delete; then + # Enable secure_delete pragma by default. + # https://sqlite.org/pragma.html#pragma_secure_delete + append-cppflags -DSQLITE_SECURE_DELETE + fi + + # static-libs USE flag. + options+=($(use_enable static-libs static)) + + # tcl, test, tools USE flags. + if full_archive; then + options+=(--enable-tcl) + fi + + if [[ "${CHOST}" == *-mint* ]]; then + append-cppflags -DSQLITE_OMIT_WAL + fi + + if [[ "${ABI}" == "x86" ]]; then + if $(tc-getCC) ${CPPFLAGS} ${CFLAGS} -E -P -dM - < /dev/null 2> /dev/null | grep -q "^#define __SSE__ 1$"; then + append-cflags -mfpmath=sse + else + append-cflags -ffloat-store + fi + fi + + econf "${options[@]}" +} + +multilib_src_compile() { + emake HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" + + if use tools && multilib_is_native_abi; then + emake changeset dbdump dbhash rbu scrub showdb showjournal showshm showstat4 showwal sqldiff sqlite3_analyzer sqlite3_checker sqlite3_expert sqltclsh + fi +} + +multilib_src_test() { + if [[ "${EUID}" -eq 0 ]]; then + ewarn "Skipping tests due to root permissions" + return + fi + + emake HAVE_TCL="$(usex tcl 1 "")" $(use debug && echo fulltest || echo test) +} + +multilib_src_install() { + emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install + + if use tools && multilib_is_native_abi; then + install_tool() { + if [[ -f ".libs/${1}" ]]; then + newbin ".libs/${1}" "${2}" + else + newbin "${1}" "${2}" + fi + } + + install_tool changeset sqlite3-changeset + install_tool dbdump sqlite3-db-dump + install_tool dbhash sqlite3-db-hash + install_tool rbu sqlite3-rbu + install_tool scrub sqlite3-scrub + install_tool showdb sqlite3-show-db + install_tool showjournal sqlite3-show-journal + install_tool showshm sqlite3-show-shm + install_tool showstat4 sqlite3-show-stat4 + install_tool showwal sqlite3-show-wal + install_tool sqldiff sqlite3-diff + install_tool sqlite3_analyzer sqlite3-analyzer + install_tool sqlite3_checker sqlite3-checker + install_tool sqlite3_expert sqlite3-expert + install_tool sqltclsh sqlite3-tclsh + + unset -f install_tool + fi +} + +multilib_src_install_all() { + find "${D}" -name "*.la" -delete || die + + doman sqlite3.1 + + if use doc; then + rm "${WORKDIR}/${PN}-doc-${DOC_PV}/"*.{db,txt} + ( + docinto html + dodoc -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"* + ) + fi +} |