diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2019-06-08 09:04:53 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2019-06-08 09:04:53 +0100 |
commit | 73c318acdaf6f8309d68bd266051e6dd1f1bd787 (patch) | |
tree | 2878053f3e7faed19a1f82c733d3bd29df69991e /dev-db | |
parent | 2018227e9344edb9da15fc6a4a8298086cc2aa77 (diff) |
gentoo resync : 08.06.2019
Diffstat (limited to 'dev-db')
51 files changed, 5104 insertions, 712 deletions
diff --git a/dev-db/Manifest.gz b/dev-db/Manifest.gz Binary files differindex 20e25e40e390..4df4faa0b5b9 100644 --- a/dev-db/Manifest.gz +++ b/dev-db/Manifest.gz diff --git a/dev-db/cockroach/Manifest b/dev-db/cockroach/Manifest index 761aada78767..8383ae6b46ab 100644 --- a/dev-db/cockroach/Manifest +++ b/dev-db/cockroach/Manifest @@ -4,23 +4,8 @@ AUX cockroach.confd-1.0 1324 BLAKE2B 8a906ce78a86b2b95c2b6d5777ea116462e5d6ad47b AUX cockroach.initd 542 BLAKE2B c59d584d90442ee97bd6b2e4a564bd348073680efc09e22cde650e365487de91025413cdd0feaac2f42e752aa4debba2da9bda15634e7464cf53cf5550e74fba SHA512 86684b238413812b6787bf0841dc34302f80b9ad2c25a47a349100503b37f61ec8851870c29bb4fe697216443a39ad5e2decbcedea90664adb3b7316c440e345 AUX cockroach.initd-1.0 1676 BLAKE2B f74872fe73a571ad29e4c85193c35f1c139ce316b951dd25b695f220269f582597635216feac04e7d5d00aab6d8ed459e93c543fe7ee86fe804e9ce33dce7280 SHA512 5f0b6ade2b25372cfc7d810d9dbe10e9732e79527c0ad73eec0cdbbad894a773bfd4aaffb958d3c0e0e7ecb636a07214be494cfdd5e69f4faacc30849f7e3eb9 AUX cockroach.initd-1.0.1 1820 BLAKE2B f3080961c251e23a01c1e5664a0112d5cab809278bfb4d1d2dbb388bb483c519e08f87e528c2c3b35519b3781890815a574442828b93913de80c5459a79454e6 SHA512 df0c06bb6ee97c3f531250486ca1fe3d2333c1e280e2d0acb24c9aa061bd6ba35358504e29bf934a382e0a677c812e6dd474e78fcab1cd5188e93e8082748e04 -DIST cockroach-v1.0-rc.1.src.tgz 68784067 BLAKE2B 5f5ed18ee535d30e004f2170b20ac96ed801e5fa9dee55ddbda7543e24d35ed940711d2e7b307b5a76383637f9e113eec3ac1fa28eb08751068cf94627c08f3b SHA512 c68fc712068cbfce167d98008cdcb46270a8fa772624281da23a70d0492c7990c9ce8513334fedc31d7dde5176087fa6211a4e90d77741ed0079f9568c71e0ff -DIST cockroach-v1.0.1.src.tgz 69116931 BLAKE2B a1abc0353fc815eb5432a327969d48d4ea893484d5488161972ce84fa24aaa06203481cc381ba3918cdf87ad6ebe846e407918bc0b3e5e4abd6a6d4c3ac5014a SHA512 d388d84c09f1318420f859c964c46b78e5237685fbc2b1a8d55fad2ce1dabc89461ad5eaa6d95283dda4551542f33e5df2feda4afd7129e1f850e469e0d17e69 -DIST cockroach-v1.0.3.src.tgz 69127502 BLAKE2B 803f88e19a6128f18024748610c1af3e912f6f4fbc8af9216b212aacf58422382d5c5b5f61453b7373bc680e7894d6b57f4f47040581f9981002be7cbce42975 SHA512 2bae99faba0f56774ab964d920f8628afc6af61ce53bc3e99f1b360c0606e0777b90dd93cbd6844109c3224867fc4180fb42e6dacc75e4eb4db8a4f93f586577 -DIST cockroach-v1.0.src.tgz 68753479 BLAKE2B 6377614e9fee896a0115909b02d8a191a7aabe8da341c98547c0ac496d2e8fcce801e35f93a8a126c9d65c1106e0217359b161825a11597da1db113ca6a51216 SHA512 d74ad9546908535f9a7ad4172a04a5f86f5ed22698bbb005aec7478a52632e0497a966b859fd68b40894eb7ee68bfa80dc4188d198f2f23725b9cadd50a55191 -DIST cockroach-v1.1.2.src.tgz 79607942 BLAKE2B 39ce9db2ada1c9a5727431438d4d8fe0d5a31af3161816ee7af672c69909aa6b4681edabdfabc332c00ba3b0a142ea7d700851c8833b80947fdbcc88b7fa2c7e SHA512 385e33ec30c23d84403938420a2fcd66edff02a5c4b9d6220ce3683d833f065010953fd78ee57120c24f2947509b2fd29eeee2a45fd3ad47c16a6c8d779534d2 -DIST cockroach-v1.1.3.src.tgz 79615899 BLAKE2B 86d9a63a5e5e8f21114dda500f30a007bf64769b76322fae282d06fa9eb63eb8a965bf990378c624ccac66124efadf1a0dfdebbc8dc8c6f04173e20334341e89 SHA512 f6dc4178e91fd47aec1fce658c9d621183f0bdcdc6101b87f8187757ab9b965c27e48d0d628dd9c10a386bc1a2f184d9d03270243baf0ec4758c812caac5fda1 DIST cockroach-v19.1.1.src.tgz 103054418 BLAKE2B eaa4f0e24f74a4bbc9a209b8778431ddc7944d0735eef0e136cfcdf820e70ad17eb4781757c325906e65d56d4c36881c294e0dd79d9e153359be859fc7ee887a SHA512 a7051fea3808b785e8d0047b0273021119d0eb1d12f5c680afa649713a79b155aff0bfa8ec123eebea095549308d002ba82dee3eb94b66c6f729d80115d20c06 -DIST cockroach-v2.0.1.src.tgz 45511681 BLAKE2B 9d0828e5e6bd41bb5590e58f0e18b8a07169335b9ff1284daf89b48dae6eea3cdb683bf8af703b5bac46978e8c37b4a092c53a3d7e18de626acc2095a7daf2a2 SHA512 ad7c64dc70cde6bbd10cabafe595ce35deeda9284880bebde75e41a4b1355aa85f01fb8c6b6ff0bae498b4b04a8d7d60bafc986c49875cff9ccf0ead0bc481a7 DIST cockroach-v2.1.5.src.tgz 89931919 BLAKE2B 7ed310acf18cbe7c8bafe5992edd3350d9e7654cda86931dbfd64fe17043140132ec019de9f1f44d61bc92d2461618c81e60fffb014446521e747a57f6b5d442 SHA512 3ef2ad985b463e681cdaffe5590543024ca11e9c0c5528415b47bdd4cdfd42504cbc21a350449fea6da08625f801ef94fe51f55be1e9a62bac27fce0cc7b73c1 -EBUILD cockroach-1.0-r1.ebuild 1703 BLAKE2B 263b32177c96e6c5f4512c6eb60cbef7310fdbac297f5219f3e3d8ba708befe6ccc7a0eb43467c6dbc4c01542e5eddd899b01d61b0b6aa67fa3950d38b879767 SHA512 f9d54c7b9395e8ef6552211535641b9241df50d922f6c2e8c74c1782538ea25953c8c15fd89bf6ab17c6264b75bcfd23b5fd27ea9b4054f6579a2753b81c9eb3 -EBUILD cockroach-1.0.1.ebuild 1701 BLAKE2B e011a698cd2493fe26d24112a8ae8b9184ff66c7a1bcf25f6933c19374f036781ff093f7d84048c4df219aa93b66b4f3879af68b6835f9c02e62c503d8597841 SHA512 61ded57cbd28008a27b3b8a2e048a89a70be76317d350c29554ac0450de8932c275aedb63f6d032997013abb63b8a29aff4dae107bccf7876d7afe7ed14149df -EBUILD cockroach-1.0.3.ebuild 1701 BLAKE2B f9e7fb748c2495586fc600dec992a0272cb89a39a48131ae687a469d1ffcda0b6fe5bad83751b514d8f3906c9f6defdfadb3175db34dbf0c9317143865c7cdbb SHA512 b1a0a2adb8555a227bdb9caff6a91efba4c010a82372b5ad446ab2feb9b68a98456b5b60c14513e5aeebae290a56fd936a8c17194821d12f2b910e8e0f3d1979 -EBUILD cockroach-1.0.ebuild 1689 BLAKE2B 1a9afdfb31ac9142f4a21cda3274eea404593ec8f529d01828da009a1c93f2dfe52fd5a467971dbb6f132b9e79aaf54d53720cdee3dd4b25c9768a12fafbd8ad SHA512 66a6c94d7804cdb62eaa66083961d40b2e2fb8d4bde08a084fedf4b57ac67eadb28d97dfd0087b3e5cefd6ab9d1ddf4ec7a05b5e7413d803a5cfbcc2ba0a733b -EBUILD cockroach-1.0_rc1.ebuild 1593 BLAKE2B 511ff8271f507e055d792d98f12f1adce3eba73b15d198e4adf33d7ac1ba61eefa5c9a436ae8b1b474aac802e961205a49195187067f53320ffe038308a8df13 SHA512 6f273468fd5b869144d474027dd644a9031c18f1b18525c89775c9d8eacdeb59d64b195216189ebe6a2251973abc500b2f3047fc88af7d97aa9798c0db8fa16a -EBUILD cockroach-1.1.2.ebuild 1701 BLAKE2B f9e7fb748c2495586fc600dec992a0272cb89a39a48131ae687a469d1ffcda0b6fe5bad83751b514d8f3906c9f6defdfadb3175db34dbf0c9317143865c7cdbb SHA512 b1a0a2adb8555a227bdb9caff6a91efba4c010a82372b5ad446ab2feb9b68a98456b5b60c14513e5aeebae290a56fd936a8c17194821d12f2b910e8e0f3d1979 -EBUILD cockroach-1.1.3.ebuild 1784 BLAKE2B a23a4d6971c40d68bd280917159ef280c534da3339a48ff1d60351ed63f78be331e323a2d311b3a051db072f4dac88dadf7cc460cd2a2f7f59d19dbc7656176d SHA512 48e34da012ea4ffe51278e2d921a6a93e444b9e4a07855664e468d966f867c341c478afa9ea1f41fb31fcb8f6f94e373811e6bea879a4042a3d23f05d24d220b EBUILD cockroach-19.1.1.ebuild 1824 BLAKE2B 11514ea1b9923318be05fe7958aadae67795dc00620ae7191a1ade866dc4e31468130d30e7493d5e87e5d8427a02a6055728979f6b01120ac9b4fc14472707f7 SHA512 5ed2cc7899152a98314aca9d39b3791c14b838b9621011ab23d9e69a968ea37af923e5ce22e147ec7309433a3ef8e1e5e5e587b71174a962c039f2071c8f5039 -EBUILD cockroach-2.0.1.ebuild 1820 BLAKE2B b16dd86cb9bb805db65d47c36bcab1942443942473b96c74c95a53ee55a1878e61247dc58945119bd6a09a1a0ac3bdc5cb9f9ec6fd28db2ab8acdea55b540ca2 SHA512 e8d4fac1f1463ea4643630662d92d187207fcd299bce5c92532ca184fdbf73981e98f07ce5ea56044f255f70a579a46bbfcd202f35a5b1563c0c7b842fddaca2 EBUILD cockroach-2.1.5.ebuild 1827 BLAKE2B 594d54f1abebfe8d6bf71069ac6addb73328c47b3befb33c2414efa9ae80807f157adab4af2319f1cb430f6ba82799858361d839d1ee51091ef294157115d157 SHA512 ad3de8256f586d8f03eff83db12a6c4ebaf205c416e52ec3dcce09014794c46dba6fcfef2ba98b5c87ad3b6d5f805c83edf6282e226caca75cdc09662d42d802 MISC metadata.xml 409 BLAKE2B 0fa2933efa8102fa19917f3268b4424257f26efdd94698d22253ed62b562dddc53e09a9312069a9bcf817ccd3f6a0b4423c04c8d8dcbe387e7b30d727e8bdd0c SHA512 e4494324632e55e32fdfe7c1d1b25301b8f7cff3f7475efaf7c6c59d435777eab7245bb200b39b90121babce4e1573038fb0f42e586854a820e1489c1afddd19 diff --git a/dev-db/cockroach/cockroach-1.0-r1.ebuild b/dev-db/cockroach/cockroach-1.0-r1.ebuild deleted file mode 100644 index 4b19589a461b..000000000000 --- a/dev-db/cockroach/cockroach-1.0-r1.ebuild +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -MY_PV=v${PV} -CHECKREQS_MEMORY="2G" - -inherit check-reqs toolchain-funcs user - -DESCRIPTION="open source database for building cloud services" -HOMEPAGE="https://www.cockroachlabs.com" -SRC_URI="https://binaries.cockroachdb.com/cockroach-${MY_PV}.src.tgz" - -LICENSE="Cockroach Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" - -DEPEND=">=app-arch/xz-utils-5.2.3 - >=dev-lang/go-1.8.1 - >=dev-util/cmake-3.8.1" - -S="${WORKDIR}/cockroach-${MY_PV}" - -pkg_pretend() { - check-reqs_pkg_pretend - if [[ ${MERGE_TYPE} != binary && $(gcc-major-version) -lt 6 ]]; then - eerror "Cockroach cannot be built with this version of gcc." - eerror "You need at least gcc-6.0" - die "Your C compiler is too old for this package." - fi -} - -pkg_setup() { - check-reqs_pkg_setup - enewgroup cockroach - enewuser cockroach -1 /bin/sh /var/lib/cockroach cockroach -} - -src_compile() { - emake GOPATH="${S}" build -} - -src_install() { - dobin src/github.com/cockroachdb/cockroach/cockroach -insinto /etc/security/limits.d -newins "${FILESDIR}"/cockroach-limits.conf cockroach.conf -newconfd "${FILESDIR}"/cockroach.confd-${PV} cockroach -newinitd "${FILESDIR}"/cockroach.initd-${PV} cockroach -dodir /var/log/cockroach -fowners cockroach:cockroach /var/log/cockroach -if [[ -z ${REPLACING_VERSIONS} ]]; then - ewarn "The default setup is for the first node of an insecure" - ewarn "cluster that only listens on localhost." - ewarn "Please read the cockroach manual at the following url" - ewarn "and configure /etc/conf.d/cockroach correctly if you" - ewarn "plan to use it in production." - ewarn - ewarn "http://cockroachlabs.com/docs" - fi -} diff --git a/dev-db/cockroach/cockroach-1.0.1.ebuild b/dev-db/cockroach/cockroach-1.0.1.ebuild deleted file mode 100644 index 212bede14658..000000000000 --- a/dev-db/cockroach/cockroach-1.0.1.ebuild +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -MY_PV=v${PV} -CHECKREQS_MEMORY="2G" - -inherit check-reqs toolchain-funcs user - -DESCRIPTION="open source database for building cloud services" -HOMEPAGE="https://www.cockroachlabs.com" -SRC_URI="https://binaries.cockroachdb.com/cockroach-${MY_PV}.src.tgz" - -LICENSE="Cockroach Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" - -DEPEND=">=app-arch/xz-utils-5.2.3 - >=dev-lang/go-1.8.1 - >=dev-util/cmake-3.8.1" - -S="${WORKDIR}/cockroach-${MY_PV}" - -pkg_pretend() { - check-reqs_pkg_pretend - if [[ ${MERGE_TYPE} != binary && $(gcc-major-version) -lt 6 ]]; then - eerror "Cockroach cannot be built with this version of gcc." - eerror "You need at least gcc-6.0" - die "Your C compiler is too old for this package." - fi -} - -pkg_setup() { - check-reqs_pkg_setup - enewgroup cockroach - enewuser cockroach -1 /bin/sh /var/lib/cockroach cockroach -} - -src_compile() { - emake GOPATH="${S}" build -} - -src_install() { - dobin src/github.com/cockroachdb/cockroach/cockroach -insinto /etc/security/limits.d -newins "${FILESDIR}"/cockroach-limits.conf cockroach.conf -newconfd "${FILESDIR}"/cockroach.confd-1.0 cockroach -newinitd "${FILESDIR}"/cockroach.initd-${PV} cockroach -dodir /var/log/cockroach -fowners cockroach:cockroach /var/log/cockroach -if [[ -z ${REPLACING_VERSIONS} ]]; then - ewarn "The default setup is for the first node of an insecure" - ewarn "cluster that only listens on localhost." - ewarn "Please read the cockroach manual at the following url" - ewarn "and configure /etc/conf.d/cockroach correctly if you" - ewarn "plan to use it in production." - ewarn - ewarn "http://cockroachlabs.com/docs" - fi -} diff --git a/dev-db/cockroach/cockroach-1.0.3.ebuild b/dev-db/cockroach/cockroach-1.0.3.ebuild deleted file mode 100644 index 0b0e1d9f89d0..000000000000 --- a/dev-db/cockroach/cockroach-1.0.3.ebuild +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -MY_PV=v${PV} -CHECKREQS_MEMORY="2G" - -inherit check-reqs toolchain-funcs user - -DESCRIPTION="open source database for building cloud services" -HOMEPAGE="https://www.cockroachlabs.com" -SRC_URI="https://binaries.cockroachdb.com/cockroach-${MY_PV}.src.tgz" - -LICENSE="Cockroach Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" - -DEPEND=">=app-arch/xz-utils-5.2.3 - >=dev-lang/go-1.8.3 - >=dev-util/cmake-3.8.1" - -S="${WORKDIR}/cockroach-${MY_PV}" - -pkg_pretend() { - check-reqs_pkg_pretend - if [[ ${MERGE_TYPE} != binary && $(gcc-major-version) -lt 6 ]]; then - eerror "Cockroach cannot be built with this version of gcc." - eerror "You need at least gcc-6.0" - die "Your C compiler is too old for this package." - fi -} - -pkg_setup() { - check-reqs_pkg_setup - enewgroup cockroach - enewuser cockroach -1 /bin/sh /var/lib/cockroach cockroach -} - -src_compile() { - emake GOPATH="${S}" build -} - -src_install() { - dobin src/github.com/cockroachdb/cockroach/cockroach -insinto /etc/security/limits.d -newins "${FILESDIR}"/cockroach-limits.conf cockroach.conf -newconfd "${FILESDIR}"/cockroach.confd-1.0 cockroach -newinitd "${FILESDIR}"/cockroach.initd-1.0.1 cockroach -dodir /var/log/cockroach -fowners cockroach:cockroach /var/log/cockroach -if [[ -z ${REPLACING_VERSIONS} ]]; then - ewarn "The default setup is for the first node of an insecure" - ewarn "cluster that only listens on localhost." - ewarn "Please read the cockroach manual at the following url" - ewarn "and configure /etc/conf.d/cockroach correctly if you" - ewarn "plan to use it in production." - ewarn - ewarn "http://cockroachlabs.com/docs" - fi -} diff --git a/dev-db/cockroach/cockroach-1.0.ebuild b/dev-db/cockroach/cockroach-1.0.ebuild deleted file mode 100644 index c7253935686f..000000000000 --- a/dev-db/cockroach/cockroach-1.0.ebuild +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -MY_PV=v${PV} -CHECKREQS_MEMORY="2G" - -inherit check-reqs toolchain-funcs user - -DESCRIPTION="open source database for building cloud services" -HOMEPAGE="https://www.cockroachlabs.com" -SRC_URI="https://binaries.cockroachdb.com/cockroach-${MY_PV}.src.tgz" - -LICENSE="Cockroach Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" - -DEPEND=">=app-arch/xz-utils-5.2.3 - >=dev-lang/go-1.8.1 - >=dev-util/cmake-3.8.1" - -S="${WORKDIR}/cockroach-${MY_PV}" - -pkg_pretend() { - check-reqs_pkg_pretend - if [[ ${MERGE_TYPE} != binary && $(gcc-major-version) -lt 6 ]]; then - eerror "Cockroach cannot be built with this version of gcc." - eerror "You need at least gcc-6.0" - die "Your C compiler is too old for this package." - fi -} - -pkg_setup() { - check-reqs_pkg_setup - enewgroup cockroach - enewuser cockroach -1 /bin/sh /var/lib/cockroach cockroach -} - -src_compile() { - emake GOPATH="${S}" build -} - -src_install() { - dobin src/github.com/cockroachdb/cockroach/cockroach -insinto /etc/security/limits.d -newins "${FILESDIR}"/cockroach-limits.conf cockroach.conf -newconfd "${FILESDIR}"/cockroach.confd cockroach -newinitd "${FILESDIR}"/cockroach.initd cockroach -dodir /var/log/cockroach -fowners cockroach:cockroach /var/log/cockroach -if [[ -z ${REPLACING_VERSIONS} ]]; then - ewarn "The default setup is for the first node of an insecure" - ewarn "cluster that only listens on localhost." - ewarn "Please read the cockroach manual at the following url" - ewarn "and configure /etc/conf.d/cockroach correctly if you" - ewarn "plan to use it in production." - elog - elog "http://cockroachlabs.com/docs" - fi -} diff --git a/dev-db/cockroach/cockroach-1.0_rc1.ebuild b/dev-db/cockroach/cockroach-1.0_rc1.ebuild deleted file mode 100644 index 7ce069fb3180..000000000000 --- a/dev-db/cockroach/cockroach-1.0_rc1.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -MY_PV=v1.0-rc.1 -CHECKREQS_MEMORY="2G" - -inherit check-reqs toolchain-funcs user - -DESCRIPTION="open source database for building cloud services" -HOMEPAGE="https://www.cockroachlabs.com" -SRC_URI="https://binaries.cockroachdb.com/cockroach-${MY_PV}.src.tgz" - -LICENSE="Cockroach Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" - -DEPEND=">=dev-lang/go-1.8.1" - -S="${WORKDIR}/cockroach-${MY_PV}" - -pkg_pretend() { - check-reqs_pkg_pretend - if [[ ${MERGE_TYPE} != binary && $(gcc-major-version) -lt 6 ]]; then - eerror "Cockroach cannot be built with this version of gcc." - eerror "You need at least gcc-6.0" - die "Your C compiler is too old for this package." - fi -} - -pkg_setup() { - check-reqs_pkg_setup - enewgroup cockroach - enewuser cockroach -1 /bin/sh /var/lib/cockroach cockroach -} - -src_compile() { - emake GOPATH="${S}" build || die -} - -src_install() { - emake GOPATH="${S}" install || die -dobin bin/* -insinto /etc/security/limits.d -newins "${FILESDIR}"/cockroach-limits.conf cockroach.conf -newinitd "${FILESDIR}"/cockroach.initd cockroach -dodir /var/log/cockroach -fowners cockroach:cockroach /var/log/cockroach -if [[ -z ${REPLACING_VERSIONS} ]]; then - ewarn "The default setup is for the first node of an insecure" - ewarn "cluster that only listens on localhost." - ewarn "Please read the cockroach manual at the following url" - ewarn "and configure /etc/conf.d/cockroach correctly if you" - ewarn "plan to use it in production." - elog - elog "http://cockroachlabs.com/docs" - fi -} diff --git a/dev-db/cockroach/cockroach-1.1.2.ebuild b/dev-db/cockroach/cockroach-1.1.2.ebuild deleted file mode 100644 index 0b0e1d9f89d0..000000000000 --- a/dev-db/cockroach/cockroach-1.1.2.ebuild +++ /dev/null @@ -1,61 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -MY_PV=v${PV} -CHECKREQS_MEMORY="2G" - -inherit check-reqs toolchain-funcs user - -DESCRIPTION="open source database for building cloud services" -HOMEPAGE="https://www.cockroachlabs.com" -SRC_URI="https://binaries.cockroachdb.com/cockroach-${MY_PV}.src.tgz" - -LICENSE="Cockroach Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" - -DEPEND=">=app-arch/xz-utils-5.2.3 - >=dev-lang/go-1.8.3 - >=dev-util/cmake-3.8.1" - -S="${WORKDIR}/cockroach-${MY_PV}" - -pkg_pretend() { - check-reqs_pkg_pretend - if [[ ${MERGE_TYPE} != binary && $(gcc-major-version) -lt 6 ]]; then - eerror "Cockroach cannot be built with this version of gcc." - eerror "You need at least gcc-6.0" - die "Your C compiler is too old for this package." - fi -} - -pkg_setup() { - check-reqs_pkg_setup - enewgroup cockroach - enewuser cockroach -1 /bin/sh /var/lib/cockroach cockroach -} - -src_compile() { - emake GOPATH="${S}" build -} - -src_install() { - dobin src/github.com/cockroachdb/cockroach/cockroach -insinto /etc/security/limits.d -newins "${FILESDIR}"/cockroach-limits.conf cockroach.conf -newconfd "${FILESDIR}"/cockroach.confd-1.0 cockroach -newinitd "${FILESDIR}"/cockroach.initd-1.0.1 cockroach -dodir /var/log/cockroach -fowners cockroach:cockroach /var/log/cockroach -if [[ -z ${REPLACING_VERSIONS} ]]; then - ewarn "The default setup is for the first node of an insecure" - ewarn "cluster that only listens on localhost." - ewarn "Please read the cockroach manual at the following url" - ewarn "and configure /etc/conf.d/cockroach correctly if you" - ewarn "plan to use it in production." - ewarn - ewarn "http://cockroachlabs.com/docs" - fi -} diff --git a/dev-db/cockroach/cockroach-1.1.3.ebuild b/dev-db/cockroach/cockroach-1.1.3.ebuild deleted file mode 100644 index f2e69031d86f..000000000000 --- a/dev-db/cockroach/cockroach-1.1.3.ebuild +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -MY_PV=v${PV} -CHECKREQS_MEMORY="2G" - -inherit check-reqs toolchain-funcs user - -DESCRIPTION="open source database for building cloud services" -HOMEPAGE="https://www.cockroachlabs.com" -SRC_URI="https://binaries.cockroachdb.com/cockroach-${MY_PV}.src.tgz" - -LICENSE="Cockroach Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" - -DEPEND=">=app-arch/xz-utils-5.2.3 - >=dev-lang/go-1.8.3 - >=dev-util/cmake-3.8.1" - -S="${WORKDIR}/cockroach-${MY_PV}" - -pkg_pretend() { - check-reqs_pkg_pretend - if [[ ${MERGE_TYPE} != binary && $(gcc-major-version) -lt 6 ]]; then - eerror "Cockroach cannot be built with this version of gcc." - eerror "You need at least gcc-6.0" - die "Your C compiler is too old for this package." - fi -} - -pkg_setup() { - check-reqs_pkg_setup - enewgroup cockroach - enewuser cockroach -1 /bin/sh /var/lib/cockroach cockroach -} - -src_compile() { - # workaround for https://github.com/cockroachdb/cockroach/issues/20596 - unset CMAKE_MODULE_PATH - emake build -} - -src_install() { - dobin src/github.com/cockroachdb/cockroach/cockroach -insinto /etc/security/limits.d -newins "${FILESDIR}"/cockroach-limits.conf cockroach.conf -newconfd "${FILESDIR}"/cockroach.confd-1.0 cockroach -newinitd "${FILESDIR}"/cockroach.initd-1.0.1 cockroach -dodir /var/log/cockroach -fowners cockroach:cockroach /var/log/cockroach -if [[ -z ${REPLACING_VERSIONS} ]]; then - ewarn "The default setup is for the first node of an insecure" - ewarn "cluster that only listens on localhost." - ewarn "Please read the cockroach manual at the following url" - ewarn "and configure /etc/conf.d/cockroach correctly if you" - ewarn "plan to use it in production." - ewarn - ewarn "http://cockroachlabs.com/docs" - fi -} diff --git a/dev-db/cockroach/cockroach-2.0.1.ebuild b/dev-db/cockroach/cockroach-2.0.1.ebuild deleted file mode 100644 index 6549c0aea3b0..000000000000 --- a/dev-db/cockroach/cockroach-2.0.1.ebuild +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -MY_PV=v${PV} -CHECKREQS_MEMORY="2G" - -inherit check-reqs toolchain-funcs user - -DESCRIPTION="open source database for building cloud services" -HOMEPAGE="https://www.cockroachlabs.com" -SRC_URI="https://binaries.cockroachdb.com/cockroach-${MY_PV}.src.tgz" - -LICENSE="Cockroach Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" -IUSE="" - -DEPEND=">=app-arch/xz-utils-5.2.3 - >=dev-lang/go-1.8.3 - >=dev-util/cmake-3.8.1" - -S="${WORKDIR}/cockroach-${MY_PV}" - -QA_EXECSTACK="usr/bin/cockroach" - -pkg_pretend() { - check-reqs_pkg_pretend - if [[ ${MERGE_TYPE} != binary && $(gcc-major-version) -lt 6 ]]; then - eerror "Cockroach cannot be built with this version of gcc." - eerror "You need at least gcc-6.0" - die "Your C compiler is too old for this package." - fi -} - -pkg_setup() { - check-reqs_pkg_setup - enewgroup cockroach - enewuser cockroach -1 /bin/sh /var/lib/cockroach cockroach -} - -src_compile() { - # workaround for https://github.com/cockroachdb/cockroach/issues/20596 - unset CMAKE_MODULE_PATH - emake build -} - -src_install() { - dobin src/github.com/cockroachdb/cockroach/cockroach -insinto /etc/security/limits.d -newins "${FILESDIR}"/cockroach-limits.conf cockroach.conf -newconfd "${FILESDIR}"/cockroach.confd-1.0 cockroach -newinitd "${FILESDIR}"/cockroach.initd-1.0.1 cockroach -keepdir /var/log/cockroach -fowners cockroach:cockroach /var/log/cockroach -if [[ -z ${REPLACING_VERSIONS} ]]; then - ewarn "The default setup is for the first node of an insecure" - ewarn "cluster that only listens on localhost." - ewarn "Please read the cockroach manual at the following url" - ewarn "and configure /etc/conf.d/cockroach correctly if you" - ewarn "plan to use it in production." - ewarn - ewarn "http://cockroachlabs.com/docs" - fi -} diff --git a/dev-db/etcd/Manifest b/dev-db/etcd/Manifest index d96eff483824..937485f6d9a1 100644 --- a/dev-db/etcd/Manifest +++ b/dev-db/etcd/Manifest @@ -7,5 +7,5 @@ AUX etcd.tmpfiles.d.conf 76 BLAKE2B e5aa0ca42dd579e9c2ac8c6bdfce83f87ec79ce64d10 DIST etcd-3.3.12.tar.gz 3527586 BLAKE2B fdc4e3e9522c032d951045d4eda7f36743d4fbbb4ea8673bbe00bb38931cd7442910b0b54eeb6df0957439332df498389f3568ba7e8bdecfbd873fecfb3df86f SHA512 63ba6130bd93471260b8d90760455bccef2755e672a9df39224491188c69e4e3e8c1157cfb639c4002fb8a6d16950f7ff448a83e0acbc389162b742f3df6234f DIST etcd-3.3.13.tar.gz 3372732 BLAKE2B 241dee0d9843eefc9aaefb35be8f649d242ab1417456cc3028c8eb2ff2af6a7a1c396f04029d87877d384247b8c7a51ec6ea2e0dd51af07ce48ecc91c613c380 SHA512 5b8cf9d8d8b0afd1551f414480f04837668729c10d5d81c5e9ffba3392bd2567f3798267c5e4dbe60f49dbdd859f668c6fe0d7924e0fd65f918ab3bd01d5751a EBUILD etcd-3.3.12.ebuild 1990 BLAKE2B 2eb11877c42e9c053df32b573f9abd6f52dd9f2da655c5cc127c7dacd872f832d9a76c3adb717cc6813ae20336c0cf8dd94378f66cf788f4b75cf689bf1cdf07 SHA512 caa9fca22332a54e8027bfdb3d7fa0e1f9f6aaede15833c9487c7c114e9805734209db94148c4cae61968d2987505f9ce8b27bbcc59411727e1a8228be5db2ee -EBUILD etcd-3.3.13.ebuild 1991 BLAKE2B ca190a2e4be52e15e9d07b2307c2c6f2fc0a8c0813fc5bbabe311f9c080090852c535f867f502ea599cbc933bf333e97f4e53d3ca88705351334c5a314b25a1b SHA512 67251f9c7cda196d3b4d1fb6e1a2865f13b2cb09ce6cb3a2d1be2c4c063317e93147e971f2fa8400039a98bb5fe68faf4b3cb59f50a6912f1644415b59d44990 +EBUILD etcd-3.3.13.ebuild 1990 BLAKE2B 0dcfa21fd148dd9cfc7899a6432f3df5cfa0c678b39291bd4cc8c371e32932bf9d0f2fe97355572a621280c1200dfa3a9733be3f4fd2cebadf06f9e1fe06e435 SHA512 582ea4605eec3d812df40be5dffabc7c62be3652948f8d3dfae6f0c8553f507ce1ce6e135aa5b1b0c0c5fb52c970140a19c50cfd73bb905773ef17db9143c129 MISC metadata.xml 679 BLAKE2B 7374379a18107011df792be631428834334ad8e6da5cfe404f18555e8c168d3fc716a1c8d6cb5cf1d9ccd173737aecf93a165f846865dbb6ba4a76bd4669b446 SHA512 8070d8b51dd3319e8b159072db237dcc5299361c2f74fa086fc4cbc174cc6a5c8f7659310332b54b2275e2bc3d028323c4dfa5775e21693a339f54312582d2f0 diff --git a/dev-db/etcd/etcd-3.3.13.ebuild b/dev-db/etcd/etcd-3.3.13.ebuild index 944d5a98fcb3..ba297d2a0313 100644 --- a/dev-db/etcd/etcd-3.3.13.ebuild +++ b/dev-db/etcd/etcd-3.3.13.ebuild @@ -5,7 +5,7 @@ EAPI=6 inherit user systemd golang-vcs-snapshot -KEYWORDS="~amd64" +KEYWORDS="amd64" EGO_PN="github.com/etcd-io/etcd" GIT_COMMIT="98d3084" MY_PV="${PV/_rc/-rc.}" diff --git a/dev-db/freetds/Manifest b/dev-db/freetds/Manifest index 8b46727610e4..af6d13dfcc71 100644 --- a/dev-db/freetds/Manifest +++ b/dev-db/freetds/Manifest @@ -1,6 +1,6 @@ DIST freetds-dev.1.00.341.tar.gz 3002134 BLAKE2B c9396c1f205e13c9f3449bef19830cf3b6c2fa72539555ebd6bc1532c014472c862ba2ac7f495bee8f53d640d628c6b15bb50183585d43cf3dbbea4e314636d2 SHA512 fd691535dfa5c97463ff72056cfa5721557b71e41b6186ffcb08e193e51214cf966a33ee55b8e538a6f035aeeef14ac5b15fe8758f1afea9e1252a3b8951ba58 DIST freetds-dev.1.00.558.tar.gz 3151542 BLAKE2B e7b7eb1d4bad1472a675e7657d524837a27ba18176cf410ebad6dcb949cd59bb50e932526790c816c05cf0ba02fb750a1cfbcda10073e5cbf8908bdc4ceb9cc5 SHA512 763f04ae36be8385f9be955defd2d91698389836e80e19019f0da0ee15515d8b7e3733f7659362a307b492dc83830f0a7f27d2a68cb5b56e2ef171ac1dcfeeca EBUILD freetds-1.00.341-r1.ebuild 1914 BLAKE2B a739c9f05f37b5876d79074a47d018bb9742ee1a7461fab15dac1db5d9b01b8442412c6a06245b93619bc16bec74bb92edc965a81a8437930235beda4a3933f3 SHA512 2709b5630a970e0beca0cc70b7b9778da7bb1875646a5d68bec6ec46f98e854395a0638c273c2aaa31d3f2f16d970b2a4b11e4671abc32d08c386128d661d5ca -EBUILD freetds-1.00.558.ebuild 1916 BLAKE2B d27b8dcf799d78988ada22a9975a594348fa0ccef84920011524dc1c3481a70d90c8ea011a20e655a62629a9c0822111cdb05392c3cc6fe08f21055fc5e3d094 SHA512 2cc78b860e8c538018e49649eac1af94459e68ee00563367793461e460e6da0fa649aeef5cc6e1d63026c08f8fe8d0ec39fe0ca5d4748627a5ef8c7f32cd2c0f +EBUILD freetds-1.00.558.ebuild 1914 BLAKE2B 0378419a4552c049c6cdea5e7aed20b0637f7ab9994e1c3ecebd8619cceea0b4362bff56e5b0ffe3cc76ee27702ef6733ba5bc56a53986fd3275110570858a12 SHA512 8d60d5b99b6be13a766b5c7a64179431852d03fc80098b525904986d100e1706b21713f56012e72cecf3752182764ccda4de3cd1b5c0226530b21169feabf941 EBUILD freetds-9999.ebuild 1601 BLAKE2B a7dc691ca1e9785e216015af2ca9defb1191ad2a2178677192e0a747d94b430bc12caa403bb9ecfc81f966a770c5a67f08b59ef24ab9730459bc13eac25cd32d SHA512 d7a1ace59c852d24f8c58a70bb0b44261d08dbe92e63a725beaf3b347053a21f5d9162233eb79fc9e296251820c17f87bc60b24b86bef7950a5fa100a65f7f3b MISC metadata.xml 167 BLAKE2B e4dadf27fd344484f2bccb5b904909c89aac568c32e5b3c44bdf139eacefd4b4fae74419f503d2b7da0dccc1b68ba05d777d11292c0f89270d1ac5c9c703e8ca SHA512 7c8decb24ee3a850e38186cf3c7f8933a28017426806870ad6ef9ceb2533be147a2681fc789b535a81cb528af8c29d90d3006e4f250aee23bd7dea4561294e33 diff --git a/dev-db/freetds/freetds-1.00.558.ebuild b/dev-db/freetds/freetds-1.00.558.ebuild index c8a203c3c42c..f8ceb253edd2 100644 --- a/dev-db/freetds/freetds-1.00.558.ebuild +++ b/dev-db/freetds/freetds-1.00.558.ebuild @@ -13,7 +13,7 @@ SRC_URI="ftp://ftp.freetds.org/pub/${PN}/current/${MY_PN}.${PV}.tar.gz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 ~arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos" +KEYWORDS="alpha amd64 ~arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos" IUSE="debug gnutls iconv kerberos libressl mssql iodbc odbc ssl static-libs" # iODBC and unixODBC are mutually-exclusive choices for diff --git a/dev-db/mariadb/Manifest b/dev-db/mariadb/Manifest index 0c095e25e9f1..6cfcd9c882d5 100644 --- a/dev-db/mariadb/Manifest +++ b/dev-db/mariadb/Manifest @@ -23,10 +23,10 @@ EBUILD mariadb-10.0.35-r2.ebuild 27520 BLAKE2B 09bb435fc35e43e9d5a9f0bb234d7583d EBUILD mariadb-10.0.37.ebuild 27521 BLAKE2B 2dee454767b07e9ef957a3d44d3abebb3bace6a7119b81c7662051a3db9315382d3ea1f73dd03380da695ba16d724560d2b03eea3dd09eb206abcaee1358de7a SHA512 d90e140866541db92272855beb315aea7f037304e018efa6ac090b9d838864de0b7efe24d63ffdc2bc605ce659e0a8b722e2c7650ba21d740ab7d337ddd2c9d2 EBUILD mariadb-10.0.38.ebuild 27522 BLAKE2B 289f91951215684d00bf45cc65492a5d327b5e1dab19f718bd80acf17546a617eb36b2ff6f63994cda84e9acf59268139e1862e1f74184644c339671ca8294c5 SHA512 320c74a1c3682fd9ae33ee24d7c6afc2208869235ebbabb035437e572facccada40500643ce3f879150e2a04d20f2f5c9042f0721ff88de6ec2d038bd7ac319a EBUILD mariadb-10.1.34.ebuild 29472 BLAKE2B 859741b70abf8c2347395b26b7543f36be94165141227bb7dc75f054768490bf891eea5bd2f171aa0c0f8caed7603abf1347a0087caa10e55ce920aaa9c6677b SHA512 ff30a1fcdcc72b8324dec1be29db63a1792ca58474744f0c02014b1fba28d856ac0f154235b0889aedcc95cf24c4b58fcfd681458be726609861ba6f4220ad8f -EBUILD mariadb-10.1.37.ebuild 29473 BLAKE2B a8b53e4ac50557de7186338143c2742e25b64f7ebce59fec92c2d8568c6d3909424c44ec6cdef69874d9e4f82ab7d9b0b08275c016eef21e975440696b2e3967 SHA512 8ebeca8f496b4292fa4209678f9eef33a1395e93a739153da5772e6aab133d19056a7814697c90d4dcfb78ad5d260a53239130534bf51f64e66e90c41a1377df -EBUILD mariadb-10.1.38-r1.ebuild 29464 BLAKE2B cdfd6cac112908ed089928a7d5fbe6f604cf5ded99a2f9c9085acf82c37811301400cdadaa87bf6d94b5239439485ac6e6004aaa73c564d2492e1a94b1ce4a8e SHA512 500509b8ff1afce7e32648369632dc524df8778a6b566b83cb52c4d80354a2d00b1dcb8befcce4be1b31d5b629f0914f3599c94d1dd3a202f5b274e14af25ec6 +EBUILD mariadb-10.1.37.ebuild 29472 BLAKE2B df997764c777f3efd80b1d93c5e3203e27396f8eec2661c5c4b4b4bf9c561f377f6d7eb968db8cb88ec95bc417301ded6c479e2fe6b39bc6d94b985b8569952d SHA512 518b6776ba6f8529675d5ffe9e9e0932a65a35ca399ba58bfcd473b3b7f7d522e1d4c3f4c451b11db555f2334dd17d6de21bbff24d9e82faa59117dfa882861c +EBUILD mariadb-10.1.38-r1.ebuild 29462 BLAKE2B 8818ad1e16db6c698d7020b8ea7e898ea5b5bb24e57584c137152be344b0de7186aac040348f20f3dd07ee4c0bf828087df99e1b0ac985c5aa51e8867caa9f95 SHA512 75b0e958d3adf985c2159bcc8876bfafc371071eff9d589504c7f7d4ce4d9d831de140122e5bceb6666f25b4fd3d4f015b57f63d5b171bcb5d2e39391e4a596b EBUILD mariadb-10.1.40.ebuild 29512 BLAKE2B b87872354f3fad04ea8267fbed91397510e4ddf1acafd71cddb0dac4b087825978ad46b8ed945cd877c777849870187e02669573b9b5cd27a993e0e1b10dd2df SHA512 ff4251b4fb68c4038d55847807a0d3d331707cef2ff29a717c207c026d6554a23885f0b55c6be49bd0c215a678f61e6a241eb22932a1ef2c6c5b2ee1e8682010 -EBUILD mariadb-10.2.22-r1.ebuild 32515 BLAKE2B dcf2376e7f0f3f47ae5d3c997f2feda6441bf340bcdb26c64220932ee3c3971da712b5567df7cc76ca4528136673348c8335208fe72c91926bb3ca025d899d6d SHA512 cfd00d2fe5499e8378d025e886da35e9e5a29edc4fc0104d0daa783a3ac054c56d24a23cba21f82e0640cfe3fe6b64598128e42b131944b7ac14e544bbc2db8d +EBUILD mariadb-10.2.22-r1.ebuild 32512 BLAKE2B 560adda28ace5ccf01dc9b4b333226cfbdecb316896a9255179542c4fde26ccd313606fc75fbc15796d1f95bda794c9e7f71cd86adf4e591fece797264934449 SHA512 a6e3ebe0562518da825cf653c034d144f92f5bfed1097038ca10b347992ceaeebd5ac3cfa9f74c89dc2581000d58ffcfee20d8adda22e72b00b9ad0b36e04415 EBUILD mariadb-10.2.24.ebuild 32530 BLAKE2B abfdf9b1131eacbf59acbbdd250c58609db09b306cdc7ffbad02aa7b2b5e976f528c988a489e71c108bc9ead860aaddfdc3ab51af5d851b69f11e62056fa84d7 SHA512 d25d74d44ebff3f9857f1600fd974d4190739cf83aff6a897753847ff98d502951bba97798d7f049cf9053ecd5f8d9df992ba0de5d92f769595e624d8fe547be EBUILD mariadb-10.3.13.ebuild 32189 BLAKE2B 1a79ec6ce0ce0bc6d9000368712d25a0d9d0e096f244d3422bb56518fd20439b3c701291d9b75a45420ac6fe1e2dc0d81cf8142c80334001a9ac6087a66a8004 SHA512 a474f4856bd10379da5173f843ff476379672839d68793c5436a8b7618ef1637050b61ddee11f1cb423cf33aacd28fb5e03d03e73b0a415c3a9e7ea7ea8f45d1 EBUILD mariadb-10.3.15.ebuild 32225 BLAKE2B 95ba72ff67806f04371bb1fcd88461609c5bf74cf81fd1022a2c592aead3a0f98fc91b32df5303dc8680209f2a760e99f957839e07c54dde93378903c010560d SHA512 b444bbaa65de8f4535fb6ffd3a2062f74426d316e9cff4e341362a15a3ccaedcf45cbf5478ee308a2e997261b4967ab52bd51413c4e76b070867705ffdad50ce diff --git a/dev-db/mariadb/mariadb-10.1.37.ebuild b/dev-db/mariadb/mariadb-10.1.37.ebuild index c277d4c6046a..613cf33056bd 100644 --- a/dev-db/mariadb/mariadb-10.1.37.ebuild +++ b/dev-db/mariadb/mariadb-10.1.37.ebuild @@ -40,7 +40,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static ) ?? ( tcmalloc jemalloc ) static? ( yassl !pam )" -KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" +KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ~ppc64 ~s390 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" # Shorten the path because the socket path length must be shorter than 107 chars # and we will run a mysql server during test phase diff --git a/dev-db/mariadb/mariadb-10.1.38-r1.ebuild b/dev-db/mariadb/mariadb-10.1.38-r1.ebuild index e474b5d01c0b..59b977d1815e 100644 --- a/dev-db/mariadb/mariadb-10.1.38-r1.ebuild +++ b/dev-db/mariadb/mariadb-10.1.38-r1.ebuild @@ -40,7 +40,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static ) ?? ( tcmalloc jemalloc ) static? ( yassl !pam )" -KEYWORDS="alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" +KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" # Shorten the path because the socket path length must be shorter than 107 chars # and we will run a mysql server during test phase diff --git a/dev-db/mariadb/mariadb-10.2.22-r1.ebuild b/dev-db/mariadb/mariadb-10.2.22-r1.ebuild index c9ef480b83b6..90925fb7b024 100644 --- a/dev-db/mariadb/mariadb-10.2.22-r1.ebuild +++ b/dev-db/mariadb/mariadb-10.2.22-r1.ebuild @@ -42,7 +42,7 @@ REQUIRED_USE="jdbc? ( extraengine server !static ) ?? ( tcmalloc jemalloc ) static? ( yassl !pam )" -KEYWORDS="alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" +KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" # Shorten the path because the socket path length must be shorter than 107 chars # and we will run a mysql server during test phase diff --git a/dev-db/mongodb/Manifest b/dev-db/mongodb/Manifest index bf3f516487e4..0acc02987827 100644 --- a/dev-db/mongodb/Manifest +++ b/dev-db/mongodb/Manifest @@ -16,12 +16,14 @@ DIST mongodb-src-r3.4.16.tar.gz 40093657 BLAKE2B 7123444dbdd0b2ad3adfb3391e0177d DIST mongodb-src-r3.6.11.tar.gz 40581959 BLAKE2B 86244472ce8cff5180d8833a3415dd8a43fb5c76545034822989d5be90f45ed0ef1d43cb726be1e53241255491a7a516e6f90b1c1218ad10cf4ead4557311088 SHA512 e74af9f2f40ab0e2c20b135db3f0ce17825cfe5da912ff8edb2902226abb662a6cf87038ea57df73b06b4961ba71aa78fffd542153eb30c4ea2729d642b1091d DIST mongodb-src-r3.6.12.tar.gz 40847074 BLAKE2B 45cc0ec4858fa4c17fb86449e6feaf11df32fd55f8a642031ce9be967127d608842cdc64e0a335af67ab3942a233d905b0778782e54dfe4c5d2ad58b828745ca SHA512 173112a05234e06ef4b6c26a092b285b4d12618b3f131fc2b73bd152c11ec42db11cb003566efefce0c98df87a520d0515a3bb1982ffdb27827cd032b1bb3f68 DIST mongodb-src-r3.6.8.tar.gz 40428295 BLAKE2B cc02f73cfb49fb38ccabaad5a02610ce73fc41895ce944e48669e254bcbc70c8872a1bd7f8e04371fae4fcd9af2466fd8550367dd1d1da5cee50b86fc5023bf2 SHA512 c981f3269be3bafb59aa89d36c39a801fd7007b60db6c09b4616a559aaf8e50b34cabbdac2b59f23552c0a5112913fba468f7e2ed9a5f4daa3702dcffdf34999 +DIST mongodb-src-r4.0.10.tar.gz 49870574 BLAKE2B 1babbfa1a6d8fae390ec37042feff896c402772e832cc5b0b82fc4d531a6487ac2bd8d407c37ca75a76d78bc91cc665bfc3b7b223e6ceaaea2d921b337ef4d19 SHA512 891bfdc0d415515d7aa36aeb0618055ac6815c7d704537b88293226cecc1b677134db621fd90dee3913f4ff8174a888bcf68adee0a243d0f55ef6c0033a4f4b9 DIST mongodb-src-r4.0.6.tar.gz 49511958 BLAKE2B c372bb858528cb825db4edf11db636ad71c63148b84838f64cefe886b37631482c1e22eb99dfc557c3f51706d1d2f61b893bfd301cdeb8772a2d85ad75f8f48c SHA512 72e04154cf221833522bb0c2cc99acc2a86d20e2dcbf1f8c6ff0a870edf7b2529a55b6821c664805c00c12a311ae374a276ef1e3ccea1ed84fb125bb8726906a DIST mongodb-src-r4.0.9.tar.gz 49852767 BLAKE2B 1dbbc8c75743f0b5cd780fc5b008107972c810530d5c56d26ddfe3a00935036569b2b9fc5dad341c34e9fcbcc6dfa01565c09c93b52513ad29f003bdcd52a43a SHA512 8b88ac3266fe346f5bb92df404a935ecb8ba8bd202b09d515c08f50dc3c0b71bcd5e715a859c1e050f241d82dfdd54e5e4a96441fa984aae2cd1c74de2acd954 EBUILD mongodb-3.4.16.ebuild 4086 BLAKE2B 09d968fc68f4a3c717ce1e4b2f714464c04251fa8c241c9492a26f3777fcc458d7d27810530129753756012341924773c46bea0474900dd7289edb7778283187 SHA512 6f29c0d7dcb54403fe689f168652586bc4fae81de2b0d28f284046ab33c1e3ad94fbed3815ba2fd2164eacd12e9f43bdd1943179778175d6fe3097165a2410e0 EBUILD mongodb-3.6.11.ebuild 4230 BLAKE2B 7dcdae9c745188715aab750f024ec651f9c7af64f00d78d5dd293afca61fd1a8e0cc07bf15ae08bb6b6de8a77c19a81cb3fa1dccbe71b022b237d20462038bc7 SHA512 cb123077b262bc4b17ea31a741cf77c48dca7b24d090d0b7428487daba6112a0f21f1397d6e9e03837edf92ed591ed8c2565a2b29463cb1d4a54b3ab5aca91d5 EBUILD mongodb-3.6.12.ebuild 4230 BLAKE2B 7dcdae9c745188715aab750f024ec651f9c7af64f00d78d5dd293afca61fd1a8e0cc07bf15ae08bb6b6de8a77c19a81cb3fa1dccbe71b022b237d20462038bc7 SHA512 cb123077b262bc4b17ea31a741cf77c48dca7b24d090d0b7428487daba6112a0f21f1397d6e9e03837edf92ed591ed8c2565a2b29463cb1d4a54b3ab5aca91d5 EBUILD mongodb-3.6.8.ebuild 4196 BLAKE2B 5c5a72caa94102818cc03de85afc8d4c2818775814a9dd04555db4c1676dda953c8e64e3d222e35e96dfa90a26a18d9825c910f48102c6d574e8de816749523e SHA512 f6f83c1dd60eb8887457135b82194dd16c874678369a3b3a29907406b921502100e6d52d08b4dca6d9777d6d6c6453e6f134b08550304b0321138fb296e259dd +EBUILD mongodb-4.0.10.ebuild 4231 BLAKE2B cbcc36b52afa5d2ff4e6482c801297d88902b9a09576d1ac355d922e4c66333ebf62e2cfdeab51145bc0c1717587eceae4c817e5ce25ba22620fd85b9d14c60b SHA512 98180763eb93b00c464e3930eb6f4aca8b71a85299f3990a1e21be5f882a0eefc94c297919e072504c18c59b661aca851c347c8b06c3b96364abdff17266aab4 EBUILD mongodb-4.0.6.ebuild 4231 BLAKE2B cbcc36b52afa5d2ff4e6482c801297d88902b9a09576d1ac355d922e4c66333ebf62e2cfdeab51145bc0c1717587eceae4c817e5ce25ba22620fd85b9d14c60b SHA512 98180763eb93b00c464e3930eb6f4aca8b71a85299f3990a1e21be5f882a0eefc94c297919e072504c18c59b661aca851c347c8b06c3b96364abdff17266aab4 EBUILD mongodb-4.0.9.ebuild 4231 BLAKE2B cbcc36b52afa5d2ff4e6482c801297d88902b9a09576d1ac355d922e4c66333ebf62e2cfdeab51145bc0c1717587eceae4c817e5ce25ba22620fd85b9d14c60b SHA512 98180763eb93b00c464e3930eb6f4aca8b71a85299f3990a1e21be5f882a0eefc94c297919e072504c18c59b661aca851c347c8b06c3b96364abdff17266aab4 MISC metadata.xml 901 BLAKE2B f7fde58679ba05518634b82bf5fcc371897165364fe5b023a2ec161790c869de82b4a3dd769d5e1bb450f99679869b60bb1e35beb8d41c54d3448dfca580a7ae SHA512 48f133d396aa31b992bac5f947e5a262b2d07a1016c6d49fa3c86dabb85981edfa332abb867413826762d88051ff3981cc77c2ec92e992d7a231c3b542336e36 diff --git a/dev-db/mongodb/mongodb-4.0.10.ebuild b/dev-db/mongodb/mongodb-4.0.10.ebuild new file mode 100644 index 000000000000..bb2a9fb04dc3 --- /dev/null +++ b/dev-db/mongodb/mongodb-4.0.10.ebuild @@ -0,0 +1,164 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 ) + +SCONS_MIN_VERSION="2.5.0" +CHECKREQS_DISK_BUILD="2400M" +CHECKREQS_DISK_USR="512M" +CHECKREQS_MEMORY="1024M" + +inherit check-reqs flag-o-matic multiprocessing pax-utils python-single-r1 scons-utils systemd toolchain-funcs user + +MY_P=${PN}-src-r${PV/_rc/-rc} + +DESCRIPTION="A high-performance, open source, schema-free document-oriented database" +HOMEPAGE="https://www.mongodb.com" +SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" + +LICENSE="Apache-2.0 SSPL-1" +SLOT="0" +KEYWORDS="~amd64" +IUSE="debug kerberos libressl lto 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.11:= + kerberos? ( dev-libs/cyrus-sasl[kerberos] ) + mms-agent? ( app-admin/mms-agent ) + ssl? ( + !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) + libressl? ( dev-libs/libressl:0= ) + )" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + dev-python/cheetah[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + virtual/python-typing[${PYTHON_USEDEP}] + sys-libs/ncurses:0= + sys-libs/readline:0= + debug? ( dev-util/valgrind ) + test? ( + dev-python/pymongo[${PYTHON_USEDEP}] + )" +PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" + +PATCHES=( + "${FILESDIR}/${PN}-3.4.7-no-boost-check.patch" + "${FILESDIR}/${PN}-3.6.1-fix-scons.patch" + "${FILESDIR}/${PN}-4.0.0-no-compass.patch" +) + +S="${WORKDIR}/${MY_P}" + +pkg_pretend() { + if [[ -n ${REPLACING_VERSIONS} ]]; then + if ver_test "$REPLACING_VERSIONS" -lt 3.6; then + ewarn "To upgrade from a version earlier than the 3.6-series, you must" + ewarn "successively upgrade major releases until you have upgraded" + ewarn "to 3.6-series. Then upgrade to 4.0 series." + else + ewarn "Be sure to set featureCompatibilityVersion to 3.6 before upgrading." + fi + fi +} + +pkg_setup() { + enewgroup mongodb + enewuser mongodb -1 -1 /var/lib/${PN} mongodb + + python-single-r1_pkg_setup +} + +src_prepare() { + default + + # remove bundled libs + rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*} || die + + # remove compass + rm -r src/mongo/installer/compass || die +} + +src_configure() { + # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source + # --use-system-icu fails tests + # --use-system-tcmalloc is strongly NOT recommended: + scons_opts=( + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + + --disable-warnings-as-errors + --use-system-boost + --use-system-pcre + --use-system-snappy + --use-system-stemmer + --use-system-yaml + --use-system-zlib + ) + + use debug && scons_opts+=( --dbg=on ) + use kerberos && scons_opts+=( --use-sasl-client ) + use lto && scons_opts+=( --lto=on ) + use ssl && scons_opts+=( --ssl ) + + # respect mongoDB upstream's basic recommendations + # see bug #536688 and #526114 + if ! use debug; then + filter-flags '-m*' + filter-flags '-O?' + fi + + default +} + +src_compile() { + escons "${scons_opts[@]}" core tools +} + +# FEATURES="test -usersandbox" emerge dev-db/mongodb +src_test() { + "${EPYTHON}" ./buildscripts/resmoke.py --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed" +} + +src_install() { + escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr + + doman debian/mongo*.1 + dodoc README docs/building.md + + newinitd "${FILESDIR}/${PN}.initd-r3" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r3" ${PN} + newinitd "${FILESDIR}/mongos.initd-r3" mongos + newconfd "${FILESDIR}/mongos.confd-r3" mongos + + insinto /etc + newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf + newins "${FILESDIR}/mongos.conf-r2" mongos.conf + + systemd_dounit "${FILESDIR}/${PN}.service" + + insinto /etc/logrotate.d/ + newins "${FILESDIR}/${PN}.logrotate" ${PN} + + # see bug #526114 + pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} + + local x + for x in /var/{lib,log}/${PN}; do + diropts -m0750 -o mongodb -g mongodb + keepdir "${x}" + done +} + +pkg_postinst() { + ewarn "Make sure to read the release notes and follow the upgrade process:" + ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/" + ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures" +} diff --git a/dev-db/mysql-init-scripts/Manifest b/dev-db/mysql-init-scripts/Manifest index 2872ede66b24..d3def0cec226 100644 --- a/dev-db/mysql-init-scripts/Manifest +++ b/dev-db/mysql-init-scripts/Manifest @@ -15,5 +15,5 @@ AUX mysqld_at-v2.service 1170 BLAKE2B d02f7ee3549d273d309e8e6e5cd8c2f987c6feab42 AUX run-s6 268 BLAKE2B ebc9c74527257e1a35a4671afe2d34d9ed9868db0e0f33eebe655b31317a4ceeb02affe471ad49007534a9ce0a9399d9f14af664488ae753e207cf97d467107b SHA512 82be247195f6d9d230b063e9bda393bab8855382c2f3e5eb4d427fc1eb7e23dbd8c90939224ff2b5e4116a5c9d3f26ebdc9b9f548cde91e7c1217f4f8500c0d3 EBUILD mysql-init-scripts-2.2-r3.ebuild 1899 BLAKE2B c7406995ab4a0ecdb9bcd20a9384e269e4dbd55d87c21674cd7b4c31d937468448818bd9c06286b5595fe138b2fb5d6cd2faeec0276e08e0e0f24a6b8b96426a SHA512 2b2873467515d34b6afb03b06f73d8420b5228924362866ab3ba0353ff59509b4aa37db0cc3ccb5f6529a8a732b1a3a405f0b4d30bd288bf518a899884146c2a EBUILD mysql-init-scripts-2.2-r4.ebuild 1983 BLAKE2B d322fc4243b6ac3c4540c1f0f312d5baf8658234e3182ff52cbb2442f59d4052ccf662d337780ac0a77611e846ac03b9da116f6e294f4cede62694c1fc2e6d52 SHA512 ac578f3ea527efe1e5b233a075d83e5e1f49785c23c3d5e6557123859d81adef4a5ca51d91fb70f1320bceb4f9fbe2cada8334d831961061a9bba216ce55306f -EBUILD mysql-init-scripts-2.3.ebuild 1983 BLAKE2B 4909847445ebe1ca137656d11af2fd1ac4d6fd4f9085e7a21417aee65f159449a5c598cc44e7accd0a96153d857c6362b7fe2f8caadd7852b9c5ca991cbc2b50 SHA512 6fe585a9b4fd3d16ee671f9607f9c77094b6d37c43e4b71d52d98a7dda562c19ad54ae5ba85f3ce0e8dd7c47e58dd55971b2d78796913d5aff94de8519512de6 +EBUILD mysql-init-scripts-2.3.ebuild 1980 BLAKE2B a75ef598bb80af5b2807f38726af193755df2d03c974f51a0f49b100ea2591274335d684e405b8f559ae7f7aafbce10cc3f204c547f2a7858a63b28c29e80c93 SHA512 d09f5304d3a5f88922ac7b68c0789013c4062afbfb8eac349cbf63687dccf96014d688f0325de569588051665d9fa789a8386ea89e61b7bc578160ee4e7f03db MISC metadata.xml 243 BLAKE2B f247f748a23e4cda2f518ad7e4e53b9027ff08ec62289010e6dfc8cd2ad49412430c4095e80f2156c8e6f1226bcda0163b4faae83759550f79e9998928398713 SHA512 7c227a1fadd8d61aae9baabeb5d964c93fe0c4d82fb838c83fe0360cf38b24bebf51037726f13188ecd8f52c335368a693b81e74d79ba949576a6dbcb54887a9 diff --git a/dev-db/mysql-init-scripts/mysql-init-scripts-2.3.ebuild b/dev-db/mysql-init-scripts/mysql-init-scripts-2.3.ebuild index 037c7fabaec7..303b86680e0f 100644 --- a/dev-db/mysql-init-scripts/mysql-init-scripts-2.3.ebuild +++ b/dev-db/mysql-init-scripts/mysql-init-scripts-2.3.ebuild @@ -11,7 +11,7 @@ SRC_URI="" LICENSE="GPL-2" SLOT="0" -KEYWORDS="alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd" +KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd" IUSE="" DEPEND="" diff --git a/dev-db/mysql-workbench/Manifest b/dev-db/mysql-workbench/Manifest index 1dd29c5e057e..453061757eb4 100644 --- a/dev-db/mysql-workbench/Manifest +++ b/dev-db/mysql-workbench/Manifest @@ -1,14 +1,11 @@ AUX mysql-workbench-6.2.5-wbcopytables.patch 496 BLAKE2B 4666f32098ec43ad36f1c726903472e829873002521262d6781a2febfc1394dac6f9708fbb99a3fa52a032a5b8f695c9b98579b28a63e74727eac21a8ef3fbe6 SHA512 c0766315cd345893af57880eccdc2c1dd9ffa456a27d0c736af1382ca24c507de865188588753f212f35d8781305dcbd8d555f128edd6454dc2299bd0357fd5b AUX mysql-workbench-6.3.10-i386-json.patch 7167 BLAKE2B 44a6e2446b24cd2f7f096d51b6cfdacfb485634a94733c4ef67a128ec903fec3736cb62ed45d6abbe7c7793b7d3ab668198f663a44b1bcc313f4d02ced4cd578 SHA512 992595df7719c4c958c98b5561f3fea04607213287c72daea6bb331392c417123d6fe5d1126c6dec128a857aa299908221f3a2c0ac08744241bf395e80a9574d AUX mysql-workbench-6.3.9-mariadb-json.patch 2320 BLAKE2B 9dcf7ca5091109ab71a201a68aa16259402dae85d4ea1135fbce476dbc0d4f49ad154005a6fe6195ce86ffba49ebf3d03de8ac94b6adcda2a297600b1ac6d0d3 SHA512 23e4135ee5c8b7cc7b70cc6b5170209c9a6350cfc7e8450d29a1098c31472b68494147ec4f1286365f7802af72570f4822b0078ae269affbbaf98e3ad9e99eb4 -DIST antlr-3.4-complete.jar 2388361 BLAKE2B 561c1dffe464bbc387075df6d95bbdcab27315ba5679cfa10f85d6449baad3d05f4daa45af93d9b127d9fedb8c7e44c45537f1a84b4c4d877c40b9812620f669 SHA512 04be4dfba3a21f3ab9d9e439a64958bd8e844a9f151b798383bd9e0dd6ebc416783ae7cb1d1dbb27fb7288ab9756b13b8338cdb8ceb41a10949c852ad45ab1f2 DIST antlr-4.7.1-complete.jar 2240116 BLAKE2B 3acf99b3701b2092cad2fb6e91f27791cbedd82f26888d7329e481be29fce4ec644eb57f663e515b92dea46c24222d4fb090aae5cae30c57c412a38932ea72ed SHA512 de1c230d7294e05ac7b451cbc639bab9d416a674b281e21092fb4a9329ca8b6d4b92b9ad78a9771cff475a1610f1d0419819c4619bdff36c683019da67ef13b1 -DIST mysql-workbench-community-6.3.10-src.tar.gz 14969443 BLAKE2B 57f7b0d661bc8211e123a027ce12e71be5637c189cc6e3b949df4f8e5a7edfc8c78f3c6e85b7292347dce2b720ee79070ac8fb91224396a3afae4104583d4325 SHA512 f892853a5f8b000c424b945c38680e17b041699fe2b03743b71c803de6cedeb12e3f69ad94d1c737e23f26d8608026e18fb29d31be6b3a2ffea1d78229212a4d DIST mysql-workbench-community-8.0.14-src.tar.gz 15631739 BLAKE2B f37dbe83ecc642d08dc4996e343944b4f1c1c00a84d581ce79944d7f431910cd89b0c53fda14e8ff4c912ed8a1eaab517710d24e0bef89f2ed566d0d5f0730e4 SHA512 fc09bb73692956b40b003e23c9b6b6b710082c98393ad4de988dc4f4d5c78d7476a7f56f7fa5d201bf5a267643b13a30db385016fe800b57893355b9225aaf71 DIST mysql-workbench-community-8.0.15-src.tar.gz 15631418 BLAKE2B 4bfea1e4dbdda2bef856bd1601d85a1196052d7abc253eb1e291a5d2b5a6b807875e0367a6e542975a12529d142695c1b45f9f1b9b8e094cdf6183f1b1b11b43 SHA512 f6b1dedd0fd97aae0da04fb5a7ebaac980753386f10588dcec2c77fdf5832caf4ee10f277d338f74a1551d8071b17ae4724386e7e62e2bf8421377b304c31055 DIST mysql-workbench-community-8.0.16-src.tar.gz 15653536 BLAKE2B c76cd35e88167641037a779b85245c620b31e2a2943260309d8ba461391892d9ec5856023c8eb25e1ea40c12ece796a1d2e36f1638187db4bd2739eb273232c9 SHA512 e9495e78aec58f70cc586ad73908408d3b8d5071c815279c1019d5268c97f53f10f4e59a47fe0ffea03b795de8e283c1175e03e2585a81fc58b62461d665cfe9 -EBUILD mysql-workbench-6.3.10.ebuild 2858 BLAKE2B 09cfdc16accc4772a41b3f0de95982bd5aae411309bcc0b17efb7f4cb801ba94f4f9898226b7ddec30ff4544094f9526b4f93c34e535a4a306e65d021a57acfb SHA512 abe0d26d0e9424262d58b9063cfc2f979af87bd084339fc7a2d9384d188d7f762401ba6223b86a3ba73de9774d2eaef16c8b7d08d2bca4dc177684dd3828bd97 -EBUILD mysql-workbench-8.0.14.ebuild 2719 BLAKE2B 0dce51095fdab897c7ce6b089f557917edd8242067289730e47d5d7fc6ebf841ce621f29279ef302bcc25cbc88d09fd5a6d3c46af2379b3a72b22cef2bbfdd01 SHA512 903e9d3fba8d49ad5c47ff2d7e40ccd88b774d2ac85d8396d7d3c9cb80ab0e5e190a17cf8a46848664c209bc26a79dc3bb008b9ee9df3a07292ef4f58eb30776 +EBUILD mysql-workbench-8.0.14.ebuild 2718 BLAKE2B 4abd1c59b13bf3ce319c9959c8caabd4121a34ca4718aa08e7f508ff5f28326f7a2023d38ed5380666382f25255f831f869e8aca12b9fe70a5110ef86365ada8 SHA512 bd43c28ec80e357841aa9775dfc83367cc9f972f877b30097aa930ca8a03cbfd50376d30a13739cdbcc4ba2960215b209a979249d8365dca867891c70efe755c EBUILD mysql-workbench-8.0.15.ebuild 2720 BLAKE2B b226b0dbdd20925395c3f98be1377688b9cd320463a16ce8f169627632acdd41c19edd140b74d1273aea1ae00c1f1fd2fb3da8c7e2f31bfdebfae3435ff19b2e SHA512 4654925e83b481f0e47c65319165b18b55965c43db2ea056e5a576d55381ecd76335a33c6c81d8d7113fa1a20cf9d1ba8503f83f3595b1c462a33b5d86111473 EBUILD mysql-workbench-8.0.16.ebuild 2639 BLAKE2B 6c098dd06091de5bfbd409adf57157675b6fad999fb4f3e2384a940233d7d1bfd5c0801edf6cd58089a86e9a319da612b95d4a8b46fd1dee58711f187bb47ca1 SHA512 275b70d0bda900f19e36b51d067d9e2078860c85eb071302567ed734d3bc04fe026fcdc57f3ba97a5103e0889002ee5e0acbf97da6ce64590b6bfa8333a41600 MISC metadata.xml 310 BLAKE2B b0d985e39bb17865a05907e5449723c2bf862d9f3ae7f8570173c9cff443171feef6694db26a51880f8c1a4b1e3834ca7ab9bc7c2057fd6f8930b9d1c1c02cdd SHA512 f284063d72f2218f8ed60a74b43f252d608865682b8c0447f52016a02a7cbf6d45a226787d893328dd31946ade1cca78ff7556896183b4422c4142a8935a2193 diff --git a/dev-db/mysql-workbench/mysql-workbench-6.3.10.ebuild b/dev-db/mysql-workbench/mysql-workbench-6.3.10.ebuild deleted file mode 100644 index 772ccb85d543..000000000000 --- a/dev-db/mysql-workbench/mysql-workbench-6.3.10.ebuild +++ /dev/null @@ -1,111 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -GCONF_DEBUG="no" - -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="sqlite" - -inherit gnome2 eutils flag-o-matic python-single-r1 cmake-utils - -MY_P="${PN}-community-${PV}-src" - -DESCRIPTION="MySQL Workbench" -HOMEPAGE="https://www.mysql.com/products/workbench/" -SRC_URI="mirror://mysql/Downloads/MySQLGUITools/${MY_P}.tar.gz https://github.com/antlr/website-antlr3/blob/gh-pages/download/antlr-3.4-complete.jar?raw=true -> antlr-3.4-complete.jar" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux" -IUSE="debug doc gnome-keyring" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -# glibc: deprecated mutex functions, removed in 2.36.0 -CDEPEND="${PYTHON_DEPS} - dev-libs/glib:2 - dev-cpp/atkmm - dev-cpp/pangomm - >=dev-cpp/glibmm-2.14:2 - dev-cpp/gtkmm:3.0 - dev-libs/atk - x11-libs/pango - x11-libs/gtk+:3 - gnome-base/libglade:2.0 - >=x11-libs/cairo-1.5.12[glib,svg] - dev-libs/libsigc++:2 - >=dev-libs/boost-1.55.0[nls] - >=dev-cpp/ctemplate-0.95 - >=dev-libs/libxml2-2.6.2:2 - dev-libs/libzip - dev-libs/libpcre[cxx] - >=sci-libs/gdal-1.11.1-r1[-mdb] - virtual/opengl - || ( sys-libs/e2fsprogs-libs dev-libs/ossp-uuid ) - dev-libs/tinyxml[stl] - >=dev-db/mysql-connector-c++-1.1.8 - dev-db/vsqlite++ - || ( dev-db/libiodbc dev-db/unixODBC ) - gnome-keyring? ( gnome-base/libgnome-keyring ) - dev-python/pexpect - >=dev-python/paramiko-1.7.4 - " - -RDEPEND="${CDEPEND} - app-admin/sudo - >=sys-apps/net-tools-1.60_p20120127084908" - -DEPEND="${CDEPEND} - dev-lang/swig - virtual/jre - virtual/pkgconfig" - -S="${WORKDIR}"/"${MY_P}" - -PATCHES=( - "${FILESDIR}/${PN}-6.2.5-wbcopytables.patch" - "${FILESDIR}/${PN}-6.3.9-mariadb-json.patch" - "${FILESDIR}/${PN}-6.3.10-i386-json.patch" -) - -src_unpack() { - unpack ${PN}-community-${PV}-src.tar.gz -} - -src_prepare() { - sed -i -e '/target_link_libraries/ s/sqlparser.grt/sqlparser.grt sqlparser/' \ - modules/db.mysql.sqlparser/CMakeLists.txt - - ## remove hardcoded CXXFLAGS - sed -i -e 's/-O0 -g3//' ext/scintilla/gtk/CMakeLists.txt || die - ## And avoid -Werror - sed -i -e 's/-Werror//' CMakeLists.txt || die - - ## package is very fragile... - strip-flags - - cmake-utils_src_prepare -} - -src_configure() { - if has_version dev-db/libiodbc ; then - IODBC="-DIODBC_CONFIG_PATH=/usr/bin/iodbc-config" - fi - - append-cxxflags -std=c++11 - local mycmakeargs=( - -DUSE_GNOME_KEYRING="$(usex gnome-keyring)" - -DLIB_INSTALL_DIR="/usr/$(get_libdir)" - -DIODBC_INCLUDE_PATH="/usr/include/iodbc" - ${IODBC} - -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" - -DPYTHON_LIBRARY="$(python_get_library_path)" - -DMySQL_CONFIG_PATH="/usr/bin/mysql_config" - ) - ANTLR_JAR_PATH="${DISTDIR}/antlr-3.4-complete.jar" cmake-utils_src_configure -} - -src_compile() { - # Work around parallel build issues, bug 507838 - cmake-utils_src_compile -j1 -} diff --git a/dev-db/mysql-workbench/mysql-workbench-8.0.14.ebuild b/dev-db/mysql-workbench/mysql-workbench-8.0.14.ebuild index 6b14e1edca13..937637fa44f7 100644 --- a/dev-db/mysql-workbench/mysql-workbench-8.0.14.ebuild +++ b/dev-db/mysql-workbench/mysql-workbench-8.0.14.ebuild @@ -17,7 +17,7 @@ SRC_URI="mirror://mysql/Downloads/MySQLGUITools/${MY_P}.tar.gz http://www.antlr. LICENSE="GPL-2" SLOT="0" -KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux" IUSE="debug doc gnome-keyring" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/dev-db/mysql/Manifest b/dev-db/mysql/Manifest index 6058b4678a70..bcf69b3fcd76 100644 --- a/dev-db/mysql/Manifest +++ b/dev-db/mysql/Manifest @@ -8,6 +8,7 @@ DIST mysql-5.5.62.tar.gz 21111902 BLAKE2B f1cbb1c6b4dfac11c2c517a57a5c6216ce4376 DIST mysql-5.6.40.tar.gz 32083035 BLAKE2B efcc078341bae239df28ac0504111aa34926885ae47edb5011352b56552a5a3abd1f824f8cbdc23d8d667592b8f5510946ef18c3efa61865dbbc7f4bb8a2d4a0 SHA512 c8e458b4cd34cae87f1b088ed2188bd00de8cdc42709d5964e82fa2e4aaecfc12a75ae006c54ffa0d3d286fbdef9704d0cbb83436437d5705fb8921d960e758c DIST mysql-5.6.42.tar.gz 32201731 BLAKE2B c573328b37225dac090c32178f90e1419fc1848612e304bddc11eafdd48228981a846857be680978b72ef76edbd5d2422a98b5d20b4d082fabcc2b072e2b8fde SHA512 3104e6a3145a119f2b012de6af2a92fc37134aa402b889a562f5fc2391705d0bc2f718166c5fa8387d973fff5ecd9544c8b389b6d0c81d98bdcaf2acfb9b55e8 DIST mysql-5.6.43.tar.gz 32200219 BLAKE2B 2aa1397ff5f011a169ae47650be8db7a097a62f53ff06d63760a419906841f0540db19449c1d71d60be7d684e49b4436e1d6e72e7a1cf99057a3f98fad11557f SHA512 8820aee9b34cfebc841d756b12713517c9dafed7bee7b09c8e82c8f359e2e12b25da47c4e49e0aa4afc26193b774e0fa0dfd422c2aa09c3112b6d6e4b62b9a68 +DIST mysql-5.6.44.tar.gz 32531507 BLAKE2B 28fbf49f699eb9f43223ffa186671b119d16016274cc7192db232b85c58123a61154e37193b9b7145c6a650b80b5f6cf838529bc2bc5ea9c78c0dbc39de834d3 SHA512 65ace1c803773ca6c8759d171c09bc93c7d61b8e3208ac9905f82e99087622c9dcca602d2da217741dc62fc6eabe9108ebc7f31facd26705072eae65fcc37077 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-boost-5.7.25.tar.gz 49107578 BLAKE2B 8a43479c496ce45e71df905b0cb6da442340b691caa15f9862a8c981e7189c50e73b1701c393fe46ab580c508f785d5f15259c2331c77e0790191f3d41bb385c SHA512 b111c64bfcd49dba584bed71a0c7ce33b2b0654654d8f4eaa1a2b7a5daed9674ebfd4a0dfb93c20ffee028feead4709eaf600bb5469f81c86b743d395dfe27a9 @@ -17,11 +18,13 @@ DIST mysql-extras-20181023-0012Z.tar.bz2 327834 BLAKE2B 91a82cbcecbbbe94933da0d8 DIST mysql-extras-20181111-2314Z.tar.bz2 329013 BLAKE2B fa928b699ef0e6f092e028fc1331cc33953d9855e784998fb2f8c1f1712e9424567b2d2b6b7c5ca375f178309522b3596fcba7babdbed7c85b87ae4b85e5db22 SHA512 5cc4d16c5c6b0491fb9532469ec0b9c65e27e1514d561ea4180845a1578fc8e7ba00fca479b9a784646846f5147e4f676340f639b78c3f5ee140dda26bd5bff2 DIST mysql-extras-20190303-1852Z.tar.bz2 331026 BLAKE2B ee033fce8f1b6a58f1f690710fb9709a585cd45564b35e71d4f840a3a7f83a5d80f53c24236c9976319abd89c68c62c74a7111517f1b9721d3cbd0898bf0dd8d SHA512 30361a0b848ed27f9170b1116458a9bc13b1b585c5fa1933c99927541c31e9bda4008b0563f2fc7db286f998089ebebf1fe3f18fce7a45e62acbf769ac62d8c1 DIST mysql-extras-20190524-1046Z.tar.bz2 331517 BLAKE2B e6d48e34b0a7f7176de8740971f8151923beb20a520df73c22d44005059ef6779ad5aa8437e30018b9bbfe1d6d69043cbd8522b6f3662746205193b44372a6b3 SHA512 2f7238578f3aabd1701e1c54da36bc0100c9479871e3c77b22131fd6cde865037307f93b3343ea5e52251c45ef35cdc52cc2dec5a26d44fd41700598282c5c2c +DIST mysql-extras-20190604-1109Z.tar.bz2 331780 BLAKE2B 48b6f6ff36818ba3d1d9c0580b0ff5e2343d92a42ee78b6804841d7c4f511adcdc3d5cd0590f769f308ca52e271c07cb34219450f9b86e918ddcd0a4b956e18e SHA512 19a85ba5a4c2de1688f39feb6ce1c1802e4d886436dc02afe1ba508b91365a0ac67d668cf7126588145ee55641992ad71b0d094246a94c89065876b9bb897425 EBUILD mysql-5.5.61.ebuild 25515 BLAKE2B 2e8a5ff36ec6003ff7e4d746157afe8af9d462537d2808ab6cfe4d469cee1a594df38aafddcb010d0157335b42253f12474614f4eec85729f79d2e05a28cb8b3 SHA512 9ea05d2509c6693d71c5ce048e11393a77cf50570fa19f40500900284b9e5e5d1097de5c82fa518058ea773ac8fd30131a9c153b4effb371f4ce04f454e8867e EBUILD mysql-5.5.62.ebuild 25693 BLAKE2B abb1400994767e1a29259fda70531e27e9160b849a6228802baa440f8a5c8244393cb155ac9985f04353c8b35516e653a563c2eb84b72a714c5ee81d016e5d27 SHA512 759b82802fdeb7840b0da3e4ef1d6e7b1f32d7bd815ba780b11e57143b52bcb7eb483c008d25670f4626968028a46f7080abff247e5d2047f6b500ac67888ad4 EBUILD mysql-5.6.40-r2.ebuild 25714 BLAKE2B c78b1d8b2a77d095302f7e203c3ee6c0c2014770944072b87bd77f97972fcb6db52b05088adacbc821ce2e8f3dbb780bd40d850e381b866458b0d530fd11ea5d SHA512 b6301834c7813714f18f9763922d10e6faa33675705ba479c6d76e3c5673d903b0683f64a8281836bd6be396f398ed1bee14f9e6c8ddfe30b84ad1ac66a8be48 EBUILD mysql-5.6.42.ebuild 25955 BLAKE2B de075ce30850d5f2fe17a5aaf02e5888d62634028a042105ac4bff9a90dbec7803c6b1d348e35267be6b4b12afa8f12f4a02f969c536890bf7970cb4e466907c SHA512 56aa82fe363e091a6db7b307318f14ff93ded6eba2a61142eb3e026205740b02dca8587e23accf2ff757e941b0d4b2a0e7ab386b879d7cee35976facbb7aec94 EBUILD mysql-5.6.43.ebuild 26058 BLAKE2B 900da4370bcf01f3bb6f3c54220e80beddd4243724603c839caddc644504c6255bb68fc3b99522e23df7f7b0290edd859ffcced2819dcc7bbd8ec80a26eeafd3 SHA512 9f33a0924fab366635627643e85d33a8404b27afa098eb7411a9f223b9f4d90a3a4ff2dd47261de1d235ffa5865c44808e053329e21d8728c418b7c890ea026b +EBUILD mysql-5.6.44.ebuild 26139 BLAKE2B 386f77f902ae6c6ca01c00e1eafc4de6e897ea79886786575d17604c6db2f96dbce34658e471ca39f873519700a8ec210fff30795c596d68bd0b4627a8e56633 SHA512 893b8dae147ce5c084f60a3dbdeaa42a3fc8bad4e0f52f79533089a4795c0aedff3e90e2bd1f51fc992a74a327b7d4dc8619ffa507ef50b56c5b3dddc91bcd41 EBUILD mysql-5.7.23-r2.ebuild 30078 BLAKE2B 57bf58e862639e651335a10a8c4dfc5f7f0f76bfb0545414d697875906d917131fedd3e9d0e58f57b886d8cae55adbd2a104ee3632d49b4ba0669b93a1a68bff SHA512 dfbb88e79b717ceb615246a806123ee2d30c1632cfb40d0bb9e04a9204565a92afbb2b37245794c15985e99a60d2adc46723b97e455fb85e137079d6192b148c EBUILD mysql-5.7.24.ebuild 30386 BLAKE2B ecf0c03821af6a21467b53a02e6e0a0ae2f7e5d267ff4669266d34cdb9fddb7defbd8a4013dd3a1f8a103c84da4c6eddafae06fc1ebc4bf94c9769e64dbbfc1b SHA512 f8b372573d82b513ea1d82a1e00d728501c483ef949a2411c05ac93a8d2d90162d6992b58d3a101fefcbac541f9f37dcfa2263ac49231839d338af158557153f EBUILD mysql-5.7.25.ebuild 30466 BLAKE2B 09a9d351068993f776edaec7df6af40709ae1f29edfccb5c0881cb4e6c3c30370eb5dd605972eb2da02c9f1cc981d809a7fd4a5f61f61ac5b91b714e9ef8b8c6 SHA512 a8adb0af5cadb08556c2d19b6a0e7c659568dd36fc4448db2808e74bbfe6c7690d33e36b7d3ed91148b00d7093b1a09a7e522a17101fe35f9da1940d2751db2a diff --git a/dev-db/mysql/mysql-5.6.44.ebuild b/dev-db/mysql/mysql-5.6.44.ebuild new file mode 100644 index 000000000000..a05fea40118d --- /dev/null +++ b/dev-db/mysql/mysql-5.6.44.ebuild @@ -0,0 +1,800 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" +MY_EXTRAS_VER="20190604-1109Z" + +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 + "${MY_PATCH_DIR}"/20018_all_mysql-5.6.44-fix-libressl-support.patch +) + +# Be warned, *DEPEND are version-dependant +# These are used for both runtime and compiletime +COMMON_DEPEND=" + kernel_linux? ( + sys-process/procps:0= + dev-libs/libaio:0= + ) + net-misc/curl + >=sys-apps/sed-4 + >=sys-apps/texinfo-4.7-r1 + jemalloc? ( dev-libs/jemalloc:0= ) + tcmalloc? ( dev-util/google-perftools:0= ) + systemtap? ( >=dev-util/systemtap-1.3:0= ) + !yassl? ( + !libressl? ( =dev-libs/openssl-1.0.2*:0= ) + libressl? ( =dev-libs/libressl-2.6.5*:0= ) + ) + >=sys-libs/zlib-1.2.3:0= + sys-libs/ncurses:0= + server? ( + numa? ( sys-process/numactl ) + ) + !client-libs? ( dev-db/mysql-connector-c[${MULTILIB_USEDEP},static-libs?] ) +" +DEPEND="virtual/yacc + static? ( sys-libs/ncurses[static-libs] ) + test? ( dev-perl/JSON ) + || ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) + ${COMMON_DEPEND}" +RDEPEND="selinux? ( sec-policy/selinux-mysql ) + client-libs? ( !dev-db/mariadb-connector-c[mysqlcompat] !dev-db/mysql-connector-c ) + !dev-db/mariadb !dev-db/mariadb-galera !dev-db/percona-server !dev-db/mysql-cluster + server? ( !prefix? ( 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 + + # Bad test definition + _disable_test main.mysqldump "Test fails after 2018-12-31 with new warnings" + + # 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/percona-server/Manifest b/dev-db/percona-server/Manifest index 85ba2e5653a9..32b74ca83d2a 100644 --- a/dev-db/percona-server/Manifest +++ b/dev-db/percona-server/Manifest @@ -4,5 +4,7 @@ AUX my.cnf.distro-server 994 BLAKE2B 41dceff58edf748f9f60ac3c0d1682d2fc2f026fc1f DIST boost_1_59_0.tar.gz 83709983 BLAKE2B 8c6676fa05fa401a6ecb3b890d95aceb4421ec48dd0eab38ce8d170c618e177c82dc67a165938f6be1a01daab24ce41888f5442dbc19ad3dd41368a01a6f89e4 SHA512 05fdbe5637543defdbc630b921515425885593d16db14534ed7b9aa60925ade8fb598d50cb894aed6dae688e789047216daa1bf03fa1aeb6b531060d9dae52ae DIST mysql-extras-20190524-1046Z.tar.bz2 331517 BLAKE2B e6d48e34b0a7f7176de8740971f8151923beb20a520df73c22d44005059ef6779ad5aa8437e30018b9bbfe1d6d69043cbd8522b6f3662746205193b44372a6b3 SHA512 2f7238578f3aabd1701e1c54da36bc0100c9479871e3c77b22131fd6cde865037307f93b3343ea5e52251c45ef35cdc52cc2dec5a26d44fd41700598282c5c2c DIST percona-server-5.7.25-28.tar.gz 82296869 BLAKE2B eb12f185be6885e124f8fe5d434c0bba22a67fc2d82a28a52b6f7852722ce046a9a5c30ee5c55280b8046786c39336b131c94c05601580ab81ccf0113254f609 SHA512 e323e092d2af39969edc36d647400c20b50ec059b379f9ac32e71d88524940130639ebb2591d4126d6796e111c31c3a03ab1d00726471be00e1662417e5e63b3 +DIST percona-server-5.7.26-29.tar.gz 84327421 BLAKE2B beedb4b5025c337a63ae56644e47991e90c2c0e57c6d03f1562095f9470cef4b67c8df6c3774d88dfc6ed6dfb81f9dd4b62325db30bc26802651279921bd3a2d SHA512 c8100e69f7e29a5aa2de9dddbc1a3cba9836fe485b7f829a8db0a7e5ac1d1bdabfb1360dacad90665f4c9c78ac91226209c6c15158ef449e84519e36bb06f0a1 EBUILD percona-server-5.7.25.28.ebuild 36188 BLAKE2B 8f328977e7890dd7efb905691308d0183588f8eea097f3ad78a4645544a4c797f8104ad7741c46486726e955d1c9a04cb57f4f42c8aaeb24aae6620aea2c36d9 SHA512 28a5c0bcb08654fd107db48ce397e7dc0ef1fc4473231ff8926eeb39cc14d6c96d4dd7356dbde1746e0f8dad175eeb8f3012eefe52a74438bf22ebf7cce7984d +EBUILD percona-server-5.7.26.29.ebuild 36194 BLAKE2B 821a8fade85b3a7709e71f581f6e6f7819625f6d40b808e6ee69425920dd2fc8bb13b213065df78c51a0fc170914f28ca20361f36a0f19f123cfb71161d55b4d SHA512 7bd71fe1b421df305af9ebf6c4245bb1eeab70e71f0b2e2725b3013679abb0c1ece2e723018f08c9b1090ef4924b821975f48106d1d74e593983e6dbdeefa93d MISC metadata.xml 1416 BLAKE2B a479a1bc7b6e5947ccef2fdf097d3dd91af932500483112c05b86c5d60ab6ec1ac4179bee0fa291a746281054baa791152cac7a34c8c79a0ad4fd8f5e3d1bcf9 SHA512 ec92d201154c3af80aa4cdcd1eae207827a1b2711cfe7b1a9b0153268a33e472329011c56ec39a009776c629163fc9d4f9e77ad2b00461f07199f3dd12db0b52 diff --git a/dev-db/percona-server/percona-server-5.7.26.29.ebuild b/dev-db/percona-server/percona-server-5.7.26.29.ebuild new file mode 100644 index 000000000000..61f7b02b6e22 --- /dev/null +++ b/dev-db/percona-server/percona-server-5.7.26.29.ebuild @@ -0,0 +1,1095 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" +MY_EXTRAS_VER="20190524-1046Z" + +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.25-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}"/extra/libevent \ + "${S}"/storage/rocksdb/third_party \ + "${S}"/storage/tokudb/PerconaFT/third_party \ + "${S}"/zlib \ + || die + + # Remove the centos and rhel selinux policies to support mysqld_safe under SELinux + if [[ -d "${S}/support-files/SELinux" ]] ; then + echo > "${S}/support-files/SELinux/CMakeLists.txt" || die + fi + + if use libressl ; then + sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \ + "${S}/cmake/ssl.cmake" || die + fi + + sed -i 's~ADD_SUBDIRECTORY(storage/ndb)~~' CMakeLists.txt || die +} + +src_configure(){ + # Bug #114895, bug #110149 + filter-flags "-O" "-O[01]" + + append-cxxflags -felide-constructors + + # bug #283926, with GCC4.4, this is required to get correct behavior. + append-flags -fno-strict-aliasing + + if use tokudb ; then + # https://jira.percona.com/browse/PS-4399 + append-cxxflags -Wno-error=shadow + fi + + if use client-libs ; then + multilib-minimal_src_configure + else + multilib_src_configure + fi +} + +multilib_src_configure() { + debug-print-function ${FUNCNAME} "$@" + + if ! multilib_is_native_abi && ! use client-libs ; then + return + fi + + CMAKE_BUILD_TYPE="RelWithDebInfo" + + # debug hack wrt #497532 + mycmakeargs=( + -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" + -DCMAKE_INSTALL_PREFIX="${EPREFIX%/}/usr" + -DMYSQL_DATADIR="${EPREFIX%/}/var/lib/mysql" + -DSYSCONFDIR="${EPREFIX%/}/etc/mysql" + -DINSTALL_BINDIR=bin + -DINSTALL_DOCDIR=share/doc/${PF} + -DINSTALL_DOCREADMEDIR=share/doc/${PF} + -DINSTALL_INCLUDEDIR=include/mysql + -DINSTALL_INFODIR=share/info + -DINSTALL_LIBDIR=$(get_libdir) + -DINSTALL_MANDIR=share/man + -DINSTALL_MYSQLSHAREDIR=share/mysql + -DINSTALL_PLUGINDIR=$(get_libdir)/mysql/plugin + -DINSTALL_SCRIPTDIR=share/mysql/scripts + -DINSTALL_MYSQLDATADIR="${EPREFIX%/}/var/lib/mysql" + -DINSTALL_SBINDIR=sbin + -DINSTALL_SUPPORTFILESDIR="${EPREFIX%/}/usr/share/mysql" + -DCOMPILATION_COMMENT="Gentoo Linux ${PF}" + -DWITH_UNIT_TESTS=$(usex test ON OFF) + ### TODO: make this system but issues with UTF-8 prevent it + -DWITH_EDITLINE=bundled + -DWITH_ZLIB=system + -DWITH_LIBWRAP=0 + -DENABLED_LOCAL_INFILE=1 + -DMYSQL_UNIX_ADDR="${EPREFIX%/}/var/run/mysqld/mysqld.sock" + -DWITH_DEFAULT_COMPILER_OPTIONS=0 + -DWITH_DEFAULT_FEATURE_SET=0 + # The build forces this to be defined when cross-compiling. We pass it + # all the time for simplicity and to make sure it is actually correct. + -DSTACK_DIRECTION=$(tc-stack-grows-down && echo -1 || echo 1) + -DWITH_CURL=system + -DWITH_BOOST="${WORKDIR}/boost_1_59_0" + -DWITH_PROTOBUF=system + ) + + if use test ; then + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test ) + else + mycmakeargs+=( -DINSTALL_MYSQLTESTDIR='' ) + fi + + if ! use yassl ; then + mycmakeargs+=( -DWITH_SSL=system ) + else + mycmakeargs+=( -DWITH_SSL=bundled ) + fi + + if ! use client-libs ; then + mycmakeargs+=( -DWITHOUT_CLIENTLIBS=YES ) + fi + + # bfd.h is only used starting with 10.1 and can be controlled by NOT_FOR_DISTRIBUTION + # systemtap only works on native ABI, bug 530132 + if multilib_is_native_abi ; then + mycmakeargs+=( + -DENABLE_DTRACE=$(usex systemtap) + ) + else + mycmakeargs+=( + -DWITHOUT_TOOLS=1 + -DWITH_READLINE=1 + -DENABLE_DTRACE=0 + ) + fi + + if multilib_is_native_abi && use server ; then + mycmakeargs+=( + -DWITH_LIBEVENT=system + -DWITH_LZ4=system + -DWITH_MECAB=$(usex cjk system OFF) + -DWITH_NUMA=$(usex numa ON OFF) + -DWITH_RAPID=$(usex experimental ON OFF) + ) + + if [[ ( -n ${MYSQL_DEFAULT_CHARSET} ) && ( -n ${MYSQL_DEFAULT_COLLATION} ) ]] ; then + ewarn "You are using a custom charset of ${MYSQL_DEFAULT_CHARSET}" + ewarn "and a collation of ${MYSQL_DEFAULT_COLLATION}." + ewarn "You MUST file bugs without these variables set." + + mycmakeargs+=( + -DDEFAULT_CHARSET=${MYSQL_DEFAULT_CHARSET} + -DDEFAULT_COLLATION=${MYSQL_DEFAULT_COLLATION} + ) + elif ! use latin1 ; then + mycmakeargs+=( + -DDEFAULT_CHARSET=utf8 + -DDEFAULT_COLLATION=utf8_general_ci + ) + else + mycmakeargs+=( + -DDEFAULT_CHARSET=latin1 + -DDEFAULT_COLLATION=latin1_swedish_ci + ) + fi + + mycmakeargs+=( + -DEXTRA_CHARSETS=all + -DDISABLE_SHARED=$(usex static YES NO) + -DWITH_DEBUG=$(usex debug) + -DWITH_EMBEDDED_SERVER=OFF + ) + + if use profiling ; then + # Setting to OFF doesn't work: Once set, profiling options will be added + # to `mysqld --help` output via sql/sys_vars.cc causing + # "main.mysqld--help-notwin" test to fail + mycmakeargs+=( -DENABLED_PROFILING=ON ) + fi + + if use static ; then + mycmakeargs+=( -DWITH_PIC=1 ) + fi + + # Storage engines + mycmakeargs+=( + -DWITH_EXAMPLE_STORAGE_ENGINE=0 + -DWITH_ARCHIVE_STORAGE_ENGINE=1 + -DWITH_BLACKHOLE_STORAGE_ENGINE=1 + -DWITH_CSV_STORAGE_ENGINE=1 + -DWITH_FEDERATED_STORAGE_ENGINE=1 + -DWITH_HEAP_STORAGE_ENGINE=1 + -DWITH_INNOBASE_STORAGE_ENGINE=1 + -DWITH_INNODB_MEMCACHED=0 + -DWITH_MYISAMMRG_STORAGE_ENGINE=1 + -DWITH_MYISAM_STORAGE_ENGINE=1 + -DWITH_PARTITION_STORAGE_ENGINE=1 + -DWITH_ROCKSDB=$(usex rocksdb 1 0) + $(usex tokudb '' -DWITHOUT_TOKUDB=1) + ) + + if use tokudb ; then + # TokuDB Backup plugin requires valgrind unconditionally + mycmakeargs+=( + $(usex tokudb-backup-plugin '' -DTOKUDB_BACKUP_DISABLED=1) + ) + fi + + else + mycmakeargs+=( + -DWITHOUT_SERVER=1 + -DWITH_EMBEDDED_SERVER=OFF + -DEXTRA_CHARSETS=none + ) + fi + + cmake-utils_src_configure +} + +src_compile() { + if use client-libs ; then + multilib-minimal_src_compile + else + multilib_src_compile + fi +} + +multilib_src_compile() { + cmake-utils_src_compile +} + +# Official test instructions: +# ulimit -n 16500 && \ +# USE='latin1 perl server' \ +# FEATURES='test userpriv -usersandbox' \ +# ebuild percona-server-X.X.XX.ebuild \ +# digest clean package +src_test() { + _disable_test() { + local rawtestname reason + rawtestname="${1}" ; shift + reason="${@}" + ewarn "test '${rawtestname}' disabled: '${reason}'" + echo ${rawtestname} : ${reason} >> "${T}/disabled.def" + } + + local TESTDIR="${BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + if ! use server ; then + einfo "Skipping server tests due to minimal build." + return 0 + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ $UID -eq 0 ]] ; then + die "Testing with FEATURES=-userpriv is no longer supported by upstream. Tests MUST be run as non-root." + fi + has usersandbox $FEATURES && ewarn "Some tests may fail with FEATURES=usersandbox" + + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" + + # Run CTest (test-units) + cmake-utils_src_test + retstatus_unit=$? + + # Ensure that parallel runs don't die + export MTR_BUILD_THREAD="$((${RANDOM} % 100))" + # Enable parallel testing, auto will try to detect number of cores + # You may set this by hand. + # The default maximum is 8 unless MTR_MAX_PARALLEL is increased + export MTR_PARALLEL="${MTR_PARALLEL:-auto}" + + # create directories because mysqladmin might run out of order + mkdir -p "${T}"/var-tests{,/log} || die + + # Run mysql tests + pushd "${TESTDIR}" &>/dev/null || die + + touch "${T}/disabled.def" + # These are failing in Percona-Server 5.7 for now and are believed to be + # false positives or are known to fail: + # + # group_replication.gr_communication_configuration: requires a valid local network address + # which clashes with FEATURES=network-sandbox + # innodb.xtradb_compressed_columns_consistency: long running test which tends to timeout + # on a busy host + # keyring_vault.keyring_vault_timeout: requires network access to vault.public-ci.percona.com + # which clashes with FEATURES=network-sandbox + # rocksdb.prefix_extractor_override: https://jira.percona.com/browse/PS-5199 + # rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch: https://bugs.mysql.com/bug.php?id=89223 + # rpl.rpl_multi_source_mts_reset_worker_info: https://jira.percona.com/browse/PS-3786 + # tokudb.bugs.5733_tokudb: https://jira.percona.com/browse/PS-4274 + # 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 + # x.mysqlxtest_help: https://jira.percona.com/browse/PS-5019 + # x.admin_kill_client_mysqlx: https://jira.percona.com/browse/PS-5019 + # + local t + + for t in \ + group_replication.gr_communication_configuration \ + innodb.xtradb_compressed_columns_consistency \ + keyring_vault.keyring_vault_timeout \ + rocksdb.prefix_extractor_override \ + rpl.rpl_innodb_info_tbl_slave_tmp_tbl_mismatch \ + rpl.rpl_multi_source_mts_reset_worker_info \ + tokudb.bugs.5733_tokudb \ + 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 \ + x.mysqlxtest_help \ + x.admin_kill_client_mysqlx \ + ; do + _disable_test "$t" "False positives in Gentoo / Known bug" + done + + if has_version ">=dev-libs/openssl-1.1.1" ; then + for t in \ + main.ssl_8k_key \ + auth_sec.mysql_ssl_connection \ + main.ssl_verify_identity \ + main.ssl_crl \ + main.grant_alter_user_qa \ + auth_sec.ssl_auto_detect \ + encryption.innodb_onlinealter_encryption \ + main.ssl_ca \ + main.ssl_cipher \ + main.grant_user_lock_qa \ + auth_sec.openssl_cert_generation \ + main.ssl_bug75311 \ + main.ssl_compress \ + main.ssl \ + main.plugin_auth_sha256_tls \ + main.ssl_ecdh \ + main.openssl_1 \ + auth_sec.cert_verify \ + main.mysql_ssl_default \ + main.percona_tls \ + auth_sec.tls \ + auth_sec.ssl_mode \ + binlog.binlog_grant_alter_user \ + x.connection_tls_version \ + x.connection_openssl \ + ; do + _disable_test "$t" "Known >=openssl-1.1.1 failures" + done + fi + + if use numa && use kernel_linux ; then + # bug 584880 + if ! linux_config_exists || ! linux_chkconfig_present NUMA ; then + for t in sys_vars.innodb_numa_interleave_basic ; do + _disable_test "$t" "Test $t requires system with NUMA support" + done + fi + fi + + if use 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-list="${T}/disabled.def" + retstatus_tests=$? + + popd &>/dev/null || die + + # Cleanup is important for these testcases. + pkill -9 -f "${S}/ndb" 2>/dev/null + pkill -9 -f "${S}/sql" 2>/dev/null + + local failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" +} + +src_install() { + local MULTILIB_WRAPPED_HEADERS + local MULTILIB_CHOST_TOOLS + if use client-libs ; then + # headers with ABI specific data + MULTILIB_WRAPPED_HEADERS=( + /usr/include/mysql/server/my_config.h + /usr/include/mysql/server/mysql_version.h ) + + # wrap the config scripts + MULTILIB_CHOST_TOOLS=( /usr/bin/mysql_config ) + multilib-minimal_src_install + else + multilib_src_install + multilib_src_install_all + fi +} + +# Intentionally override eclass function +multilib_src_install() { + + cmake-utils_src_install + + # Kill old libmysqclient_r symlinks if they exist. Time to fix what depends on them. + find "${D}" -name 'libmysqlclient_r.*' -type l -delete || die +} + +multilib_src_install_all() { + # Make sure the vars are correctly initialized + mysql_init_vars + + # Convenience links + einfo "Making Convenience links for mysqlcheck multi-call binary" + dosym "mysqlcheck" "/usr/bin/mysqlanalyze" + dosym "mysqlcheck" "/usr/bin/mysqlrepair" + dosym "mysqlcheck" "/usr/bin/mysqloptimize" + + # INSTALL_LAYOUT=STANDALONE causes cmake to create a /usr/data dir + if [[ -d "${ED}/usr/data" ]] ; then + rm -Rf "${ED}/usr/data" || die + fi + + # Unless they explicitly specific USE=test, then do not install the + # testsuite. It DOES have a use to be installed, esp. when you want to do a + # validation of your database configuration after tuning it. + if ! use test ; then + rm -rf "${D}/${MY_SHAREDSTATEDIR}/mysql-test" + fi + + # Configuration stuff + einfo "Building default configuration ..." + insinto "${MY_SYSCONFDIR#${EPREFIX}}" + [[ -f "${S}/scripts/mysqlaccess.conf" ]] && doins "${S}"/scripts/mysqlaccess.conf + cp "${FILESDIR}/my.cnf-5.7" "${TMPDIR}/my.cnf" || die + eprefixify "${TMPDIR}/my.cnf" + doins "${TMPDIR}/my.cnf" + insinto "${MY_SYSCONFDIR#${EPREFIX}}/mysql.d" + cp "${FILESDIR}/my.cnf.distro-client" "${TMPDIR}/50-distro-client.cnf" || die + eprefixify "${TMPDIR}/50-distro-client.cnf" + doins "${TMPDIR}/50-distro-client.cnf" + + if use server ; then + mycnf_src="my.cnf.distro-server" + sed -e "s!@DATADIR@!${MY_DATADIR}!g" \ + "${FILESDIR}/${mycnf_src}" \ + > "${TMPDIR}/my.cnf.ok" || die + + if use prefix ; then + sed -i -r -e '/^user[[:space:]]*=[[:space:]]*mysql$/d' \ + "${TMPDIR}/my.cnf.ok" || die + fi + + if use latin1 ; then + sed -i \ + -e "/character-set/s|utf8|latin1|g" \ + "${TMPDIR}/my.cnf.ok" || die + fi + + eprefixify "${TMPDIR}/my.cnf.ok" + + newins "${TMPDIR}/my.cnf.ok" 50-distro-server.cnf + + if use tokudb ; then + # Remove some unwanted files + rm -fv \ + "${ED%/}"/usr/COPYING.AGPLv3 \ + "${ED%/}"/usr/COPYING.GPLv2 \ + "${ED%/}"/usr/PATENTS \ + "${ED%/}"/usr/README.md \ + || die + fi + fi + + #Remove mytop if perl is not selected + [[ -e "${ED}/usr/bin/mytop" ]] && ! use perl && rm -f "${ED}/usr/bin/mytop" +} + +pkg_config() { + _getoptval() { + local mypd="${EROOT%/}"/usr/bin/my_print_defaults + local section="$1" + local flag="--${2}=" + local extra_options="${3}" + "${mypd}" $extra_options $section | sed -n "/^${flag}/s,${flag},,gp" + } + local old_MY_DATADIR="${MY_DATADIR}" + local old_HOME="${HOME}" + # my_print_defaults needs to read stuff in $HOME/.my.cnf + export HOME=${EPREFIX%/}/root + + # Make sure the vars are correctly initialized + mysql_init_vars + + [[ -z "${MY_DATADIR}" ]] && die "Sorry, unable to find MY_DATADIR" + if [[ ! -x "${EROOT%/}/usr/sbin/mysqld" ]] ; then + die "Minimal builds do NOT include the MySQL server" + fi + + if [[ ( -n "${MY_DATADIR}" ) && ( "${MY_DATADIR}" != "${old_MY_DATADIR}" ) ]] ; then + local MY_DATADIR_s="${ROOT%/}/${MY_DATADIR}" + MY_DATADIR_s="${MY_DATADIR_s%%/}" + local old_MY_DATADIR_s="${ROOT%/}/${old_MY_DATADIR}" + old_MY_DATADIR_s="${old_MY_DATADIR_s%%/}" + + if [[ ( -d "${old_MY_DATADIR_s}" ) && ( "${old_MY_DATADIR_s}" != / ) ]] ; then + if [[ -d "${MY_DATADIR_s}" ]] ; then + ewarn "Both ${old_MY_DATADIR_s} and ${MY_DATADIR_s} exist" + ewarn "Attempting to use ${MY_DATADIR_s} and preserving ${old_MY_DATADIR_s}" + else + elog "Moving MY_DATADIR from ${old_MY_DATADIR_s} to ${MY_DATADIR_s}" + mv --strip-trailing-slashes -T "${old_MY_DATADIR_s}" "${MY_DATADIR_s}" \ + || die "Moving MY_DATADIR failed" + fi + else + ewarn "Previous MY_DATADIR (${old_MY_DATADIR_s}) does not exist" + if [[ -d "${MY_DATADIR_s}" ]] ; then + ewarn "Attempting to use ${MY_DATADIR_s}" + else + eerror "New MY_DATADIR (${MY_DATADIR_s}) does not exist" + die "Configuration Failed! Please reinstall ${CATEGORY}/${PN}" + fi + fi + fi + + local pwd1="a" + local pwd2="b" + local maxtry=15 + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + local tmp_mysqld_password_source= + + for tmp_mysqld_password_source in mysql client ; do + einfo "Trying to get password for mysql 'root' user from '${tmp_mysqld_password_source}' section ..." + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password)" + if [[ -n "${MYSQL_ROOT_PASSWORD}" ]] ; then + if [[ ${MYSQL_ROOT_PASSWORD} == *$'\n'* ]] ; then + ewarn "Ignoring password from '${tmp_mysqld_password_source}' section due to newline character (do you have multiple password options set?)!" + MYSQL_ROOT_PASSWORD= + continue + fi + + einfo "Found password in '${tmp_mysqld_password_source}' section!" + break + fi + done + + # Sometimes --show is required to display passwords in some implementations of my_print_defaults + if [[ "${MYSQL_ROOT_PASSWORD}" == '*****' ]] ; then + MYSQL_ROOT_PASSWORD="$(_getoptval "${tmp_mysqld_password_source}" password --show)" + fi + + unset tmp_mysqld_password_source + fi + MYSQL_TMPDIR="$(_getoptval mysqld tmpdir)" + # These are dir+prefix + MYSQL_RELAY_LOG="$(_getoptval mysqld relay-log)" + MYSQL_RELAY_LOG=${MYSQL_RELAY_LOG%/*} + MYSQL_LOG_BIN="$(_getoptval mysqld log-bin)" + MYSQL_LOG_BIN=${MYSQL_LOG_BIN%/*} + + if [[ ! -d "${EROOT%/}/$MYSQL_TMPDIR" ]] ; then + einfo "Creating MySQL tmpdir $MYSQL_TMPDIR" + install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_TMPDIR" + fi + + if [[ ! -d "${EROOT%/}/$MYSQL_LOG_BIN" ]] ; then + einfo "Creating MySQL log-bin directory $MYSQL_LOG_BIN" + install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_LOG_BIN" + fi + + if [[ ! -d "${EROOT%/}/$MYSQL_RELAY_LOG" ]] ; then + einfo "Creating MySQL relay-log directory $MYSQL_RELAY_LOG" + install -d -m 770 -o mysql -g mysql "${EROOT%/}/$MYSQL_RELAY_LOG" + fi + + if [[ -d "${ROOT%/}/${MY_DATADIR}/mysql" ]] ; then + ewarn "You have already a MySQL database in place." + ewarn "(${ROOT%/}/${MY_DATADIR}/*)" + ewarn "Please rename or delete it if you wish to replace it." + die "MySQL database already exists!" + fi + + # Bug #213475 - MySQL _will_ object strenously if your machine is named + # localhost. Also causes weird failures. + [[ "${HOSTNAME}" == "localhost" ]] && die "Your machine must NOT be named localhost" + + if [[ -z "${MYSQL_ROOT_PASSWORD}" ]] ; then + + einfo "Please provide a password for the mysql 'root' user now" + einfo "or through the ${HOME}/.my.cnf file." + ewarn "Avoid [\"'\\_%] characters in the password" + read -rsp " >" pwd1 ; echo + + einfo "Retype the password" + read -rsp " >" pwd2 ; echo + + if [[ "x$pwd1" != "x$pwd2" ]] ; then + die "Passwords are not the same" + fi + MYSQL_ROOT_PASSWORD="${pwd1}" + unset pwd1 pwd2 + fi + + local options + local sqltmp="$(emktemp)" + + # Fix bug 446200. Don't reference host my.cnf, needs to come first, + # see http://bugs.mysql.com/bug.php?id=31312 + use prefix && options="${options} '--defaults-file=${MY_SYSCONFDIR}/my.cnf'" + + # Figure out which options we need to disable to do the setup + local helpfile="${TMPDIR%/}/mysqld-help" + "${EROOT%/}/usr/sbin/mysqld" --verbose --help >"${helpfile}" 2>/dev/null + for opt in host-cache name-resolve networking slave-start \ + federated ssl log-bin relay-log slow-query-log external-locking \ + log-slave-updates \ + ; do + optexp="--(skip-)?${opt}" optfull="--loose-skip-${opt}" + egrep -sq -- "${optexp}" "${helpfile}" && options="${options} ${optfull}" + done + + einfo "Creating the mysql database and setting proper permissions on it ..." + + # Now that /var/run is a tmpfs mount point, we need to ensure it exists before using it + PID_DIR="${EROOT%/}/var/run/mysqld" + if [[ ! -d "${PID_DIR}" ]] ; then + install -d -m 755 -o mysql -g mysql "${PID_DIR}" || die "Could not create pid directory" + fi + + if [[ ! -d "${MY_DATADIR}" ]] ; then + install -d -m 750 -o mysql -g mysql "${MY_DATADIR}" || die "Could not create data directory" + fi + + pushd "${TMPDIR}" &>/dev/null || die + + # Filling timezones, see + # http://dev.mysql.com/doc/mysql/en/time-zone-support.html + echo "USE mysql;" >"${sqltmp}" + "${EROOT%/}/usr/bin/mysql_tzinfo_to_sql" "${EROOT%/}/usr/share/zoneinfo" >> "${sqltmp}" 2>/dev/null + chown mysql "${sqltmp}" || die + + # --initialize-insecure will not set root password + # --initialize would set a random one in the log which we don't need as we set it ourselves + local cmd=( "${EROOT%/}/usr/sbin/mysqld" "--initialize-insecure" "--init-file='${sqltmp}'" ) + cmd+=( "--basedir=${EPREFIX%/}/usr" ${options} "--datadir=${ROOT%/}${MY_DATADIR}" "--tmpdir=${ROOT%/}${MYSQL_TMPDIR}" ) + einfo "Command: ${cmd[*]}" + su -s /bin/sh -c "${cmd[*]}" mysql \ + >"${TMPDIR%/}"/mysql_install_db.log 2>&1 + if [[ $? -ne 0 ]] ; then + grep -B5 -A999 -i "ERROR" "${TMPDIR%/}"/mysql_install_db.log 1>&2 + die "Failed to initialize mysqld. Please review ${EPREFIX%/}/var/log/mysql/mysqld.err AND ${TMPDIR%/}/mysql_install_db.log" + fi + popd &>/dev/null || die + [[ -f "${ROOT%/}/${MY_DATADIR}/mysql/user.frm" ]] \ + || die "MySQL databases not installed" + + use prefix || options="${options} --user=mysql" + + local socket="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.sock" + local pidfile="${EROOT%/}/var/run/mysqld/mysqld${RANDOM}.pid" + local mysqld="${EROOT%/}/usr/sbin/mysqld \ + ${options} \ + $(use prefix || echo --user=mysql) \ + --log-warnings=0 \ + --basedir=${EROOT%/}/usr \ + --datadir=${ROOT%/}/${MY_DATADIR} \ + --max_allowed_packet=8M \ + --net_buffer_length=16K \ + --socket=${socket} \ + --pid-file=${pidfile} \ + --tmpdir=${ROOT}/${MYSQL_TMPDIR}" + #einfo "About to start mysqld: ${mysqld}" + ebegin "Starting mysqld" + einfo "Command ${mysqld}" + ${mysqld} & + rc=$? + while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do + maxtry=$((${maxtry}-1)) + echo -n "." + sleep 1 + done + eend $rc + + if ! [[ -S "${socket}" ]] ; then + die "Completely failed to start up mysqld with: ${mysqld}" + fi + + ebegin "Setting root password" + # Do this from memory, as we don't want clear text passwords in temp files + local sql="ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${MYSQL_ROOT_PASSWORD}'" + "${EROOT%/}/usr/bin/mysql" \ + --no-defaults \ + "--socket=${socket}" \ + -hlocalhost \ + -e "${sql}" + eend $? + + # Stop the server and cleanup + einfo "Stopping the server ..." + kill $(< "${pidfile}" ) + rm -f "${sqltmp}" + wait %1 + einfo "Done" +} diff --git a/dev-db/pgadmin4/Manifest b/dev-db/pgadmin4/Manifest index 3ccaac40d4fc..e8815ca81b61 100644 --- a/dev-db/pgadmin4/Manifest +++ b/dev-db/pgadmin4/Manifest @@ -2,8 +2,10 @@ DIST pgadmin4-3.0.tar.gz 28915010 BLAKE2B 7e6dccd91f082f7b5514f5d3abdf4653a9961b DIST pgadmin4-4.2.tar.gz 32382384 BLAKE2B c96806302e7c298e9fcdee3ada8fc519431eb3de778c55445de648e2867dc32168c5ad38209da63ac2d181612b2edfdd532f11ccd6020ab187c6fe23ef6272a6 SHA512 d3d242904c65f0af871890954c24005b4849b88599cde9a7cb82e077ff5db5a8c5f015c4af0b135d68f02daad42492af71373831c2212a36672af8d7621c3b2a DIST pgadmin4-4.3.tar.gz 22480328 BLAKE2B 4a7527b59d3b9f3cbfa63003c09ffe2c826dd965e906c46939324182ffa5c9c0e0258fd56be1480555ed4cbc1b42231727d632ccc7c3339982412654100db38e SHA512 db072bab1dcd0a18b9c423b95847c7873b9f458168ebaaf6473a9de5b44b3134e39f5b84aeba0a6ada42b1e867e359e44bda84bf55377cb0abc169c7455852b6 DIST pgadmin4-4.5.tar.gz 22420769 BLAKE2B ae16e34c4cfce0ae78f06321ea1fc34aac0e081df4c0d5906fc4da0c82abb67e374477b8f9a9266d003579eb8887541e4224465ce6eccd86589129e1b3efff24 SHA512 835434612ac2a7ff89fab4c4bed89644e43506491ce12d2b74ffdbc25b33f2ac9ae566c95e886d4b4f8bca6499c40be5f0d776b18bfdcebd44d7ffe3b89deb5f +DIST pgadmin4-4.8.tar.gz 22780924 BLAKE2B 7b64ef8ac3782e9c8207d5938f3638d67ddf5c86ca520afbfb296a824b39411362ca6e9d8b03920e35cca38d1303efe81750e5bfc849cfb363f370da3d25ac44 SHA512 68b35c1091435fbeb39e67c7f93038fcba95cd5ae7098434b5d3afee10595f875ef9fd997934f2bbd93c914bcd5c3c71bd43f032f788e55c5795f5ad63b57cd7 EBUILD pgadmin4-3.0.ebuild 3476 BLAKE2B 1427299d13b269089335cf02871105ff7c9b69773db6cd41cc3d6f6040de924d0f6d5d90435a527b7862c16c4f9b677d3c9e4cd05b52fad16ec7821bfc676d0d SHA512 4bf669d00e161f9ae4d852b215581e70c6487ac190123b15ea30a91eac922bbe0cf19ab10c05c1e4eaaf6efd9a3a6180738b27e664aa1567b5284b17281aa351 EBUILD pgadmin4-4.2-r1.ebuild 3548 BLAKE2B eb50e0ba9d541446afbf1a36ec8ecb7f53725a64fcb8e5d22e65483de3912864099084a795d7ea790998c83940e0fc4b7925004860f4b5fbdef485b41f83ab67 SHA512 2c4459777262f3a9a1a83e4b55948e0a7d65bf6f397de732b24ea1f97be0008304f9ca579690a8fd5224aa68e6710d363a3f2a765feb266ccc3ee34f59f424a9 EBUILD pgadmin4-4.3.ebuild 3547 BLAKE2B f75e42f1a35e8c838bdb8ff1deb27920992c27f629c63106580592c2d87e38285738eb2ac2be21a8f3e71150af96610b478e8cbf856ddce2eec4b1d85ea737c7 SHA512 2031f85c5c8a7f2a926d32b34d76c0e481e12e5c3d646c0d2f122224525d73a1c4bd8a9e5b6ee1c967db8a9508f06f611115a66de2fab85c8283fad545276492 EBUILD pgadmin4-4.5.ebuild 3548 BLAKE2B eb50e0ba9d541446afbf1a36ec8ecb7f53725a64fcb8e5d22e65483de3912864099084a795d7ea790998c83940e0fc4b7925004860f4b5fbdef485b41f83ab67 SHA512 2c4459777262f3a9a1a83e4b55948e0a7d65bf6f397de732b24ea1f97be0008304f9ca579690a8fd5224aa68e6710d363a3f2a765feb266ccc3ee34f59f424a9 +EBUILD pgadmin4-4.8.ebuild 3548 BLAKE2B eb50e0ba9d541446afbf1a36ec8ecb7f53725a64fcb8e5d22e65483de3912864099084a795d7ea790998c83940e0fc4b7925004860f4b5fbdef485b41f83ab67 SHA512 2c4459777262f3a9a1a83e4b55948e0a7d65bf6f397de732b24ea1f97be0008304f9ca579690a8fd5224aa68e6710d363a3f2a765feb266ccc3ee34f59f424a9 MISC metadata.xml 266 BLAKE2B 9d5988ab45f9939f9be5ee7f4b7a9950a3d62252aa0d3e6c953265467428c59fb8c05b2bb72085431b7aa9fc18d31f2b3273e8fdb33443d786b2237db697b7e2 SHA512 9f85990c7ce6a1de5c1067e4781af18bede2d3bd02963a7b2927766b70dbe98d3fb63bb01e19b1cf6e2b77038d9788bf38155b3cc33f9e5ff8430b10a4006325 diff --git a/dev-db/pgadmin4/pgadmin4-4.8.ebuild b/dev-db/pgadmin4/pgadmin4-4.8.ebuild new file mode 100644 index 000000000000..31cf045d0bf6 --- /dev/null +++ b/dev-db/pgadmin4/pgadmin4-4.8.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python3_{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/cryptography-2.2.2-r1[${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/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/phpmyadmin/Manifest b/dev-db/phpmyadmin/Manifest index d0ce5c1d8a71..e81c62655ecf 100644 --- a/dev-db/phpmyadmin/Manifest +++ b/dev-db/phpmyadmin/Manifest @@ -1,6 +1,6 @@ AUX postinstall-en-3.1.txt 1160 BLAKE2B 0aa21601490830f93a784c1a3c09b90986d606d0086b128b37d6598c946e9ebe43f575f12ca5ee571db8520841a2c08624b567b721567d26ee02e1e3c4c9124e SHA512 7b50ab9f9e3a828bd9bff600550ea97712c28804467ab5900a52710d4adb0581fe33155a965dd3956fcd36cc153b1a18a1f001d88ac52d70c8288faf695f01ec -DIST phpMyAdmin-4.8.3-all-languages.tar.xz 5996528 BLAKE2B cf00bab32547c5a6e8c81f529e5b074e3a7c576a7991d6823239172f91cebad7e1b10e2baee589043bf8a5d1d37470a7614a038a0054eaa18e74028bf3cecfd4 SHA512 95998eda6a2db9020671073c62458d819cbd5e54c5f56f467b109401f6b9ebd2dfbc34cc840980bf2d3a7ee3bc93683b7fe20d9bd72b537d8aa066d39089ff89 DIST phpMyAdmin-4.8.5-all-languages.tar.xz 6026176 BLAKE2B 6fea778544d266ea9950a5764a6c31806bfcc437edbfd190780218d841e55a21cd534fceef9309d2e1d6acbd8a780cb1d120aeb47e2e35705118ceb9d5ae1266 SHA512 590efd46f4ae5a9cafd3b33f3565d74e4bfd535e3de8763e72da7bccea06fabb2f9fb90af3fe144846573507c5eefc20ee412bf6b51adfb494402302dc81aa2f -EBUILD phpmyadmin-4.8.3-r1.ebuild 1558 BLAKE2B 841f68f731b7f0c0c21b718ce1ee7823c151ec936c3060c6e61e75181efa1bf4cdfea8619a1a93e89f9fb2c04d36cad759d6dea2d6ceaebc418be0b2270e7a15 SHA512 8eb64005bf20bb5740207fc3e217a5e68daa0c0eb28a48c518dfcccd211ebb9e5578433edc364bd13f8096e6e112afca34556b4bf5f408d813e3938e6d2aa5a4 -EBUILD phpmyadmin-4.8.5.ebuild 1560 BLAKE2B 578f9eeaf9c721edb9117199515234794790219cb75eb18cf0ce88b81d73c6629828e6af8678ce44de301c241970a041483827e3585999a375d20e022bed7176 SHA512 22dd14222c6c7297197fe0412d03a33f53ae05eb608272dded9a3e9006ae2b41710be2bb2e4fa3a2ccc0c3a5863e53e40dba9698f6fcf16f6246a0bb3836dc80 +DIST phpMyAdmin-4.9.0.1-all-languages.tar.xz 6066680 BLAKE2B fc949684e97bef1be832968a9c0a3a893e0a81d7984953e694f41ff15deb82bffe3116ff7ec3c832bf2cfd4e24cefec4ce703baa9404bc0740b7231480165a4f SHA512 92fc032ba44e84f6c6a62bb658c2c7ea984bfd8c963b18bf19c26c3991cfe635771376ad8aebf90140bb1bd723b62a5adaca35d88f7bb68169fd0d07c3995356 +EBUILD phpmyadmin-4.8.5.ebuild 1558 BLAKE2B 5058ee85e899e6ab6ab8e7b98f7c8f2f22ab2467ccf110aa460b36624c767c3077a450ecfd854e6af6701d78770ddc5a754e7bb4d5660d0055d70091f8f8cf57 SHA512 b4d91d971cce9d4faa672eb76bcf0b465d2d1f86fec478215fffae22c55a30743567d621018de697d4c1e07650c9f575ac96b06f56382806be292e4a37ec105c +EBUILD phpmyadmin-4.9.0.1.ebuild 1564 BLAKE2B 1b62fb393cd9c248fae68ee72ec9e9172f3ffbd386c11e5ebe87cb00155bf2b38b92746f6a6a6568525e01dec80f4116a7b0c784a00f2cafa1955555ab8cd62b SHA512 0545942949e94db25359418a96ca50c640357e149b030fba0a12d9577bf6612cabb1b03371f41f9e7bfe614cd0b07e79767a259dd11070bbdd9a3e1cfc994266 MISC metadata.xml 701 BLAKE2B aef0a047bca31221714bf27203bd720863c5cef6b7b4dd72b441761a0638bca38c03610e65b3819ca0fba6577973908d7ca40ec8baa3aac1255d19b7cfa9f0a7 SHA512 6dcb099779cd0db4928ee812c81fee762612846044e6ee3df3b661a2dce6aed01420d0bc1301c8ff9d763fb8aeaeef3290a7889b32705fc48e8c392aa8b8ca82 diff --git a/dev-db/phpmyadmin/phpmyadmin-4.8.5.ebuild b/dev-db/phpmyadmin/phpmyadmin-4.8.5.ebuild index 74ee3abba417..43eb70035434 100644 --- a/dev-db/phpmyadmin/phpmyadmin-4.8.5.ebuild +++ b/dev-db/phpmyadmin/phpmyadmin-4.8.5.ebuild @@ -14,7 +14,7 @@ HOMEPAGE="https://www.phpmyadmin.net/" SRC_URI="https://files.phpmyadmin.net/${MY_PN}/${MY_PV}/${MY_P}.tar.xz" LICENSE="GPL-2" -KEYWORDS="alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 sparc x86 ~x86-fbsd ~ppc-macos ~x64-macos ~x86-macos" +KEYWORDS="alpha amd64 ~arm ~hppa ~ia64 ppc ppc64 sparc x86 ~x86-fbsd ~ppc-macos ~x64-macos ~x86-macos" IUSE="setup" RDEPEND=" diff --git a/dev-db/phpmyadmin/phpmyadmin-4.8.3-r1.ebuild b/dev-db/phpmyadmin/phpmyadmin-4.9.0.1.ebuild index 044f2857fe2c..b0e6be3d92ed 100644 --- a/dev-db/phpmyadmin/phpmyadmin-4.8.3-r1.ebuild +++ b/dev-db/phpmyadmin/phpmyadmin-4.9.0.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Authors +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -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 851aac982aa8..d5cf1114a789 100644 --- a/dev-db/postgresql/Manifest +++ b/dev-db/postgresql/Manifest @@ -29,20 +29,26 @@ DIST postgresql-9.6.12.tar.bz2 18759442 BLAKE2B 067b307318f65616651ee4502f420a84 DIST postgresql-9.6.13.tar.bz2 18767279 BLAKE2B c1ec780a7f938f878425cbd6556145e60a613135129daaacc52e9a699cc448a22481b01fac20d0c09373ea6a026f39bc58234aae4f1126333b94f621981a8135 SHA512 65cc70410ad4a1a738b92855b92eecdbb9efbbca0eb9a45a138d47b696c8f9c9cd19073fbfdf5c80eea7633d0be29b4ed8acbadd38724acf8f18c90bb30f9b26 EBUILD postgresql-10.6.ebuild 13809 BLAKE2B 8d423f5493ffd745207a96fc9e2c39dfd875c87711b89efc500700986afee687fce8df9612493f3d1c665d5eb819b438e89c225889d354bb3b5b04b57d97320f SHA512 b63ecae0488fc4527c525dd7134af9dea2862128829a9f0670c5924582b8820b9d2f2a9262de56e28f0f996191dcc898ee692f629b40f4988b41982441294dde EBUILD postgresql-10.7.ebuild 13811 BLAKE2B fe7a6df33550d3212db168c3e194a122e54e2f46c76f2cb77b52cf91865d2bea6631172c5f7579fd700986925ef9bbc31ef65fdb29ff0361b638577c068cadc1 SHA512 bb742bd0323ea763a9b213ea5331882969554949ab386b9cc8c5a70b8a94261d8c792027e779a9d1306c632b240d20261c5c363a66f3fb511b089319145e3736 -EBUILD postgresql-10.8.ebuild 13812 BLAKE2B 7ef2622f933b20f3b31bb87768ca5dd52dd5b3574399c660a68bca5f89573e9c13ada65a1328733895a84f9413d71660a3bc1d1b4155c5edc23026ec66ce3304 SHA512 ad7639e57f7bdc75d11d879c05351c5dccb9c008ea271cfa067d699487ba82a3499f42ab3bb1b1b9be670e23d248723b56b75cffb6e9df7abceb2f06e5e559da +EBUILD postgresql-10.8-r1.ebuild 13936 BLAKE2B f5e02688e7d569e8905f3501b8d2d6842130dbea5becad4e6cd073b7785f20c8ac26b0fc91ef3ceac5d480c4774ed1002124d0e44a881e994b6f494181330c3e SHA512 39ef59111f296500dac0f5ce88cdf8e51d446e11256ab6a6be01657935b7285159447e368a32fb05c60c6d67ac65674da1ceeb432ad645b0a3d8406b3d34d309 +EBUILD postgresql-10.8.ebuild 13810 BLAKE2B e3b025a7f14507f725d9d0d86a55ef8610fca02af11580a905f85f94b0474634035927c469c3561831697de42ad78f003e5eabd4f87a319c8dcd901718f918c7 SHA512 6a3532cfd342c34ce4b9e07bc2a61f7f639f373a86670ce6d1839e5c1ad21ef05c01f8ddf59a17d187a303390f5b89c49a3a27f9002e75424d4804cc37126bbc EBUILD postgresql-11.1.ebuild 13830 BLAKE2B eda10e9ae1ce6404cf75b1c1cdff44638fcfd2e73f0584012e7c3b62d467f3149645fd9c561d6b584cbb826f1f982378acb3a1903bec07334d80d291ee91af56 SHA512 703b35c39a4c0421bddd625ab83ee032174b5cc0944dc709fb22a591ccc4d1d8bb8e1acbe6ed288e0f0448c0529201b6f5061fa62d42bf0b25147c901a4029c6 EBUILD postgresql-11.2.ebuild 13831 BLAKE2B e56079a7e2f0492e5c3889a4b7c5f21b70c33f4b20329ecf84bae8e5a7cb2b2d0defb962b2802de881604291da7f7ab0c1517773e64f5c2fc948f1ec23986e8f SHA512 c585f3dbcba20b1fc20cad583e9a763cc6f8170c91825e10eb23ee568a25db62d8c0d20363383c6ff8c21abb8ec95e188daed5907c1d36489d253cb71c863fd5 -EBUILD postgresql-11.3.ebuild 13833 BLAKE2B 586239f6b3cdb4bd37ca6984e6736ec78717d936a276d8921a25ab3e9af0722871332f34cbcc114fd46db05ed0a2ec35b8e303ba5fac6f8149d375d97197283f SHA512 e3fbedd37960ee810e93cea7221c2f9dd08c794030657fac313488931a894dc22d28590f9afb3c9e32c482fb5970dafb26334cb24dcf4870d76f03266588cb62 +EBUILD postgresql-11.3-r1.ebuild 14063 BLAKE2B a69f06a1568db9dab996ced9b678c73f45d93225ccda020748e1cd982369cf65b9df5a112a0e15cdbce03fdbc4e5e72b1f76c86f0112259eef79c8a57fea1201 SHA512 2e1cb50782816e9aa9acf4ee2fbc9e4e9b1ebbd56b1cb66301ab27766be200ab76d185c1e074108cf96465dd346ede4559a0b0606c68d5d2fcaa96addc921352 +EBUILD postgresql-11.3.ebuild 13831 BLAKE2B 8942b2fa3b40d9fcf79398a3248316cf9fe78c4d178a087b5495f617706862cb46e57fc89008e9064ce2e74f27a4cf30815f0c69020e54bdb007acfb2a460363 SHA512 1bfe889ca4c8abafaf0551bbddab2080c78bec93e67307c3d6d615b9a785ec18c16d35d23ad54a50fa8aa59137c5d8a6c761de539b0018aa2bf1354e9e8d3d30 +EBUILD postgresql-12_beta1-r1.ebuild 14063 BLAKE2B a69f06a1568db9dab996ced9b678c73f45d93225ccda020748e1cd982369cf65b9df5a112a0e15cdbce03fdbc4e5e72b1f76c86f0112259eef79c8a57fea1201 SHA512 2e1cb50782816e9aa9acf4ee2fbc9e4e9b1ebbd56b1cb66301ab27766be200ab76d185c1e074108cf96465dd346ede4559a0b0606c68d5d2fcaa96addc921352 EBUILD postgresql-12_beta1.ebuild 13816 BLAKE2B 3d9ad621a0c4423334268b5d11f3959ad0d89e030bd164582ca784a9ec0c762acd36e500d7debaa82e232bbbc4fa3aae9a55499c8434111420ab089679f3abaf SHA512 ee7cc2f53f650b4679e95b9a112253589f3cd05bad47f8a3d4a9bfdcd29ff0d72614a7b645f617e60db827a9eafe0bc2e070454e7641948470ed9833863524e5 EBUILD postgresql-9.3.25.ebuild 13558 BLAKE2B 336b83681269f6c8254a5cbf9177451ff3681d76316b63a365d91f4f03c37aa9b34f1043161a1ea389c74b745012744d2df16ad5285b501552c896033461dbcc SHA512 9998f7d66b38f3b8e060d089757790cb5bb5f479cf4997238324322c1d23bf48584d2ff4dfff8b3c6c3a709a4c12def05fff3584eadcd028f91eeeb4eed72e91 EBUILD postgresql-9.4.20.ebuild 14368 BLAKE2B 2c6b46d98d0cb9f9b4e2063d86b7b1b353c3edffc5386c3f1225dde7430633e539714d98b8ec179b13a612dbbd2cb8a32b2aa321a4cf60e74e64c6b793a1a711 SHA512 6de69907fce6835510de53a961d54cc2dc7e0464d48115c29195d3384ba7447ba472d6b89946545c02b4f42cc2e778f4dbdee75728d212ffc651f75076f59ceb EBUILD postgresql-9.4.21.ebuild 14369 BLAKE2B 32c03b7b3e2b71cc4e347a451d2ab814ed01a51ac7d7324b023123b045847e51a54a3190d5d54903b573516e18031ab9ea119979b785269a2ddf8d694ab76433 SHA512 c8fa0a053847fbd78e928be1d8789cf336ca5c2b067bb01d5cb245560ff5dbbf44e01b5dd34e11d878150d64a76bb1d58aae5e99dc5aca1f7c00d7dc87dd5df3 -EBUILD postgresql-9.4.22.ebuild 14370 BLAKE2B fb8188dd31061cf24b8e5408acf34f3158e8ef2ac5591173a3ea4ca709b78e5ab7c287a21a162d06cea38939dacea718fa1cae7b1fbae5ad184aa75451457215 SHA512 b5cf47eb16022ec78584ecf19883de572939994edef56098a77eae08a371a7afee8c3c7809d706d67e4dfc31b9fca1ee603396fbf8df883a64131693d08bb6c5 +EBUILD postgresql-9.4.22-r1.ebuild 14532 BLAKE2B 93742f760ff30542947bb3d9ad51108b545152dce34a4082a0c90c57a0d18612c98b07ffae9ba40ec46741eeb561f7ff80ba344dc2fb9e1fb373c496f5e0e74e SHA512 94c63fba357b837d877d60bc0b6fba33af18de0fda8bda7a39ecfe47490ef4e4d93c4111c3e647b978e3af7dcb53974144f38ce8ce1ad5da88c00aa67fd8e912 +EBUILD postgresql-9.4.22.ebuild 14368 BLAKE2B 2c6b46d98d0cb9f9b4e2063d86b7b1b353c3edffc5386c3f1225dde7430633e539714d98b8ec179b13a612dbbd2cb8a32b2aa321a4cf60e74e64c6b793a1a711 SHA512 6de69907fce6835510de53a961d54cc2dc7e0464d48115c29195d3384ba7447ba472d6b89946545c02b4f42cc2e778f4dbdee75728d212ffc651f75076f59ceb EBUILD postgresql-9.5.15.ebuild 14596 BLAKE2B f12b4c612d4360b93f363fdd0a7eda9285db0122a7e663bd7bec8222289e2a2da0bfdaaff9ed2398a154976cf1f13cd9e2e717b23accc7e528f76565942a5976 SHA512 9e9a7aa496a65e036d1fd4528cbfb06f5014059dd96b581ebee38f3a3e65faefad222cb5f2e54dc95b640a89f362275ce0f3d942a092ceeef50973f2937686fa EBUILD postgresql-9.5.16.ebuild 14597 BLAKE2B 6767d2163fa8dc5435c2271e3b8efbea3b57cc1d2d2d3c0884fef6fc3d750758cc045f4f423699de8fa89ea4570e0ca445b3da7285ad3669faea7f799e31a72b SHA512 8ec5f2768290b43119e472fccc5951832772a137eebb056c57bbd9c25565ef004095aa2a0ed9c03df90f3ea1faf9d26a5ec9ffd6d5c82d31826fd1052a90605f -EBUILD postgresql-9.5.17.ebuild 14598 BLAKE2B 639a31ad1d730abc71b06a692e3d6071944306217ffaeed4c232113f47b0517f4605ef19a241e0b6fda03b24f453268b618a58101bfb3c4d5eead56b3d4097e5 SHA512 5b3c4c2d46464029eb2fe4f5d5ff41186ff77f0e5047f9e40a1dc72457e2d23da1c42e9153afa828126a9771f9dd0caa51ee398a68ddd70c50d5ef77f4c14e17 +EBUILD postgresql-9.5.17-r1.ebuild 14760 BLAKE2B 14562ac30db311132b4317c548d92c3d0006a19174e9b33a9a01099ddbb0e6d6389478fe021828c0a733141e1442098a848a11180ec3a3a2bc17baa032e24db6 SHA512 b14450932342e323cfcca615a165f4a4c83cd34b047edc70ca201d9460fee0c6603f0980fcdf736a0db86bdf5c75f0cfc39ef9c8956edb69e3671c399b8556e1 +EBUILD postgresql-9.5.17.ebuild 14596 BLAKE2B f12b4c612d4360b93f363fdd0a7eda9285db0122a7e663bd7bec8222289e2a2da0bfdaaff9ed2398a154976cf1f13cd9e2e717b23accc7e528f76565942a5976 SHA512 9e9a7aa496a65e036d1fd4528cbfb06f5014059dd96b581ebee38f3a3e65faefad222cb5f2e54dc95b640a89f362275ce0f3d942a092ceeef50973f2937686fa EBUILD postgresql-9.6.11.ebuild 14829 BLAKE2B fffb2f1e956b93a561d289f657cf678f4e414e21787c73d1ebddf7182aba7b8374307e878841edb25de82feb866f88d79b89ed115bb4d916b8ed929c1a30b5d1 SHA512 c8c70732f1390285906e45cbce8afa3e3435814210c53e092bc0c2fa9f0ebe8d86b3f782e6eaed989a4c2a9a766a158232623e203e2d4917cfa95a05ab88d213 EBUILD postgresql-9.6.12.ebuild 14830 BLAKE2B 700d0b13f1ff5f35185a9413a1a030c6e3b8c8822ab4c465c3d212a6aaef34f0bc9dd62d4bd6d7d63e410a1927c3c5ccd08c39e3e27abf5ecf0b79fe7a9951f4 SHA512 7e2e661e9981443317704f38227476da0860904234104e5cc1f126acb93acd07cac655fce2d9eb2f7756699874e6afe037fce93ba2d57fda0ec2180bc8362d29 -EBUILD postgresql-9.6.13.ebuild 14831 BLAKE2B ab7f08b9207114faa35201c90ae1767108de19907a0c6163cf278f7ee89d24b008e25b63e3fae4fca58a50a3f5d059b8edd960fe6ab641c8d65d6ae81e927904 SHA512 273bd355784f2e1fa7474e74a85414f2fd5bd73bf4f58a82f60f00b15eacb5bb421073196359dbae9035061b327e91eb9c8fc796212a0a4cfa8dea72a87e1716 -EBUILD postgresql-9999.ebuild 14257 BLAKE2B da2d4497d150a674c6134eb73e607e428e223e3a49cec79910ce0165b532a76ed540693708297ca7cd8196ddfbad1d82612665361af9de1022ed4fd9587275c4 SHA512 4b299249169603e125704e1675370d2d1cf4f5b5109ca7be1eac73da914519e7bd0e49f94e0e4d891f637aaa797a4529480f1772d1c539d8e7cd80b13de4169b +EBUILD postgresql-9.6.13-r1.ebuild 14993 BLAKE2B e62949c713914f8fd68fab5e70c66695c092c8c28b9d6c51a9e853c294281a017c15541e4fe1c879a2bd4997b7ae4a2cdc233fa55ab735ae27049bca3ead1113 SHA512 f3d6093665243f2c95f89bc20d84275c16d194eb7d5108fce5d4f8ba72b4224bf5ef43d6157db4489198bda6c3b9c401e51768877618521f1029c13ecbe0d24f +EBUILD postgresql-9.6.13.ebuild 14829 BLAKE2B fffb2f1e956b93a561d289f657cf678f4e414e21787c73d1ebddf7182aba7b8374307e878841edb25de82feb866f88d79b89ed115bb4d916b8ed929c1a30b5d1 SHA512 c8c70732f1390285906e45cbce8afa3e3435814210c53e092bc0c2fa9f0ebe8d86b3f782e6eaed989a4c2a9a766a158232623e203e2d4917cfa95a05ab88d213 +EBUILD postgresql-9999.ebuild 14485 BLAKE2B 386379214652708fc23727970999371b77804bd9a0a13dcbdcd94e6f8a0d5b30b3657063884177a0f903f88845f2fd202bf6b05e1fb51fd82c6aa5bdc3d290e2 SHA512 4173d20a00da315d9bb15a32474f202edfb0580494fd37501e8a9c5f61ae334421ad092da408783690557621ca95455baa7d5e22436973c723c5de6f9d79e286 MISC metadata.xml 715 BLAKE2B 59ad51ae06a697fe649054d9fe13040423f425b95abdcf3797e1d0d5abba8c62d54cc8c1afb0be0d0a29d1a39d379912bd931925b5df480fb0bb9b238c36e598 SHA512 03027757eaf95313a6825710b1054a9671aa8396381789397006dfe2f66cd41e85cde418e792bf7d71d7db2413905816ff39685774219c1ea5e8b8d35c5cffd0 diff --git a/dev-db/postgresql/postgresql-10.8-r1.ebuild b/dev-db/postgresql/postgresql-10.8-r1.ebuild new file mode 100644 index 000000000000..88115ec2c2a7 --- /dev/null +++ b/dev-db/postgresql/postgresql-10.8-r1.ebuild @@ -0,0 +1,466 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 python3_{5,6,7} ) + +PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN + zh_TW" + +inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ + systemd user + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris" + +SLOT=$(ver_cut 1) + +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="debug doc icu kerberos kernel_linux ldap libressl nls pam perl + python +readline selinux +server systemd ssl static-libs tcl + threads uuid xml zlib" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +sys-apps/less +virtual/libintl +icu? ( dev-libs/icu:= ) +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 debug) \ + $(use_enable threads thread-safety) \ + $(use_with icu) \ + $(use_with kerberos gssapi) \ + $(use_with ldap) \ + $(use_with pam) \ + $(use_with perl) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with ssl openssl) \ + $(usex server "$(use_with systemd)" '--without-systemd') \ + $(use_with tcl) \ + ${uuid_config} \ + $(use_with xml libxml) \ + $(use_with xml libxslt) \ + $(use_with zlib) \ + $(use_enable nls 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 + + # Don't delete libpg{port,common}.a (Bug #571046). They're always + # needed by extensions utilizing PGXS. + use static-libs || \ + find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \ + -delete + + # Make slot specific links to programs + local f bn + for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ + -mindepth 1 -maxdepth 1) + do + bn=$(basename "${f}") + dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ + "/usr/bin/${bn}${SLOT/.}" + done + + if use doc ; then + docinto html + dodoc doc/src/sgml/html/* + fi + + if use server; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} + + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT} + + if use systemd; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.service-9.6-r1" | \ + systemd_newunit - ${PN}-${SLOT}.service + newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir + systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf + fi + + use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session + + if use prefix ; then + keepdir /run/postgresql + fperms 1775 /run/postgresql + fi + fi +} + +pkg_postinst() { + use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf + postgresql-config update + + elog "If you need a global psqlrc-file, you can place it in:" + elog " ${EROOT%/}/etc/postgresql-${SLOT}/" + + if use server ; then + elog + elog "Gentoo specific documentation:" + elog "https://wiki.gentoo.org/wiki/PostgreSQL" + elog + elog "Official documentation:" + elog "https://www.postgresql.org/docs/${SLOT}/static/index.html" + elog + elog "The default location of the Unix-domain socket is:" + elog " ${EROOT%/}/run/postgresql/" + elog + elog "Before initializing the database, you may want to edit PG_INITDB_OPTS" + elog "so that it contains your preferred locale in:" + elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + elog + elog "Then, execute the following command to setup the initial database" + elog "environment:" + elog " emerge --config =${CATEGORY}/${PF}" + + if [[ -n ${REPLACING_VERSIONS} ]] ; then + ewarn "If your system is using 'pg_stat_statements' and you are running a" + ewarn "version of PostgreSQL ${SLOT}, we advise that you execute" + ewarn "the following command after upgrading:" + ewarn + ewarn "ALTER EXTENSION pg_stat_statements UPDATE;" + fi + fi +} + +pkg_prerm() { + if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then + ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?" + ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL" + + ebegin "Resuming removal in 10 seconds (Control-C to cancel)" + sleep 10 + eend 0 + fi +} + +pkg_postrm() { + postgresql-config update +} + +pkg_config() { + use server || die "USE flag 'server' not enabled. Nothing to configure." + + [[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \ + && source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + [[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/" + [[ -z "${DATA_DIR}" ]] \ + && DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data" + + # environment.bz2 may not contain the same locale as the current system + # locale. Unset and source from the current system locale. + if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then + unset LANG + unset LC_CTYPE + unset LC_NUMERIC + unset LC_TIME + unset LC_COLLATE + unset LC_MONETARY + unset LC_MESSAGES + unset LC_ALL + source "${EROOT%/}/etc/env.d/02locale" + [ -n "${LANG}" ] && export LANG + [ -n "${LC_CTYPE}" ] && export LC_CTYPE + [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC + [ -n "${LC_TIME}" ] && export LC_TIME + [ -n "${LC_COLLATE}" ] && export LC_COLLATE + [ -n "${LC_MONETARY}" ] && export LC_MONETARY + [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES + [ -n "${LC_ALL}" ] && export LC_ALL + fi + + einfo "You can modify the paths and options passed to initdb by editing:" + einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + einfo + einfo "Information on options that can be passed to initdb are found at:" + einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html" + einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html" + einfo + einfo "PG_INITDB_OPTS is currently set to:" + if [[ -z "${PG_INITDB_OPTS}" ]] ; then + einfo " (none)" + else + einfo " ${PG_INITDB_OPTS}" + fi + einfo + einfo "Configuration files will be installed to:" + einfo " ${PGDATA}" + einfo + einfo "The database cluster will be created in:" + einfo " ${DATA_DIR}" + einfo + + ebegin "Continuing initialization in 5 seconds (Control-C to cancel)" + sleep 5 + eend 0 + + if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then + eerror "The given directory, '${DATA_DIR}', is not empty." + eerror "Modify DATA_DIR to point to an empty directory." + die "${DATA_DIR} is not empty." + fi + + einfo "Creating the data directory ..." + if [[ ${EUID} == 0 ]] ; then + mkdir -p "${DATA_DIR}" + chown -Rf postgres:postgres "${DATA_DIR}" + chmod 0700 "${DATA_DIR}" + fi + + einfo "Initializing the database ..." + + if [[ ${EUID} == 0 ]] ; then + su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}" + else + "${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS} + fi + + if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then + mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}" + ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}" + fi + + # unix_socket_directory has no effect in postgresql.conf as it's + # overridden in the initscript + sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf + + cat <<- EOF >> "${PGDATA%/}"/postgresql.conf + # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522 + # On the off-chance that you might need to work with UTF-8 encoded + # characters in PL/Perl + plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";' + EOF + + einfo "The autovacuum function, which was in contrib, has been moved to the main" + einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled" + einfo "by default. You can disable it in the cluster's:" + einfo " ${PGDATA%/}/postgresql.conf" + einfo + if ! use systemd; then + einfo "The PostgreSQL server, by default, will log events to:" + einfo " ${DATA_DIR%/}/postmaster.log" + einfo + fi + if use prefix ; then + einfo "The location of the configuration files have moved to:" + einfo " ${PGDATA}" + einfo "To start the server:" + einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'" + einfo "To stop:" + einfo " pg_ctl stop -D ${DATA_DIR}" + einfo + einfo "Or move the configuration files back:" + einfo "mv ${PGDATA}*.conf ${DATA_DIR}" + elif use systemd; then + einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL" + einfo "instead of 'pg_ctl'." + else + einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL" + einfo "instead of 'pg_ctl'." + fi +} + +src_test() { + if use server && [[ ${UID} -ne 0 ]] ; then + emake check + + einfo "If you think other tests besides the regression tests are necessary, please" + einfo "submit a bug including a patch for this ebuild to enable them." + else + use server || \ + ewarn 'Tests cannot be run without the "server" use flag enabled.' + [[ ${UID} -eq 0 ]] || \ + ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.' + + ewarn 'Skipping.' + fi +} diff --git a/dev-db/postgresql/postgresql-10.8.ebuild b/dev-db/postgresql/postgresql-10.8.ebuild index 260642e26385..339ca64ec765 100644 --- a/dev-db/postgresql/postgresql-10.8.ebuild +++ b/dev-db/postgresql/postgresql-10.8.ebuild @@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ systemd user versionator -KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris" +KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris" SLOT=$(get_major_version) diff --git a/dev-db/postgresql/postgresql-11.3-r1.ebuild b/dev-db/postgresql/postgresql-11.3-r1.ebuild new file mode 100644 index 000000000000..b55fe07666c3 --- /dev/null +++ b/dev-db/postgresql/postgresql-11.3-r1.ebuild @@ -0,0 +1,468 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 python3_{5,6,7} ) + +PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN + zh_TW" + +inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ + systemd user + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +SLOT=$(ver_cut 1) + +MY_PV=${PV/_/} +S="${WORKDIR}/${PN}-${MY_PV}" + +SRC_URI="mirror://postgresql/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2" + +LICENSE="POSTGRESQL GPL-2" +DESCRIPTION="PostgreSQL RDBMS" +HOMEPAGE="http://www.postgresql.org/" + +IUSE="debug doc icu kerberos kernel_linux ldap libressl llvm nls pam + perl python +readline selinux +server systemd ssl static-libs tcl + threads uuid xml zlib" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +sys-apps/less +virtual/libintl +icu? ( dev-libs/icu:= ) +kerberos? ( virtual/krb5 ) +ldap? ( net-nds/openldap ) +llvm? ( + sys-devel/llvm:= + sys-devel/clang:= +) +pam? ( virtual/pam ) +perl? ( >=dev-lang/perl-5.8:= ) +python? ( ${PYTHON_DEPS} ) +readline? ( sys-libs/readline:0= ) +server? ( systemd? ( sys-apps/systemd ) ) +ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= ) + libressl? ( dev-libs/libressl:= ) +) +tcl? ( >=dev-lang/tcl-8:0= ) +xml? ( dev-libs/libxml2 dev-libs/libxslt ) +zlib? ( sys-libs/zlib ) +" + +# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no +# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems, +# the libc includes UUID functions. +UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} ) +BSD_LIBC=( elibc_{Free,Net,Open}BSD ) + +nest_usedep() { + local front back + while [[ ${#} -gt 1 ]]; do + front+="${1}? ( " + back+=" )" + shift + done + echo "${front}${1}${back}" +} + +IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}" +CDEPEND+=" +uuid? ( + ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )} + $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid) +)" + +DEPEND="${CDEPEND} +!!<sys-apps/sandbox-2.0 +sys-devel/bison +sys-devel/flex +nls? ( sys-devel/gettext ) +xml? ( virtual/pkgconfig ) +" + +RDEPEND="${CDEPEND} +!dev-db/postgresql-docs:${SLOT} +!dev-db/postgresql-base:${SLOT} +!dev-db/postgresql-server:${SLOT} +selinux? ( sec-policy/selinux-postgresql ) +" + +pkg_setup() { + use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup + + enewgroup postgres 70 + enewuser postgres 70 /bin/sh /var/lib/postgresql postgres + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # Set proper run directory + sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \ + -i src/include/pg_config_manual.h || die + + # Rely on $PATH being in the proper order so that the correct + # install program is used for modules utilizing PGXS in both + # hardened and non-hardened environments. (Bug #528786) + sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die + + use server || eapply "${FILESDIR}/${PN}-11_beta1-no-server.patch" + + if use pam ; then + sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \ + -i src/backend/libpq/auth.c || \ + die 'PGSQL_PAM_SERVICE rename failed.' + fi + + eapply_user +} + +src_configure() { + case ${CHOST} in + *-darwin*|*-solaris*) + use nls && append-libs intl + ;; + esac + + export LDFLAGS_SL="${LDFLAGS}" + export LDFLAGS_EX="${LDFLAGS}" + + local PO="${EPREFIX%/}" + + local i uuid_config="" + if use uuid; then + for i in ${UTIL_LINUX_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=e2fs" + done + for i in ${BSD_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=bsd" + done + [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp" + fi + + econf \ + --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \ + --datadir="${PO}/usr/share/postgresql-${SLOT}" \ + --docdir="${PO}/usr/share/doc/${PF}" \ + --includedir="${PO}/usr/include/postgresql-${SLOT}" \ + --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \ + --sysconfdir="${PO}/etc/postgresql-${SLOT}" \ + --with-system-tzdata="${PO}/usr/share/zoneinfo" \ + $(use_enable !alpha spinlocks) \ + $(use_enable debug) \ + $(use_enable threads thread-safety) \ + $(use_with icu) \ + $(use_with kerberos gssapi) \ + $(use_with ldap) \ + $(use_with llvm) \ + $(use_with pam) \ + $(use_with perl) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with ssl openssl) \ + $(usex server "$(use_with systemd)" '--without-systemd') \ + $(use_with tcl) \ + ${uuid_config} \ + $(use_with xml libxml) \ + $(use_with xml libxslt) \ + $(use_with zlib) \ + $(use_enable nls 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 + + # Don't delete libpg{port,common}.a (Bug #571046). They're always + # needed by extensions utilizing PGXS. + use static-libs || \ + find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \ + -delete + + # Make slot specific links to programs + local f bn + for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ + -mindepth 1 -maxdepth 1) + do + bn=$(basename "${f}") + dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ + "/usr/bin/${bn}${SLOT/.}" + done + + if use doc ; then + docinto html + dodoc doc/src/sgml/html/* + fi + + if use server; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} + + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT} + + if use systemd; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.service-9.6-r1" | \ + systemd_newunit - ${PN}-${SLOT}.service + newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir + systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf + fi + + use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session + + if use prefix ; then + keepdir /run/postgresql + fperms 1775 /run/postgresql + fi + fi +} + +pkg_postinst() { + use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf + postgresql-config update + + elog "If you need a global psqlrc-file, you can place it in:" + elog " ${EROOT%/}/etc/postgresql-${SLOT}/" + + if use server ; then + elog + elog "Gentoo specific documentation:" + elog "https://wiki.gentoo.org/wiki/PostgreSQL" + elog + elog "Official documentation:" + elog "http://www.postgresql.org/docs/${SLOT}/static/index.html" + elog + elog "The default location of the Unix-domain socket is:" + elog " ${EROOT%/}/run/postgresql/" + elog + elog "Before initializing the database, you may want to edit PG_INITDB_OPTS" + elog "so that it contains your preferred locale in:" + elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + elog + elog "Then, execute the following command to setup the initial database" + elog "environment:" + elog " emerge --config =${CATEGORY}/${PF}" + + 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 " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html" + einfo " http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html" + einfo + einfo "PG_INITDB_OPTS is currently set to:" + if [[ -z "${PG_INITDB_OPTS}" ]] ; then + einfo " (none)" + else + einfo " ${PG_INITDB_OPTS}" + fi + einfo + einfo "Configuration files will be installed to:" + einfo " ${PGDATA}" + einfo + einfo "The database cluster will be created in:" + einfo " ${DATA_DIR}" + einfo + + ebegin "Continuing initialization in 5 seconds (Control-C to cancel)" + sleep 5 + eend 0 + + if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then + eerror "The given directory, '${DATA_DIR}', is not empty." + eerror "Modify DATA_DIR to point to an empty directory." + die "${DATA_DIR} is not empty." + fi + + einfo "Creating the data directory ..." + if [[ ${EUID} == 0 ]] ; then + mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs" + mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR" + chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown" + fi + + einfo "Initializing the database ..." + + if [[ ${EUID} == 0 ]] ; then + su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}" + else + "${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS} + fi + + if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then + mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}" + ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}" + fi + + # unix_socket_directory has no effect in postgresql.conf as it's + # overridden in the initscript + sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf + + cat <<- EOF >> "${PGDATA%/}"/postgresql.conf + # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522 + # On the off-chance that you might need to work with UTF-8 encoded + # characters in PL/Perl + plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";' + EOF + + einfo "The autovacuum function, which was in contrib, has been moved to the main" + einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled" + einfo "by default. You can disable it in the cluster's:" + einfo " ${PGDATA%/}/postgresql.conf" + einfo + if ! use systemd; then + einfo "The PostgreSQL server, by default, will log events to:" + einfo " ${DATA_DIR%/}/postmaster.log" + einfo + fi + if use prefix ; then + einfo "The location of the configuration files have moved to:" + einfo " ${PGDATA}" + einfo "To start the server:" + einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'" + einfo "To stop:" + einfo " pg_ctl stop -D ${DATA_DIR}" + einfo + einfo "Or move the configuration files back:" + einfo "mv ${PGDATA}*.conf ${DATA_DIR}" + elif use systemd; then + einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL" + einfo "instead of 'pg_ctl'." + else + einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL" + einfo "instead of 'pg_ctl'." + fi +} + +src_test() { + if use server && [[ ${UID} -ne 0 ]] ; then + emake check + + einfo "If you think other tests besides the regression tests are necessary, please" + einfo "submit a bug including a patch for this ebuild to enable them." + else + use server || \ + ewarn 'Tests cannot be run without the "server" use flag enabled.' + [[ ${UID} -eq 0 ]] || \ + ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.' + + ewarn 'Skipping.' + fi +} diff --git a/dev-db/postgresql/postgresql-11.3.ebuild b/dev-db/postgresql/postgresql-11.3.ebuild index 7f38e0a3f32a..4b7ed639724d 100644 --- a/dev-db/postgresql/postgresql-11.3.ebuild +++ b/dev-db/postgresql/postgresql-11.3.ebuild @@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ systemd user versionator -KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" SLOT=$(get_major_version) diff --git a/dev-db/postgresql/postgresql-12_beta1-r1.ebuild b/dev-db/postgresql/postgresql-12_beta1-r1.ebuild new file mode 100644 index 000000000000..b55fe07666c3 --- /dev/null +++ b/dev-db/postgresql/postgresql-12_beta1-r1.ebuild @@ -0,0 +1,468 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 python3_{5,6,7} ) + +PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN + zh_TW" + +inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ + systemd user + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +SLOT=$(ver_cut 1) + +MY_PV=${PV/_/} +S="${WORKDIR}/${PN}-${MY_PV}" + +SRC_URI="mirror://postgresql/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2" + +LICENSE="POSTGRESQL GPL-2" +DESCRIPTION="PostgreSQL RDBMS" +HOMEPAGE="http://www.postgresql.org/" + +IUSE="debug doc icu kerberos kernel_linux ldap libressl llvm nls pam + perl python +readline selinux +server systemd ssl static-libs tcl + threads uuid xml zlib" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +sys-apps/less +virtual/libintl +icu? ( dev-libs/icu:= ) +kerberos? ( virtual/krb5 ) +ldap? ( net-nds/openldap ) +llvm? ( + sys-devel/llvm:= + sys-devel/clang:= +) +pam? ( virtual/pam ) +perl? ( >=dev-lang/perl-5.8:= ) +python? ( ${PYTHON_DEPS} ) +readline? ( sys-libs/readline:0= ) +server? ( systemd? ( sys-apps/systemd ) ) +ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= ) + libressl? ( dev-libs/libressl:= ) +) +tcl? ( >=dev-lang/tcl-8:0= ) +xml? ( dev-libs/libxml2 dev-libs/libxslt ) +zlib? ( sys-libs/zlib ) +" + +# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no +# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems, +# the libc includes UUID functions. +UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} ) +BSD_LIBC=( elibc_{Free,Net,Open}BSD ) + +nest_usedep() { + local front back + while [[ ${#} -gt 1 ]]; do + front+="${1}? ( " + back+=" )" + shift + done + echo "${front}${1}${back}" +} + +IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}" +CDEPEND+=" +uuid? ( + ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )} + $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid) +)" + +DEPEND="${CDEPEND} +!!<sys-apps/sandbox-2.0 +sys-devel/bison +sys-devel/flex +nls? ( sys-devel/gettext ) +xml? ( virtual/pkgconfig ) +" + +RDEPEND="${CDEPEND} +!dev-db/postgresql-docs:${SLOT} +!dev-db/postgresql-base:${SLOT} +!dev-db/postgresql-server:${SLOT} +selinux? ( sec-policy/selinux-postgresql ) +" + +pkg_setup() { + use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup + + enewgroup postgres 70 + enewuser postgres 70 /bin/sh /var/lib/postgresql postgres + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # Set proper run directory + sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \ + -i src/include/pg_config_manual.h || die + + # Rely on $PATH being in the proper order so that the correct + # install program is used for modules utilizing PGXS in both + # hardened and non-hardened environments. (Bug #528786) + sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die + + use server || eapply "${FILESDIR}/${PN}-11_beta1-no-server.patch" + + if use pam ; then + sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \ + -i src/backend/libpq/auth.c || \ + die 'PGSQL_PAM_SERVICE rename failed.' + fi + + eapply_user +} + +src_configure() { + case ${CHOST} in + *-darwin*|*-solaris*) + use nls && append-libs intl + ;; + esac + + export LDFLAGS_SL="${LDFLAGS}" + export LDFLAGS_EX="${LDFLAGS}" + + local PO="${EPREFIX%/}" + + local i uuid_config="" + if use uuid; then + for i in ${UTIL_LINUX_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=e2fs" + done + for i in ${BSD_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=bsd" + done + [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp" + fi + + econf \ + --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \ + --datadir="${PO}/usr/share/postgresql-${SLOT}" \ + --docdir="${PO}/usr/share/doc/${PF}" \ + --includedir="${PO}/usr/include/postgresql-${SLOT}" \ + --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \ + --sysconfdir="${PO}/etc/postgresql-${SLOT}" \ + --with-system-tzdata="${PO}/usr/share/zoneinfo" \ + $(use_enable !alpha spinlocks) \ + $(use_enable debug) \ + $(use_enable threads thread-safety) \ + $(use_with icu) \ + $(use_with kerberos gssapi) \ + $(use_with ldap) \ + $(use_with llvm) \ + $(use_with pam) \ + $(use_with perl) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with ssl openssl) \ + $(usex server "$(use_with systemd)" '--without-systemd') \ + $(use_with tcl) \ + ${uuid_config} \ + $(use_with xml libxml) \ + $(use_with xml libxslt) \ + $(use_with zlib) \ + $(use_enable nls 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 + + # Don't delete libpg{port,common}.a (Bug #571046). They're always + # needed by extensions utilizing PGXS. + use static-libs || \ + find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \ + -delete + + # Make slot specific links to programs + local f bn + for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ + -mindepth 1 -maxdepth 1) + do + bn=$(basename "${f}") + dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ + "/usr/bin/${bn}${SLOT/.}" + done + + if use doc ; then + docinto html + dodoc doc/src/sgml/html/* + fi + + if use server; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} + + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT} + + if use systemd; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.service-9.6-r1" | \ + systemd_newunit - ${PN}-${SLOT}.service + newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir + systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf + fi + + use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session + + if use prefix ; then + keepdir /run/postgresql + fperms 1775 /run/postgresql + fi + fi +} + +pkg_postinst() { + use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf + postgresql-config update + + elog "If you need a global psqlrc-file, you can place it in:" + elog " ${EROOT%/}/etc/postgresql-${SLOT}/" + + if use server ; then + elog + elog "Gentoo specific documentation:" + elog "https://wiki.gentoo.org/wiki/PostgreSQL" + elog + elog "Official documentation:" + elog "http://www.postgresql.org/docs/${SLOT}/static/index.html" + elog + elog "The default location of the Unix-domain socket is:" + elog " ${EROOT%/}/run/postgresql/" + elog + elog "Before initializing the database, you may want to edit PG_INITDB_OPTS" + elog "so that it contains your preferred locale in:" + elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + elog + elog "Then, execute the following command to setup the initial database" + elog "environment:" + elog " emerge --config =${CATEGORY}/${PF}" + + 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 " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html" + einfo " http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html" + einfo + einfo "PG_INITDB_OPTS is currently set to:" + if [[ -z "${PG_INITDB_OPTS}" ]] ; then + einfo " (none)" + else + einfo " ${PG_INITDB_OPTS}" + fi + einfo + einfo "Configuration files will be installed to:" + einfo " ${PGDATA}" + einfo + einfo "The database cluster will be created in:" + einfo " ${DATA_DIR}" + einfo + + ebegin "Continuing initialization in 5 seconds (Control-C to cancel)" + sleep 5 + eend 0 + + if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then + eerror "The given directory, '${DATA_DIR}', is not empty." + eerror "Modify DATA_DIR to point to an empty directory." + die "${DATA_DIR} is not empty." + fi + + einfo "Creating the data directory ..." + if [[ ${EUID} == 0 ]] ; then + mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs" + mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR" + chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown" + fi + + einfo "Initializing the database ..." + + if [[ ${EUID} == 0 ]] ; then + su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}" + else + "${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS} + fi + + if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then + mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}" + ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}" + fi + + # unix_socket_directory has no effect in postgresql.conf as it's + # overridden in the initscript + sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf + + cat <<- EOF >> "${PGDATA%/}"/postgresql.conf + # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522 + # On the off-chance that you might need to work with UTF-8 encoded + # characters in PL/Perl + plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";' + EOF + + einfo "The autovacuum function, which was in contrib, has been moved to the main" + einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled" + einfo "by default. You can disable it in the cluster's:" + einfo " ${PGDATA%/}/postgresql.conf" + einfo + if ! use systemd; then + einfo "The PostgreSQL server, by default, will log events to:" + einfo " ${DATA_DIR%/}/postmaster.log" + einfo + fi + if use prefix ; then + einfo "The location of the configuration files have moved to:" + einfo " ${PGDATA}" + einfo "To start the server:" + einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'" + einfo "To stop:" + einfo " pg_ctl stop -D ${DATA_DIR}" + einfo + einfo "Or move the configuration files back:" + einfo "mv ${PGDATA}*.conf ${DATA_DIR}" + elif use systemd; then + einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL" + einfo "instead of 'pg_ctl'." + else + einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL" + einfo "instead of 'pg_ctl'." + fi +} + +src_test() { + if use server && [[ ${UID} -ne 0 ]] ; then + emake check + + einfo "If you think other tests besides the regression tests are necessary, please" + einfo "submit a bug including a patch for this ebuild to enable them." + else + use server || \ + ewarn 'Tests cannot be run without the "server" use flag enabled.' + [[ ${UID} -eq 0 ]] || \ + ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.' + + ewarn 'Skipping.' + fi +} diff --git a/dev-db/postgresql/postgresql-9.4.22-r1.ebuild b/dev-db/postgresql/postgresql-9.4.22-r1.ebuild new file mode 100644 index 000000000000..b08e6262967a --- /dev/null +++ b/dev-db/postgresql/postgresql-9.4.22-r1.ebuild @@ -0,0 +1,480 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 python3_{5,6,7} ) + +PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN + zh_TW" + +inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ + systemd user + +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris" + +SLOT=$(ver_cut 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="debug doc kerberos kernel_linux ldap libressl nls pam perl + -pg_legacytimestamp python +readline selinux +server systemd ssl + static-libs tcl threads uuid xml zlib" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +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 debug) \ + $(use_enable threads thread-safety) \ + $(use_with kerberos gssapi) \ + $(use_with ldap) \ + $(use_with pam) \ + $(use_with perl) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with ssl openssl) \ + $(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 + + # Don't delete libpg{port,common}.a (Bug #571046). They're always + # needed by extensions utilizing PGXS. + use static-libs || \ + find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \ + -delete + + local f bn + for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ + -mindepth 1 -maxdepth 1) + do + bn=$(basename "${f}") + # Temporarily tack on tmp to workaround a file collision + # issue. This is only necessary for 9.7 and earlier. 10 never + # had this issue. + dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ + "/usr/bin/${bn}${SLOT/.}tmp" + done + + if use doc ; then + docinto html + dodoc doc/src/sgml/html/* + + docinto sgml + dodoc doc/src/sgml/*.{sgml,dsl} + fi + + if use server; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} + + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT} + + if use systemd; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.service-9.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.22.ebuild b/dev-db/postgresql/postgresql-9.4.22.ebuild index c3aa3d92ac10..9463417f714b 100644 --- a/dev-db/postgresql/postgresql-9.4.22.ebuild +++ b/dev-db/postgresql/postgresql-9.4.22.ebuild @@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ systemd user versionator -KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris" +KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris" SLOT="$(get_version_component_range 1-2)" diff --git a/dev-db/postgresql/postgresql-9.5.17-r1.ebuild b/dev-db/postgresql/postgresql-9.5.17-r1.ebuild new file mode 100644 index 000000000000..14d84350ff6b --- /dev/null +++ b/dev-db/postgresql/postgresql-9.5.17-r1.ebuild @@ -0,0 +1,486 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 python3_{5,6,7} ) + +PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN + zh_TW" + +inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ + systemd user + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris" + +SLOT=$(ver_cut 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="debug doc kerberos kernel_linux ldap libressl nls pam perl + -pg_legacytimestamp python +readline selinux +server systemd ssl + static-libs tcl threads uuid xml zlib" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +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 debug) \ + $(use_enable threads thread-safety) \ + $(use_with kerberos gssapi) \ + $(use_with ldap) \ + $(use_with pam) \ + $(use_with perl) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with ssl openssl) \ + $(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 + + # Don't delete libpg{port,common}.a (Bug #571046). They're always + # needed by extensions utilizing PGXS. + use static-libs || \ + find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \ + -delete + + local f bn + for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ + -mindepth 1 -maxdepth 1) + do + bn=$(basename "${f}") + # Temporarily tack on tmp to workaround a file collision + # issue. This is only necessary for 9.7 and earlier. 10 never + # had this issue. + dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ + "/usr/bin/${bn}${SLOT/.}tmp" + done + + if use doc ; then + docinto html + dodoc doc/src/sgml/html/* + + docinto sgml + dodoc doc/src/sgml/*.{sgml,dsl} + fi + + if use server; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} + + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT} + + if use systemd; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.service-9.2" | \ + systemd_newunit - ${PN}-${SLOT}.service + systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf + fi + + newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir + + use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session + + if use prefix ; then + keepdir /run/postgresql + fperms 1775 /run/postgresql + fi + fi +} + +pkg_preinst() { + # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g., + # /usr/bin/psql96). They may have been created by the + # postgresql.eselect module, but they're handled within this ebuild + # now. It's alright if we momentarily delete /usr/bin/psql as it + # will be recreated by the eselect module in pkg_ppostinst(). This + # is only necessary for 9.7 and earlier. 10 and later were never + # handled in this manner. + local canonicalise + if type -p realpath > /dev/null; then + canonicalise=realpath + elif type -p readlink > /dev/null; then + canonicalise='readlink -f' + else + # can't die, subshell + die "No readlink nor realpath found, cannot canonicalise" + fi + + local l + # First remove any symlinks in /usr/bin that may have been created + # by the old eselect + for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do + if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then + rm "${l}" || ewarn "Couldn't remove ${l}" + fi + done + + # Then move the symlinks created by the ebuild to their proper place. + for l in "${ED}"/usr/bin/*tmp ; do + mv "${l}" "${l%tmp}" \ + || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})" + done +} + +pkg_postinst() { + use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf + postgresql-config update + + if use alpha && use server ; then + ewarn "PostgreSQL 9.5+ no longer has native spinlock support on Alpha platforms." + ewarn "As a result, performance will be extremely degraded." + fi + + elog "If you need a global psqlrc-file, you can place it in:" + elog " ${EROOT%/}/etc/postgresql-${SLOT}/" + + if use server ; then + elog + elog "Gentoo specific documentation:" + elog "https://wiki.gentoo.org/wiki/PostgreSQL" + elog + elog "Official documentation:" + elog "https://www.postgresql.org/docs/${SLOT}/static/index.html" + elog + elog "The default location of the Unix-domain socket is:" + elog " ${EROOT%/}/run/postgresql/" + elog + elog "Before initializing the database, you may want to edit PG_INITDB_OPTS" + elog "so that it contains your preferred locale in:" + elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + elog + elog "Then, execute the following command to setup the initial database" + elog "environment:" + elog " emerge --config =${CATEGORY}/${PF}" + fi +} + +pkg_prerm() { + if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then + ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?" + ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL" + + ebegin "Resuming removal in 10 seconds (Control-C to cancel)" + sleep 10 + eend 0 + fi +} + +pkg_postrm() { + postgresql-config update +} + +pkg_config() { + use server || die "USE flag 'server' not enabled. Nothing to configure." + + [[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \ + && source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + [[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/" + [[ -z "${DATA_DIR}" ]] \ + && DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data" + + # environment.bz2 may not contain the same locale as the current system + # locale. Unset and source from the current system locale. + if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then + unset LANG + unset LC_CTYPE + unset LC_NUMERIC + unset LC_TIME + unset LC_COLLATE + unset LC_MONETARY + unset LC_MESSAGES + unset LC_ALL + source "${EROOT%/}/etc/env.d/02locale" + [ -n "${LANG}" ] && export LANG + [ -n "${LC_CTYPE}" ] && export LC_CTYPE + [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC + [ -n "${LC_TIME}" ] && export LC_TIME + [ -n "${LC_COLLATE}" ] && export LC_COLLATE + [ -n "${LC_MONETARY}" ] && export LC_MONETARY + [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES + [ -n "${LC_ALL}" ] && export LC_ALL + fi + + einfo "You can modify the paths and options passed to initdb by editing:" + einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + einfo + einfo "Information on options that can be passed to initdb are found at:" + einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html" + einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html" + einfo + einfo "PG_INITDB_OPTS is currently set to:" + if [[ -z "${PG_INITDB_OPTS}" ]] ; then + einfo " (none)" + else + einfo " ${PG_INITDB_OPTS}" + fi + einfo + einfo "Configuration files will be installed to:" + einfo " ${PGDATA}" + einfo + einfo "The database cluster will be created in:" + einfo " ${DATA_DIR}" + einfo + + ebegin "Continuing initialization in 5 seconds (Control-C to cancel)" + sleep 5 + eend 0 + + if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then + eerror "The given directory, '${DATA_DIR}', is not empty." + eerror "Modify DATA_DIR to point to an empty directory." + die "${DATA_DIR} is not empty." + fi + + einfo "Creating the data directory ..." + if [[ ${EUID} == 0 ]] ; then + mkdir -p "${DATA_DIR}" + chown -Rf postgres:postgres "${DATA_DIR}" + chmod 0700 "${DATA_DIR}" + fi + + einfo "Initializing the database ..." + + if [[ ${EUID} == 0 ]] ; then + su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}" + else + "${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS} + fi + + if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then + mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}" + ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}" + fi + + # unix_socket_directory has no effect in postgresql.conf as it's + # overridden in the initscript + sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf + + cat <<- EOF >> "${PGDATA%/}"/postgresql.conf + # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522 + # On the off-chance that you might need to work with UTF-8 encoded + # characters in PL/Perl + plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";' + EOF + + einfo "The autovacuum function, which was in contrib, has been moved to the main" + einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled" + einfo "by default. You can disable it in the cluster's:" + einfo " ${PGDATA%/}/postgresql.conf" + einfo + einfo "The PostgreSQL server, by default, will log events to:" + einfo " ${DATA_DIR%/}/postmaster.log" + einfo + if use prefix ; then + einfo "The location of the configuration files have moved to:" + einfo " ${PGDATA}" + einfo "To start the server:" + einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'" + einfo "To stop:" + einfo " pg_ctl stop -D ${DATA_DIR}" + einfo + einfo "Or move the configuration files back:" + einfo "mv ${PGDATA}*.conf ${DATA_DIR}" + else + einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL" + einfo "instead of 'pg_ctl'." + fi +} + +src_test() { + if use server && [[ ${UID} -ne 0 ]] ; then + emake check + + einfo "If you think other tests besides the regression tests are necessary, please" + einfo "submit a bug including a patch for this ebuild to enable them." + else + use server || \ + ewarn 'Tests cannot be run without the "server" use flag enabled.' + [[ ${UID} -eq 0 ]] || \ + ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.' + + ewarn 'Skipping.' + fi +} diff --git a/dev-db/postgresql/postgresql-9.5.17.ebuild b/dev-db/postgresql/postgresql-9.5.17.ebuild index 6d619e7de510..cdbace433fe4 100644 --- a/dev-db/postgresql/postgresql-9.5.17.ebuild +++ b/dev-db/postgresql/postgresql-9.5.17.ebuild @@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ systemd user versionator -KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris" +KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris" SLOT="$(get_version_component_range 1-2)" diff --git a/dev-db/postgresql/postgresql-9.6.13-r1.ebuild b/dev-db/postgresql/postgresql-9.6.13-r1.ebuild new file mode 100644 index 000000000000..a6c2ed402e20 --- /dev/null +++ b/dev-db/postgresql/postgresql-9.6.13-r1.ebuild @@ -0,0 +1,491 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 python3_{5,6,7} ) + +PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN + zh_TW" + +inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ + systemd user + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + +SLOT=$(ver_cut 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="debug doc kerberos kernel_linux ldap libressl nls pam perl + -pg_legacytimestamp python +readline selinux +server systemd ssl + static-libs tcl threads uuid xml zlib" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +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 debug) \ + $(use_enable threads thread-safety) \ + $(use_with kerberos gssapi) \ + $(use_with ldap) \ + $(use_with pam) \ + $(use_with perl) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with ssl openssl) \ + $(usex server "$(use_with systemd)" '--without-systemd') \ + $(use_with tcl) \ + ${uuid_config} \ + $(use_with xml libxml) \ + $(use_with xml libxslt) \ + $(use_with zlib) \ + $(use_enable nls 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 + + # Don't delete libpg{port,common}.a (Bug #571046). They're always + # needed by extensions utilizing PGXS. + use static-libs || \ + find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \ + -delete + + local f bn + for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ + -mindepth 1 -maxdepth 1) + do + bn=$(basename "${f}") + # Temporarily tack on tmp to workaround a file collision + # issue. This is only necessary for 9.7 and earlier. 10 never + # had this issue. + dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ + "/usr/bin/${bn}${SLOT/.}tmp" + done + + if use doc ; then + docinto html + dodoc doc/src/sgml/html/* + + docinto sgml + dodoc doc/src/sgml/*.{sgml,dsl} + fi + + if use server; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} + + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT} + + if use systemd; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.service-9.6-r1" | \ + systemd_newunit - ${PN}-${SLOT}.service + systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf + fi + + newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir + + use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session + + if use prefix ; then + keepdir /run/postgresql + fperms 1775 /run/postgresql + fi + fi +} + +pkg_preinst() { + # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g., + # /usr/bin/psql96). They may have been created by the + # postgresql.eselect module, but they're handled within this ebuild + # now. It's alright if we momentarily delete /usr/bin/psql as it + # will be recreated by the eselect module in pkg_ppostinst(). This + # is only necessary for 9.7 and earlier. 10 and later were never + # handled in this manner. + local canonicalise + if type -p realpath > /dev/null; then + canonicalise=realpath + elif type -p readlink > /dev/null; then + canonicalise='readlink -f' + else + # can't die, subshell + die "No readlink nor realpath found, cannot canonicalise" + fi + + local l + # First remove any symlinks in /usr/bin that may have been created + # by the old eselect + for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do + if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then + rm "${l}" || ewarn "Couldn't remove ${l}" + fi + done + + # Then move the symlinks created by the ebuild to their proper place. + for l in "${ED}"/usr/bin/*tmp ; do + mv "${l}" "${l%tmp}" \ + || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})" + done +} + +pkg_postinst() { + use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf + postgresql-config update + + elog "If you need a global psqlrc-file, you can place it in:" + elog " ${EROOT%/}/etc/postgresql-${SLOT}/" + + if use server ; then + elog + elog "Gentoo specific documentation:" + elog "https://wiki.gentoo.org/wiki/PostgreSQL" + elog + elog "Official documentation:" + elog "https://www.postgresql.org/docs/${SLOT}/static/index.html" + elog + elog "The default location of the Unix-domain socket is:" + elog " ${EROOT%/}/run/postgresql/" + elog + elog "Before initializing the database, you may want to edit PG_INITDB_OPTS" + elog "so that it contains your preferred locale in:" + elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + elog + elog "Then, execute the following command to setup the initial database" + elog "environment:" + elog " emerge --config =${CATEGORY}/${PF}" + fi +} + +pkg_prerm() { + if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then + ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?" + ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL" + + ebegin "Resuming removal in 10 seconds (Control-C to cancel)" + sleep 10 + eend 0 + fi +} + +pkg_postrm() { + postgresql-config update +} + +pkg_config() { + use server || die "USE flag 'server' not enabled. Nothing to configure." + + [[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \ + && source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + [[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/" + [[ -z "${DATA_DIR}" ]] \ + && DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data" + + # environment.bz2 may not contain the same locale as the current system + # locale. Unset and source from the current system locale. + if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then + unset LANG + unset LC_CTYPE + unset LC_NUMERIC + unset LC_TIME + unset LC_COLLATE + unset LC_MONETARY + unset LC_MESSAGES + unset LC_ALL + source "${EROOT%/}/etc/env.d/02locale" + [ -n "${LANG}" ] && export LANG + [ -n "${LC_CTYPE}" ] && export LC_CTYPE + [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC + [ -n "${LC_TIME}" ] && export LC_TIME + [ -n "${LC_COLLATE}" ] && export LC_COLLATE + [ -n "${LC_MONETARY}" ] && export LC_MONETARY + [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES + [ -n "${LC_ALL}" ] && export LC_ALL + fi + + einfo "You can modify the paths and options passed to initdb by editing:" + einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + einfo + einfo "Information on options that can be passed to initdb are found at:" + einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html" + einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html" + einfo + einfo "PG_INITDB_OPTS is currently set to:" + if [[ -z "${PG_INITDB_OPTS}" ]] ; then + einfo " (none)" + else + einfo " ${PG_INITDB_OPTS}" + fi + einfo + einfo "Configuration files will be installed to:" + einfo " ${PGDATA}" + einfo + einfo "The database cluster will be created in:" + einfo " ${DATA_DIR}" + einfo + + ebegin "Continuing initialization in 5 seconds (Control-C to cancel)" + sleep 5 + eend 0 + + if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then + eerror "The given directory, '${DATA_DIR}', is not empty." + eerror "Modify DATA_DIR to point to an empty directory." + die "${DATA_DIR} is not empty." + fi + + einfo "Creating the data directory ..." + if [[ ${EUID} == 0 ]] ; then + mkdir -p "${DATA_DIR}" + chown -Rf postgres:postgres "${DATA_DIR}" + chmod 0700 "${DATA_DIR}" + fi + + einfo "Initializing the database ..." + + if [[ ${EUID} == 0 ]] ; then + su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}" + else + "${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS} + fi + + if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then + mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}" + ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}" + fi + + # unix_socket_directory has no effect in postgresql.conf as it's + # overridden in the initscript + sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf + + cat <<- EOF >> "${PGDATA%/}"/postgresql.conf + # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522 + # On the off-chance that you might need to work with UTF-8 encoded + # characters in PL/Perl + plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";' + EOF + + einfo "The autovacuum function, which was in contrib, has been moved to the main" + einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled" + einfo "by default. You can disable it in the cluster's:" + einfo " ${PGDATA%/}/postgresql.conf" + einfo + if ! use systemd; then + einfo "The PostgreSQL server, by default, will log events to:" + einfo " ${DATA_DIR%/}/postmaster.log" + einfo + fi + if use prefix ; then + einfo "The location of the configuration files have moved to:" + einfo " ${PGDATA}" + einfo "To start the server:" + einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'" + einfo "To stop:" + einfo " pg_ctl stop -D ${DATA_DIR}" + einfo + einfo "Or move the configuration files back:" + einfo "mv ${PGDATA}*.conf ${DATA_DIR}" + elif use systemd; then + einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL" + einfo "instead of 'pg_ctl'." + else + einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL" + einfo "instead of 'pg_ctl'." + fi +} + +src_test() { + if use server && [[ ${UID} -ne 0 ]] ; then + emake check + + einfo "If you think other tests besides the regression tests are necessary, please" + einfo "submit a bug including a patch for this ebuild to enable them." + else + use server || \ + ewarn 'Tests cannot be run without the "server" use flag enabled.' + [[ ${UID} -eq 0 ]] || \ + ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.' + + ewarn 'Skipping.' + fi +} diff --git a/dev-db/postgresql/postgresql-9.6.13.ebuild b/dev-db/postgresql/postgresql-9.6.13.ebuild index b7dd8fbf3d44..8c7844abba34 100644 --- a/dev-db/postgresql/postgresql-9.6.13.ebuild +++ b/dev-db/postgresql/postgresql-9.6.13.ebuild @@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \ systemd user versionator -KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" SLOT="$(get_version_component_range 1-2)" diff --git a/dev-db/postgresql/postgresql-9999.ebuild b/dev-db/postgresql/postgresql-9999.ebuild index e90d6a96bf13..767646540580 100644 --- a/dev-db/postgresql/postgresql-9999.ebuild +++ b/dev-db/postgresql/postgresql-9999.ebuild @@ -1,16 +1,16 @@ # Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="6" +EAPI=7 -PYTHON_COMPAT=( python2_7 python3_{5,6} ) +PYTHON_COMPAT=( python2_7 python3_{5,6,7} ) PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN zh_TW" 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 git-r3 linux-info multilib pam prefix python-single-r1 \ - systemd user versionator + systemd user KEYWORDS="" @@ -23,8 +23,9 @@ LICENSE="POSTGRESQL GPL-2" DESCRIPTION="PostgreSQL RDBMS" HOMEPAGE="https://www.postgresql.org/" -IUSE="kerberos kernel_linux ldap libressl llvm nls pam perl python +readline - selinux systemd ssl static-libs tcl threads uuid xml zlib" +IUSE="debug icu kerberos kernel_linux ldap libressl llvm nls pam perl + python +readline selinux systemd ssl static-libs tcl threads uuid + xml zlib" for my_locale in ${PLOCALES}; do IUSE+=" l10n_${my_locale}" done @@ -35,6 +36,7 @@ CDEPEND=" >=app-eselect/eselect-postgresql-2.0 sys-apps/less virtual/libintl +icu? ( dev-libs/icu:= ) kerberos? ( virtual/krb5 ) ldap? ( net-nds/openldap ) llvm? ( @@ -178,8 +180,10 @@ src_configure() { --sysconfdir="${PO}/etc/postgresql-${SLOT}" \ --with-system-tzdata="${PO}/usr/share/zoneinfo" \ $(use_enable !alpha spinlocks) \ + $(use_enable debug) \ $(use_enable nls nls "'$(my_get_locales)'") \ $(use_enable threads thread-safety) \ + $(use_with icu) \ $(use_with kerberos gssapi) \ $(use_with ldap) \ $(use_with llvm) \ @@ -208,7 +212,11 @@ src_install() { insinto /etc/postgresql-${SLOT} newins src/bin/psql/psqlrc.sample psqlrc - use static-libs || find "${ED}" -name '*.a' -delete + # Don't delete libpg{port,common}.a (Bug #571046). They're always + # needed by extensions utilizing PGXS. + use static-libs || \ + find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \ + -delete sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} diff --git a/dev-db/qt5-sqlcipher/Manifest b/dev-db/qt5-sqlcipher/Manifest index 31f305a14395..4a7434265c64 100644 --- a/dev-db/qt5-sqlcipher/Manifest +++ b/dev-db/qt5-sqlcipher/Manifest @@ -1,7 +1,4 @@ AUX qt5-sqlcipher-install-path.patch 542 BLAKE2B 099aec88aa739615c444478dcf946a11782d34bcda0ea9905d88a766745a063b97f1198d0e03bb7222f338293178dad2c00d430eab7754475766ebfdf95a785d SHA512 a46bb590fe8f56f61d404b4c5deba362f70ecf3044fd746f5de3a897cf884aada1bd2345e768774e674ee8e91bd162775b6f2131e4f822cc91fae22c4d71bb13 -DIST qt5-sqlcipher-1.0.1-qt-5.11.1.tar.xz 8528 BLAKE2B 981565882399943c6ab47b09968c27fa9f53cade5baee66259e416d749905a6bf7a9c1c27ed8165d7b6fc0a72fee85d51bb9ac0c3819b9dab5e89e741e880b13 SHA512 9d64b12990cd81ad1e81b941ff970388c8e7f34fd446ecd4ce2ed58e3f8e50acc06fe88fc0f6693e48b19422e70372516bc36b5c71908e18096e092f261c9eff -DIST qt5-sqlcipher-1.0.1.tar.gz 56994 BLAKE2B 9de780126bc7ba99e23b529e6e45d629e9b20d52dfb4d91fcb7c8a6b77b8a8bc17bedaa40a288c4af32e40cc563631e164428be0f8c5a81ffa6143acc58b2e55 SHA512 ba83ba1d98b7764c7ad4bf776b1f39baff44ff6189e51cbc2131150e5a4c2962a21134d21d5ed41f171629395c721fce11ee911d080d304566033d53c552642a DIST qt5-sqlcipher-1.0.1_p20181221.tar.xz 27668 BLAKE2B e9f7a380be72997a1364ff985271b421230ea75b80200fc1cb4d58946abcb5a98504e458811e9b6641a84a4f8bc7145fd9d6746a147f98bc886e8c2639698646 SHA512 408f71b7fdb26aea3f0419ce0fb295a438c247aa1649756a20b6743571dd9d45cb17d46f5b261a1fd611df4fe39a9dcd6cbd36180bf3742b0abba8b02a9a2d9a -EBUILD qt5-sqlcipher-1.0.1-r3.ebuild 1281 BLAKE2B e3b45a2ef37f67bdc021c6c8b5108af6cc6def1dbab04c8c4a5b19991751cf2b16cfb12ec444a413b9e5b5f1c2915170d5cde70c2f7ee3668261ac04bdf7ef3e SHA512 3a28c4a2c67c2b5ce77d92843b549c26df8d222c540c369217b09947ccdbf1b472a8a0869eb86a831b3fa8ac9be9584cf1ba48d94766ea8fb725baf00beeaf0d EBUILD qt5-sqlcipher-1.0.1_p20181221.ebuild 1226 BLAKE2B ae61660cdc3fb6ec76999904048130b4069093c6ac3ec44651a069c1820356efccbffcd668e46916cae1169897866e5c6176b3e4708fe0740c9b30e2a60fe1e2 SHA512 b9610f70d2ec403741e388be772f0a343165f380314d492dc8cb9f20d46801a88f93269be947f9780563b4a1d3b2a4fe8d279fd6f534ad6e6b5bd8b032a17135 MISC metadata.xml 212 BLAKE2B ecb53eb3efac6ceef048d345601c5ca0430e2f62d6409dc2a18494ee188f792d4763892816f197418d2e9a6d04452091a0c69d83afc207b366fca816632209ee SHA512 3919b8b096abf61c7edaa6a76898603b6ca2e206e2eccd27c671957a9d085bc2591a2fb4839a85ef2a51dcbf887bb2c752d4b38e82ea19c48dfd6d99b67954fa diff --git a/dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.1-r3.ebuild b/dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.1-r3.ebuild deleted file mode 100644 index 2a2bd7f67a3a..000000000000 --- a/dev-db/qt5-sqlcipher/qt5-sqlcipher-1.0.1-r3.ebuild +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit cmake-utils eapi7-ver - -DESCRIPTION="Qt SQL driver plugin for SQLCipher" -HOMEPAGE="https://github.com/blizzard4591/qt5-sqlcipher" -SRC_URI="https://github.com/blizzard4591/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz - https://dev.gentoo.org/~ulm/distfiles/${P}-qt-5.11.1.tar.xz" - -LICENSE="LGPL-2.1" # version 2.1 only -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=">=dev-db/sqlcipher-3.4.1 - >=dev-qt/qtcore-5.7.1:5= - >=dev-qt/qtsql-5.7.1:5=[sqlite] <dev-qt/qtsql-5.12:5=[sqlite]" -DEPEND="${RDEPEND}" - -DOCS=(README.md) - -src_prepare() { - eapply "${FILESDIR}"/${PN}-install-path.patch - sed -i -e "s/@LIBDIR@/$(get_libdir)/" CMakeLists.txt || die - - local v=$(best_version dev-qt/qtsql:5) - v=$(ver_cut 1-3 ${v#*/qtsql-}) - [[ -n ${v} ]] || die "could not determine qtsql version" - if ! [[ -d qt-file-cache/${v} ]]; then - local vc - case $(ver_cut 1-2 ${v}) in - 5.7) vc=5.7.1 ;; - 5.9) vc=5.9.3 ;; - 5.11) vc=5.11.1 ;; - *) die "qtsql-${v} not supported" ;; - esac - elog "qtsql-${v} not in cache, using ${vc} instead" - cp -R qt-file-cache/${vc} qt-file-cache/${v} || die - fi - - cmake-utils_src_prepare -} - -src_test() { - cd "${BUILD_DIR}" || die - ./qsqlcipher-test || die -} diff --git a/dev-db/sqlite/Manifest b/dev-db/sqlite/Manifest index 1e93daa170d0..1d2dd5eab647 100644 --- a/dev-db/sqlite/Manifest +++ b/dev-db/sqlite/Manifest @@ -12,5 +12,5 @@ DIST sqlite-doc-3280000.zip 9421770 BLAKE2B 695eab96f718307a7aff8a171d9e416ddb4b DIST sqlite-src-3270200.zip 12248529 BLAKE2B b3c79b85bbfa376b31ebb4ad33aea3f0b60c1f6d1e6505e02758cffff41e44ea0c5b8c24892f0757502ed6213c0f97f00957632ddf0e5ffe25e9f8b7f62c6e9a SHA512 52f61e2fa54558b953dba62b27961eef8563f40e6b4a62638087cb22c7d1fdf2c915ea1071939e2e98f3ce6041da2c9bfb1bdbc1e8b8b4a049b8148e878a4e5e DIST sqlite-src-3280000.zip 12477204 BLAKE2B e62e0f36f0bebf89990f8ec91cb1e508a5ebc92bb212eaf9c80eb0febecb5623f5938ecd31c210837314f1f9aab19a18189824f82a106799384d8184ca5f65ab SHA512 49c35c65fa686a2326e13218db583c54fa5fe8f48f0caddd11a942601803b3023f7d32ffbab16641e0d72dc9ed288ad26eaa7226c865ac54e1f181859125651f EBUILD sqlite-3.27.2.ebuild 9949 BLAKE2B 2f377a97be15eabca01ba031906aea8a05ad8c19c3b88aa00fa18b3fd8ae875478210471e83b8e670d7ff3da0f8cafd5419810f8e178d49fd79d514b9da3af2f SHA512 8b6bf4e9b9120b7bac35382f6bb4058be193e8295a1d21f18c2d1c6ebbdcbc123f02a398cba01e0100091c760ca0a4137110b66a94993cdbad78c555428654be -EBUILD sqlite-3.28.0.ebuild 10125 BLAKE2B 995abd8fccdb417572ed57027a4e4eed7d4c9ee0014d54b5dd0fd8180f61d9104b8c2134f0d3b9d5003be0d102500ad0efc22502a954fa4c66303887209fdbc3 SHA512 106a158606d090f03418bd0cc8cba68a61dff9d8adc2fb528e70d29ce59f76598c54f945ab48056fb9d8c0f3ace2c6b5a55bdd0ce247bcac8e0f7105af2517e1 +EBUILD sqlite-3.28.0.ebuild 10121 BLAKE2B 40e29e4001dc429cd87e524c9b7db9bcc9baa5aa2ca2b083534450290ae6436d9051b0e89fa5b7a7729fdadda0716f52039055c95016e54717954b33cca46b6d SHA512 47997416d3bb8165a0f355c246a521502d02982e8fe15a2cfbbdefd51628f23450d04774d1c0d17d325091ce48574c71f1fdc0c6fe96278b0de25b37e9bd22cf MISC metadata.xml 723 BLAKE2B 8866fbde770e7b8582de27303c72df047db80e0d70b1a1ceca0951a05b51bb704452071ceb6c29ecf3704d523888351615d1798aaab092e6b7505d4c6e3698ad SHA512 40616710b1d4edd3e24b5ac0797c1c9b606aeacac9f9543722bc9529e7c2c704a0c10b0ca68a5ba6e0a0ee8bc605212e8a49a050c8687afbdd7dbf28d6d4506a diff --git a/dev-db/sqlite/sqlite-3.28.0.ebuild b/dev-db/sqlite/sqlite-3.28.0.ebuild index db4716a06b48..588413694afe 100644 --- a/dev-db/sqlite/sqlite-3.28.0.ebuild +++ b/dev-db/sqlite/sqlite-3.28.0.ebuild @@ -19,7 +19,7 @@ SRC_URI="doc? ( https://sqlite.org/2019/${PN}-doc-${DOC_PV}.zip ) LICENSE="public-domain" SLOT="3" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~riscv 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 )" |