diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-11-10 00:43:02 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-11-10 00:43:02 +0000 |
commit | a5332b59346f7cbf0fdbd148b54aa8a84aaf8190 (patch) | |
tree | e6d8d3589fcd01fbc3f1286185639163daa81424 /dev-db | |
parent | fceeaf01a28ee71065cf3798b70b77d3bc4ef199 (diff) |
gentoo resync : 10.11.2017
Diffstat (limited to 'dev-db')
26 files changed, 3150 insertions, 787 deletions
diff --git a/dev-db/mongodb/Manifest b/dev-db/mongodb/Manifest index 11ac150e35c6..54e4ee92b0d3 100644 --- a/dev-db/mongodb/Manifest +++ b/dev-db/mongodb/Manifest @@ -34,22 +34,14 @@ DIST mongodb-src-r3.0.15.tar.gz 28096395 SHA256 09ad76e06df007085520025c94a5e584 DIST mongodb-src-r3.2.12.tar.gz 29178424 SHA256 406ced873a9abe8a3f0f92939bf5374663bac86c72181c80bec144aedf6cd306 SHA512 0c4ddaaddf15d97957faff46dc4a3f79c545cacc8a56dbe1d063778117ba9b645323b0cb7fd054fae805d092b8372c411a82e3370244b7939bda20a65fdb951c WHIRLPOOL 67673788859ea99752f2e0d1d8c7feb40b004efc344a2a589553675be7f9020ed384cb4a9000bb7eee0059105af364a722f17890ea3f0d38508b8d045db7da75 DIST mongodb-src-r3.2.13.tar.gz 29273616 SHA256 31492b99d12d6363a6ebcbba32269ce9e97dadedda8c470cbff8c1af227e9753 SHA512 649b599da65fc205a6e18cde82da6153fb4c03a21cf679e18fb57f705ac168690a37f9520be1242278bc0fe441fda08f1c10c9924cabc636ba153c545d32f91d WHIRLPOOL f7ac6c5a14814650c4bbb52f25d710613ae3aa4011f2600f4727c0c81d83ec33c9be9ddac594e6a2d1ad4556bc6c9de71d3a11abfb3bd2883322ab85010ae905 DIST mongodb-src-r3.2.16.tar.gz 29293555 SHA256 7a8b1b16f3fa545af16f48aeef1f918f57d96a80e1ceb6e669cdb81fab6511d0 SHA512 ba57aae430959f7df036b7e19e1b7d81956184bededd35631616c6e3dc9423dc79a50ab3265bc48b06d198a7043bca902aee2ea75954e38151ebead5b5ab2db2 WHIRLPOOL 0ac7b7cfae8b8b3727dc722c616eb576b3ae3aced5340b9fbd9a995d9f55552411c0507cb43a7378fa35187cf940d72d86ee20d08762f87bb4ebcd13eb697f09 -DIST mongodb-src-r3.4.3.tar.gz 39832718 SHA256 889d49312ed072130936cfa3281123a0e89228c04f3f8e992a0b92669b28d767 SHA512 e2fb5fc2f02e9dbca6c30d2e2aaf1569180ca15198226cdad46f47f44905293afe77763fe2e5c9add0b5bcbd62b7ce7905fb183068c0738cdeeae8d39f848cef WHIRLPOOL ba6fa864249cc80e5f65feaed685980b874b46bcf975142e15fa0eda3e474cc85388920e152474dc5527a30d215c309db6d471c716e6bbe374193ff6016ba22e -DIST mongodb-src-r3.4.4.tar.gz 39867133 SHA256 09e962bf3428474b9790bbd464cb6176817f9da6121c30e096240dbb4d51c9f6 SHA512 dbae89b49c363e7258021cd31385e4449bfdfdfd5adfcb1683e4431372731e58ec33bf8f7576d2d52659a52461bd6a32fbc67d5c6e36d52184ec1aabb345d940 WHIRLPOOL 5ad9f80c7f0f597982a32f95365df961fcd80ffa7c04183f9cb4952a52262a27ab09fee4d0115405c5197b6d3848ede56c9a4e5012ec1c358ea8c752164405c2 -DIST mongodb-src-r3.4.6.tar.gz 39922209 SHA256 8170360f6dfede9c19c131f3d76831e952b3f1494925aa7e2a3a2f95b58ad901 SHA512 68da2f385a5e1d636f1699b13818e125af2b7f13c6ff74d5f6dc8f9e04025f9baaa23acfd386118d90ac0eb8b9b7dfbf5b00f1db580a1ea1fe2309361f46eae4 WHIRLPOOL 71b9f42a192b41c797763a02eb8b318488edbd7ffaa149497d3dea5c446c43ff078d24e48971ce4644d54767bcb848e1acaca3e17be9e8c50bbdd349e0d05fab -DIST mongodb-src-r3.4.7.tar.gz 39936247 SHA256 9272e7663c7915e09ad2609e28c58437d760d54a9552c711ea735cd8e1784ec0 SHA512 30f4d0dbd487d148531d7073881cd55db3fef3dcfd199e260e1a51858c5a2c28dfe904d1273b89b27b2fbcde23c3a301a3fa24766489ad6eb2daa25da31d3182 WHIRLPOOL 0ecaa271f9fbe634404aca2d13b0bb0ef47847656fc2825f5ff220655bc213df96170ec6009efc033c5e0a50baf7afd400c240dcaecdaf03fc356138121dd928 -DIST mongodb-src-r3.4.9.tar.gz 39943857 SHA256 2fd0f47a5f9175e71d3d381e81a1b6a2500c9c414dd6ae0940ad6194a0e85549 SHA512 b6803c91e9cda8e6963359386d2014d03f68151f64d580d5baacc3c66b2adabc62ee5c2cf203b9aee7d11942934afc6f9e17364d2f3aafd238ba88d13c77f26d WHIRLPOOL 4360610c2223b7feef748f982ef3eed352ade080b48a935747056489e127759fe953dc6f1067d369b43e536fa1448c8d034f03eb1ad4dcd9ec064fd1f9491dba +DIST mongodb-src-r3.4.10.tar.gz 39959937 SHA256 443800ca4f52fa613b29052f5f76abc0ccc477451b55f3665b61819f28ace2f3 SHA512 6293dde40a8433477ba3b1cf77abbdb32b28ce58279cc616b488647c8ab71b5ab3eab2146058c4a74b9e00f0938f1415020e2f26ea01f2b29dd78a1a38d58c3a WHIRLPOOL 3cd03fecfc1fa077f55d9961e939d89e347ae5f41c815d81a50b88ddef9c8900f41faec6ae71b759f9f665c8a706fdd3000e96c3047711237f0d66478edbf35e EBUILD mongodb-2.6.12.ebuild 4683 SHA256 b9e07ceec39c1a0e792d1825c25c1c2172de3d875a133dba0587911d4e77e2ea SHA512 e7a8aa76abf8c50c588411a0fc75b9723d1261784d30aa6a0908ffdb6addfa212a9008da68adecd8d49372c7be29050cfad3c06b219f9696ce4e0eb0ba56e5c2 WHIRLPOOL f98d328336e27679f1c3ce383f05234b55bfc840be3917d3c3b07aba437a4890250b2d4f2693cf37306e6ed91ad01cce054f4b0789ff5d8a159c40dec9790a06 EBUILD mongodb-3.0.14.ebuild 4559 SHA256 50dea173c26b90ecf2e6eaa263ff8fb6ab57a0ca5f103caa97bb54b3f0c54960 SHA512 747424cae955229f6affd867961171d9ad3fe9c34553ddb94e034db76d4e389ba0c6dc47db23c291212b893b7377d1bfac52e79ae4ab1b9dfd8f4c89743e1a19 WHIRLPOOL 13bb75aa3cd7e6a19f9deacbd78679001f622776586b7e65543fd34a325b6c086d6837df191891daa932fcb4acc48d755d278a41e5dfc2a8e36af54f155c9177 EBUILD mongodb-3.0.15.ebuild 4561 SHA256 10995ff3333c0040c34e174c0d475f959febbda659093bcc473c7ad992fecfe1 SHA512 d5b77ede0ab5d9fa814542e831ec93d5854f0aaa55930c5e445410d347787be96294a741f30089764ea23cdab52413d1d82c6796b3d7133796d28de95726e294 WHIRLPOOL 9fc43fc82839755af40079f1d0cfaa799d176dc91c9217deb4baefecf84c287a9b5535534e71867df847b52e602e30e70b2ed01840770b1e8f75a9c9f78b6b7c EBUILD mongodb-3.2.12.ebuild 5129 SHA256 07c1cd0748989e7b1cdd97942fea3e954f606b21627aacbc02e036c725d35f1f SHA512 28de831886c3531c441658cdc7a29cea3b20f6aa9208c5658d4ad71269b6ff359954118810a9e845d567f54a54449ebc20a446f46da3d4694b5395fdf9f822dd WHIRLPOOL 1a483c0e2ea73a66b62b2c5e77c5708115edca5d77d6e0a177a6394e30fce4bd0e40279fe0b78bb0271da39ddcb6c508285bcdd9180416e78c1cbbaf354c0eee EBUILD mongodb-3.2.13.ebuild 5129 SHA256 07c1cd0748989e7b1cdd97942fea3e954f606b21627aacbc02e036c725d35f1f SHA512 28de831886c3531c441658cdc7a29cea3b20f6aa9208c5658d4ad71269b6ff359954118810a9e845d567f54a54449ebc20a446f46da3d4694b5395fdf9f822dd WHIRLPOOL 1a483c0e2ea73a66b62b2c5e77c5708115edca5d77d6e0a177a6394e30fce4bd0e40279fe0b78bb0271da39ddcb6c508285bcdd9180416e78c1cbbaf354c0eee EBUILD mongodb-3.2.16.ebuild 5180 SHA256 4c9f395f80fa287cf5b08285dadee4585a4d0806e682d66c810f0dd5a39254c4 SHA512 9d0a8bac5e2aed1803df8d23ccf126a56194d03f715e86adb4fda36a82fd176617c5c599c1ac7fbfdbdfb8d6c7c63496e34400a9dc5ed75cd6d84ca023d58ee1 WHIRLPOOL bafab26b47d1da61ef0b56a61fc685e5980dc8f255a63c80a53c9ed6f824bd191bc74cb183e26a79e35abd425a95cea1fb89307446841f5d660a229981b6396c -EBUILD mongodb-3.4.3.ebuild 4991 SHA256 d80acf1c9e41145289f7a6b9a726065c7e04df18df365d229bffcba80dc22175 SHA512 3338544cf467e182d87bafdf765dcaf11fac907a9ac40731e27b9bfb0562c3e84334ec3d9d3f165ffac5fc933c1e6ebab356e4bddad5bb6127b6a9d44b4227d5 WHIRLPOOL 1d88dd17d216a7534e575ef3b36552e91312be488581e4569518994bbd743c5f5345c1ea3576f943c75e6a0fdbeeb28cff6e052458301827888b96d1ddc06fef -EBUILD mongodb-3.4.4.ebuild 5067 SHA256 f57f1806f233174b6053f2b5537c738b840d5b7ccf93498ba3a180600e0d46b3 SHA512 d254fcfd2be4462ba36fd51ff55649eca890a83087b8514584d286564816dd2c9e32f96231746d30c38188f94757b01237e18899bae46ecca9ac60aa7db26f38 WHIRLPOOL f95712fe42a22c9a6e4a70568db5d569b1d52d23d5f7210ec2bd24477a5202b05d55cd097195b45584adf27dbfd7506943f3183927f7a0fb194388b0e64f3d79 -EBUILD mongodb-3.4.6.ebuild 5111 SHA256 82daf6f9d8c5e2e6e9adedc3f87e7d6fd4bced645b5c5779fb920d7a63c7c252 SHA512 3f7a4fb7fcfa55f24e2ce4a22bc227b5b69ec21243569c9e4ee272e385b56dbe6986387d09f2b5d90a742e4302f88f3740f8c5e5b2c269b06b4c409b3c339a76 WHIRLPOOL 3eca6a59b8d8adf761f321765d848b80cfd030752a36e52a66da463e6866fefd3270039ed1863cc7d2bcdeb3b3f9818d5ed35a21639a2a55449f4ca70e8f2d0c -EBUILD mongodb-3.4.7.ebuild 5091 SHA256 5ea93a46e08872457d83fdceaa57fa4ef16389a20d3a6c3c5d7d8d14c2cb7b4f SHA512 0e2d5151ee5326ec606b170a902b2672d456de911170001bb4bb49394636b8ca4994dec251636c54c3cead203b04c516dffeb21e698f502d54760c6b6bdd3c7f WHIRLPOOL effb9368d2e7b2d768b0674b4b612a72aecf5a18dc620561bf4adbff3ed9076c0ca39260102318321805032ee68f0b970003a7bbc38dcefd796b70be687c2a70 -EBUILD mongodb-3.4.9.ebuild 5209 SHA256 df3f451c206634450f6d72518da4425e29b555804d64512b73a665d16f99de3e SHA512 1fc77d6294411d303b7c648c90c33fca6527fafa17baa61054d8169aab40e3f0aba6e4ae2284bbb075b9712d5de2e0011ddd316e34aa5871f6d748cdbc1148ac WHIRLPOOL de03d4f95a009b1f669eec316b6f5d3b74154cd573cb9e02da37aa68a4456d0d368f1bd01d826d634f96e7d045456702144c29274c57f9b821feb6a51e02d95e +EBUILD mongodb-3.4.10.ebuild 5217 SHA256 1d424ed6df5e8e680d6806cb854576472b189c922364229f5835c56e5f10a99a SHA512 1906df7b2d1335da311c3b754a3484e482b7e4185d72ab49b7428fdb47621a053af26393daa4638b5d9a17ba0ad43df4e4866f03a0fd51bf44d6b9039b98484d WHIRLPOOL c50e00a44b7c51e49ea2997fd60ca37c60f1903ce4f9ffd656c3ef4ad68b8b20e8cc06a89a394c8540e816b99ad54b29dd3565c0bc7dea47e94884fb26b839a8 MISC ChangeLog 11694 SHA256 2a53f4136a8358cc02fbdc1c6c0dea500c5cf58d01a5879fdc45f01c3c10891d SHA512 88c23a8f81788cbf66e952edfaeb92c9d81754a86539f808d467abf2dfa9c3e5f0d64679692cf3d28c75cae377478fd7c9471965c76607c0f5c43fb723add98d WHIRLPOOL bec26640ffacf717f31061f615f9092ed2af63e16c3f1e86907b1eca189b19e43bfca52e71a4ba4aee5a0b3574a900ee4e55c5d54967489ba6ce7c788117133c MISC ChangeLog-2015 25355 SHA256 a3aed548a6ffb7287da4945eb5bd03d1fa13d900600ba8b9349065276684e916 SHA512 efaeaa046614ab70a6e790cd9af861ec98a6472f62f3362cc1a935e12eceae8e00bbe210abec070eae6bba6cf791b69b937744acf2053ef2eda7458eb6b62efd WHIRLPOOL 22ad53f03a3f038d53fc8143b2a8a729c0157efe458a7aabd48ea753bc37b90c7424dc5103dafac750db40a47296a8624e566789fa49c71f54d479af860550f5 MISC metadata.xml 1112 SHA256 1e6f3abb5e292c4df14b673502b88e0636043fb4f3445ea9c050753cf04dbab7 SHA512 39b9bd8afc1c79382130c691154eac4338810fb4069406482648d32fd2aefd5d3697c272321d300154be2e4d37ac10f1372c62687d9c41ca0d3682b0152a53c4 WHIRLPOOL 54e2e1f9465ffa8497a5637d8fae65e34b0c62b8c569344cd02fe48fd51b4c8bdfead6e396b3515b5653459e3cd31f55b1d15af143b2cf8f343af2e72fd83dcf diff --git a/dev-db/mongodb/mongodb-3.4.9.ebuild b/dev-db/mongodb/mongodb-3.4.10.ebuild index 1e193228dcc2..11be62cc3f1e 100644 --- a/dev-db/mongodb/mongodb-3.4.9.ebuild +++ b/dev-db/mongodb/mongodb-3.4.10.ebuild @@ -3,7 +3,7 @@ EAPI=6 -PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} ) +PYTHON_COMPAT=( python2_7 ) SCONS_MIN_VERSION="2.3.0" CHECKREQS_DISK_BUILD="2400M" @@ -26,7 +26,7 @@ IUSE="debug kerberos libressl mms-agent ssl test +tools" RDEPEND=">=app-arch/snappy-1.1.3 >=dev-cpp/yaml-cpp-0.5.3 >=dev-libs/boost-1.60[threads(+)] - >=dev-libs/libpcre-8.39[cxx] + >=dev-libs/libpcre-8.41[cxx] dev-libs/snowball-stemmer net-libs/libpcap >=sys-libs/zlib-1.2.8 @@ -36,6 +36,7 @@ RDEPEND=">=app-arch/snappy-1.1.3 libressl? ( dev-libs/libressl:0= ) )" DEPEND="${RDEPEND} + =dev-lang/python-2* >=sys-devel/gcc-5.3.0:* sys-libs/ncurses sys-libs/readline @@ -50,7 +51,6 @@ PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" PATCHES=( "${FILESDIR}/${PN}-3.2.10-boost-1.62.patch" "${FILESDIR}/${PN}-3.4.0-fix-scons.patch" - "${FILESDIR}/${PN}-3.4.4-Replace-string-with-explicit-std-string.patch" "${FILESDIR}/${PN}-3.4.6-sysmacros-include.patch" "${FILESDIR}/${PN}-3.4.7-no-boost-check.patch" ) @@ -129,6 +129,7 @@ src_install() { for x in /var/{lib,log}/${PN}; do keepdir "${x}" fowners mongodb:mongodb "${x}" + fperms 0750 "${x}" done doman debian/mongo*.1 @@ -159,6 +160,7 @@ pkg_preinst() { fi } +# FEATURES="test -usersandbox" emerge dev-db/mongodb src_test() { # this one test fails rm jstests/core/jsHeapLimit.js || die diff --git a/dev-db/mongodb/mongodb-3.4.3.ebuild b/dev-db/mongodb/mongodb-3.4.3.ebuild deleted file mode 100644 index 25b6b977c05c..000000000000 --- a/dev-db/mongodb/mongodb-3.4.3.ebuild +++ /dev/null @@ -1,189 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -SCONS_MIN_VERSION="2.3.0" -CHECKREQS_DISK_BUILD="2400M" -CHECKREQS_DISK_USR="512M" -CHECKREQS_MEMORY="1024M" - -inherit eutils flag-o-matic multilib pax-utils scons-utils systemd toolchain-funcs user versionator check-reqs - -MY_P=${PN}-src-r${PV/_rc/-rc} - -DESCRIPTION="A high-performance, open source, schema-free document-oriented database" -HOMEPAGE="http://www.mongodb.org" -SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" - -LICENSE="AGPL-3 Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="debug kerberos libressl mms-agent ssl test +tools" - -RDEPEND=">=app-arch/snappy-1.1.3 - >=dev-cpp/yaml-cpp-0.5.3 - >=dev-libs/boost-1.60[threads(+)] - >=dev-libs/libpcre-8.39[cxx] - dev-libs/snowball-stemmer - net-libs/libpcap - >=sys-libs/zlib-1.2.8 - mms-agent? ( app-admin/mms-agent ) - ssl? ( - !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) - libressl? ( dev-libs/libressl:0= ) - )" -DEPEND="${RDEPEND} - >=sys-devel/gcc-5.3.0:* - sys-libs/ncurses - sys-libs/readline - debug? ( dev-util/valgrind ) - kerberos? ( dev-libs/cyrus-sasl[kerberos] ) - test? ( - dev-python/pymongo - dev-python/pyyaml - )" -PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" - -S=${WORKDIR}/${MY_P} - -pkg_pretend() { - if [[ ${REPLACING_VERSIONS} < 3.0 ]]; then - ewarn "To upgrade from a version earlier than the 3.0-series, you must" - ewarn "successively upgrade major releases until you have upgraded" - ewarn "to 3.2-series. Then upgrade to 3.4 series." - fi -} - -pkg_setup() { - enewgroup mongodb - enewuser mongodb -1 -1 /var/lib/${PN} mongodb - - # Maintainer notes - # - # --use-system-tcmalloc is strongly NOT recommended: - # https://www.mongodb.org/about/contributors/tutorial/build-mongodb-from-source/ - - scons_opts=( - CC="$(tc-getCC)" - CXX="$(tc-getCXX)" - - --disable-warnings-as-errors - --use-system-boost - --use-system-pcre - --use-system-snappy - --use-system-stemmer - --use-system-yaml - --use-system-zlib - ) - - # wiredtiger not supported on 32bit platforms #572166 - use x86 && scons_opts+=( --wiredtiger=off ) - - if use debug; then - scons_opts+=( --dbg=on ) - fi - - if use prefix; then - scons_opts+=( - --cpppath="${EPREFIX}/usr/include" - --libpath="${EPREFIX}/usr/$(get_libdir)" - ) - fi - - if use kerberos; then - scons_opts+=( --use-sasl-client ) - fi - - if use ssl; then - scons_opts+=( --ssl ) - fi -} - -src_prepare() { - epatch \ - "${FILESDIR}/${PN}-3.4.0-fix-scons.patch" - if has_version ">=dev-libs/boost-1.62"; then - epatch "${FILESDIR}/${PN}-3.2.10-boost-1.62.patch" - fi - epatch_user -} - -src_compile() { - # respect mongoDB upstream's basic recommendations - # see bug #536688 and #526114 - if ! use debug; then - filter-flags '-m*' - filter-flags '-O?' - fi - escons "${scons_opts[@]}" core tools -} - -src_install() { - escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr - - for x in /var/{lib,log}/${PN}; do - keepdir "${x}" - fowners mongodb:mongodb "${x}" - done - - doman debian/mongo*.1 - dodoc README docs/building.md - - newinitd "${FILESDIR}/${PN}.initd-r2" ${PN} - newconfd "${FILESDIR}/${PN}.confd-r2" ${PN} - newinitd "${FILESDIR}/${PN/db/s}.initd-r2" ${PN/db/s} - newconfd "${FILESDIR}/${PN/db/s}.confd-r2" ${PN/db/s} - - insinto /etc - newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf - newins "${FILESDIR}/${PN/db/s}.conf-r2" ${PN/db/s}.conf - - systemd_dounit "${FILESDIR}/${PN}.service" - - insinto /etc/logrotate.d/ - newins "${FILESDIR}/${PN}.logrotate" ${PN} - - # see bug #526114 - pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} -} - -pkg_preinst() { - # wrt bug #461466 - if [[ "$(get_libdir)" == "lib64" ]]; then - rmdir "${ED}"/usr/lib/ &>/dev/null - fi -} - -src_test() { - # this one test fails - rm jstests/core/repl_write_threads_start_param.js - - ./buildscripts/resmoke.py --dbpathPrefix=test --suites core || die "Tests failed" -} - -pkg_postinst() { - local v - for v in ${REPLACING_VERSIONS}; do - if ! version_is_at_least 3.0 ${v}; then - ewarn "!! IMPORTANT !!" - ewarn " " - ewarn "${PN} configuration files have changed !" - ewarn " " - ewarn "Make sure you migrate from /etc/conf.d/${PN} to the new YAML standard in /etc/${PN}.conf" - ewarn " http://docs.mongodb.org/manual/reference/configuration-options/" - ewarn " " - ewarn "Make sure you also follow the upgrading process :" - ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/" - ewarn " " - ewarn "MongoDB 3.0 introduces the WiredTiger storage engine." - ewarn "WiredTiger is incompatible with MMAPv1 and you need to dump/reload your data if you want to use it." - ewarn "Once you have your data dumped, you need to set storage.engine: wiredTiger in /etc/${PN}.conf" - ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/#change-storage-engine-to-wiredtiger" - break - fi - done - - ewarn "Make sure to read the release notes and follow the upgrade process:" - ewarn " https://docs.mongodb.org/manual/release-notes/3.4/" - ewarn " https://docs.mongodb.com/manual/release-notes/3.4/#upgrade-procedures" -} diff --git a/dev-db/mongodb/mongodb-3.4.4.ebuild b/dev-db/mongodb/mongodb-3.4.4.ebuild deleted file mode 100644 index ddb22087d4ab..000000000000 --- a/dev-db/mongodb/mongodb-3.4.4.ebuild +++ /dev/null @@ -1,190 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -SCONS_MIN_VERSION="2.3.0" -CHECKREQS_DISK_BUILD="2400M" -CHECKREQS_DISK_USR="512M" -CHECKREQS_MEMORY="1024M" - -inherit eutils flag-o-matic multilib pax-utils scons-utils systemd toolchain-funcs user versionator check-reqs - -MY_P=${PN}-src-r${PV/_rc/-rc} - -DESCRIPTION="A high-performance, open source, schema-free document-oriented database" -HOMEPAGE="http://www.mongodb.org" -SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" - -LICENSE="AGPL-3 Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="debug kerberos libressl mms-agent ssl test +tools" - -RDEPEND=">=app-arch/snappy-1.1.3 - >=dev-cpp/yaml-cpp-0.5.3 - >=dev-libs/boost-1.60[threads(+)] - >=dev-libs/libpcre-8.39[cxx] - dev-libs/snowball-stemmer - net-libs/libpcap - >=sys-libs/zlib-1.2.8 - mms-agent? ( app-admin/mms-agent ) - ssl? ( - !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) - libressl? ( dev-libs/libressl:0= ) - )" -DEPEND="${RDEPEND} - >=sys-devel/gcc-5.3.0:* - sys-libs/ncurses - sys-libs/readline - debug? ( dev-util/valgrind ) - kerberos? ( dev-libs/cyrus-sasl[kerberos] ) - test? ( - dev-python/pymongo - dev-python/pyyaml - )" -PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" - -S=${WORKDIR}/${MY_P} - -pkg_pretend() { - if [[ ${REPLACING_VERSIONS} < 3.0 ]]; then - ewarn "To upgrade from a version earlier than the 3.0-series, you must" - ewarn "successively upgrade major releases until you have upgraded" - ewarn "to 3.2-series. Then upgrade to 3.4 series." - fi -} - -pkg_setup() { - enewgroup mongodb - enewuser mongodb -1 -1 /var/lib/${PN} mongodb - - # Maintainer notes - # - # --use-system-tcmalloc is strongly NOT recommended: - # https://www.mongodb.org/about/contributors/tutorial/build-mongodb-from-source/ - - scons_opts=( - CC="$(tc-getCC)" - CXX="$(tc-getCXX)" - - --disable-warnings-as-errors - --use-system-boost - --use-system-pcre - --use-system-snappy - --use-system-stemmer - --use-system-yaml - --use-system-zlib - ) - - # wiredtiger not supported on 32bit platforms #572166 - use x86 && scons_opts+=( --wiredtiger=off ) - - if use debug; then - scons_opts+=( --dbg=on ) - fi - - if use prefix; then - scons_opts+=( - --cpppath="${EPREFIX}/usr/include" - --libpath="${EPREFIX}/usr/$(get_libdir)" - ) - fi - - if use kerberos; then - scons_opts+=( --use-sasl-client ) - fi - - if use ssl; then - scons_opts+=( --ssl ) - fi -} - -src_prepare() { - epatch \ - "${FILESDIR}/${PN}-3.4.0-fix-scons.patch" \ - "${FILESDIR}/${PN}-3.4.4-Replace-string-with-explicit-std-string.patch" - if has_version ">=dev-libs/boost-1.62"; then - epatch "${FILESDIR}/${PN}-3.2.10-boost-1.62.patch" - fi - epatch_user -} - -src_compile() { - # respect mongoDB upstream's basic recommendations - # see bug #536688 and #526114 - if ! use debug; then - filter-flags '-m*' - filter-flags '-O?' - fi - escons "${scons_opts[@]}" core tools -} - -src_install() { - escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr - - for x in /var/{lib,log}/${PN}; do - keepdir "${x}" - fowners mongodb:mongodb "${x}" - done - - doman debian/mongo*.1 - dodoc README docs/building.md - - newinitd "${FILESDIR}/${PN}.initd-r2" ${PN} - newconfd "${FILESDIR}/${PN}.confd-r2" ${PN} - newinitd "${FILESDIR}/${PN/db/s}.initd-r2" ${PN/db/s} - newconfd "${FILESDIR}/${PN/db/s}.confd-r2" ${PN/db/s} - - insinto /etc - newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf - newins "${FILESDIR}/${PN/db/s}.conf-r2" ${PN/db/s}.conf - - systemd_dounit "${FILESDIR}/${PN}.service" - - insinto /etc/logrotate.d/ - newins "${FILESDIR}/${PN}.logrotate" ${PN} - - # see bug #526114 - pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} -} - -pkg_preinst() { - # wrt bug #461466 - if [[ "$(get_libdir)" == "lib64" ]]; then - rmdir "${ED}"/usr/lib/ &>/dev/null - fi -} - -src_test() { - # this one test fails - rm jstests/core/repl_write_threads_start_param.js - - ./buildscripts/resmoke.py --dbpathPrefix=test --suites core || die "Tests failed" -} - -pkg_postinst() { - local v - for v in ${REPLACING_VERSIONS}; do - if ! version_is_at_least 3.0 ${v}; then - ewarn "!! IMPORTANT !!" - ewarn " " - ewarn "${PN} configuration files have changed !" - ewarn " " - ewarn "Make sure you migrate from /etc/conf.d/${PN} to the new YAML standard in /etc/${PN}.conf" - ewarn " http://docs.mongodb.org/manual/reference/configuration-options/" - ewarn " " - ewarn "Make sure you also follow the upgrading process :" - ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/" - ewarn " " - ewarn "MongoDB 3.0 introduces the WiredTiger storage engine." - ewarn "WiredTiger is incompatible with MMAPv1 and you need to dump/reload your data if you want to use it." - ewarn "Once you have your data dumped, you need to set storage.engine: wiredTiger in /etc/${PN}.conf" - ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/#change-storage-engine-to-wiredtiger" - break - fi - done - - ewarn "Make sure to read the release notes and follow the upgrade process:" - ewarn " https://docs.mongodb.org/manual/release-notes/3.4/" - ewarn " https://docs.mongodb.com/manual/release-notes/3.4/#upgrade-procedures" -} diff --git a/dev-db/mongodb/mongodb-3.4.6.ebuild b/dev-db/mongodb/mongodb-3.4.6.ebuild deleted file mode 100644 index 5900f1f4fac4..000000000000 --- a/dev-db/mongodb/mongodb-3.4.6.ebuild +++ /dev/null @@ -1,191 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=5 -SCONS_MIN_VERSION="2.3.0" -CHECKREQS_DISK_BUILD="2400M" -CHECKREQS_DISK_USR="512M" -CHECKREQS_MEMORY="1024M" - -inherit eutils flag-o-matic multilib pax-utils scons-utils systemd toolchain-funcs user versionator check-reqs - -MY_P=${PN}-src-r${PV/_rc/-rc} - -DESCRIPTION="A high-performance, open source, schema-free document-oriented database" -HOMEPAGE="http://www.mongodb.org" -SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" - -LICENSE="AGPL-3 Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="debug kerberos libressl mms-agent ssl test +tools" - -RDEPEND=">=app-arch/snappy-1.1.3 - >=dev-cpp/yaml-cpp-0.5.3 - >=dev-libs/boost-1.60[threads(+)] - >=dev-libs/libpcre-8.39[cxx] - dev-libs/snowball-stemmer - net-libs/libpcap - >=sys-libs/zlib-1.2.8 - mms-agent? ( app-admin/mms-agent ) - ssl? ( - !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) - libressl? ( dev-libs/libressl:0= ) - )" -DEPEND="${RDEPEND} - >=sys-devel/gcc-5.3.0:* - sys-libs/ncurses - sys-libs/readline - debug? ( dev-util/valgrind ) - kerberos? ( dev-libs/cyrus-sasl[kerberos] ) - test? ( - dev-python/pymongo - dev-python/pyyaml - )" -PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" - -S=${WORKDIR}/${MY_P} - -pkg_pretend() { - if [[ ${REPLACING_VERSIONS} < 3.0 ]]; then - ewarn "To upgrade from a version earlier than the 3.0-series, you must" - ewarn "successively upgrade major releases until you have upgraded" - ewarn "to 3.2-series. Then upgrade to 3.4 series." - fi -} - -pkg_setup() { - enewgroup mongodb - enewuser mongodb -1 -1 /var/lib/${PN} mongodb - - # Maintainer notes - # - # --use-system-tcmalloc is strongly NOT recommended: - # https://www.mongodb.org/about/contributors/tutorial/build-mongodb-from-source/ - - scons_opts=( - CC="$(tc-getCC)" - CXX="$(tc-getCXX)" - - --disable-warnings-as-errors - --use-system-boost - --use-system-pcre - --use-system-snappy - --use-system-stemmer - --use-system-yaml - --use-system-zlib - ) - - # wiredtiger not supported on 32bit platforms #572166 - use x86 && scons_opts+=( --wiredtiger=off ) - - if use debug; then - scons_opts+=( --dbg=on ) - fi - - if use prefix; then - scons_opts+=( - --cpppath="${EPREFIX}/usr/include" - --libpath="${EPREFIX}/usr/$(get_libdir)" - ) - fi - - if use kerberos; then - scons_opts+=( --use-sasl-client ) - fi - - if use ssl; then - scons_opts+=( --ssl ) - fi -} - -src_prepare() { - epatch \ - "${FILESDIR}/${PN}-3.4.0-fix-scons.patch" \ - "${FILESDIR}/${P}-no-boost-check.patch" \ - "${FILESDIR}/${PN}-3.4.4-Replace-string-with-explicit-std-string.patch" \ - "${FILESDIR}/${PN}-3.2.10-boost-1.62.patch" \ - "${FILESDIR}/${PN}-3.4.6-sysmacros-include.patch" - - epatch_user -} - -src_compile() { - # respect mongoDB upstream's basic recommendations - # see bug #536688 and #526114 - if ! use debug; then - filter-flags '-m*' - filter-flags '-O?' - fi - escons "${scons_opts[@]}" core tools -} - -src_install() { - escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr - - for x in /var/{lib,log}/${PN}; do - keepdir "${x}" - fowners mongodb:mongodb "${x}" - done - - doman debian/mongo*.1 - dodoc README docs/building.md - - newinitd "${FILESDIR}/${PN}.initd-r2" ${PN} - newconfd "${FILESDIR}/${PN}.confd-r2" ${PN} - newinitd "${FILESDIR}/${PN/db/s}.initd-r2" ${PN/db/s} - newconfd "${FILESDIR}/${PN/db/s}.confd-r2" ${PN/db/s} - - insinto /etc - newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf - newins "${FILESDIR}/${PN/db/s}.conf-r2" ${PN/db/s}.conf - - systemd_dounit "${FILESDIR}/${PN}.service" - - insinto /etc/logrotate.d/ - newins "${FILESDIR}/${PN}.logrotate" ${PN} - - # see bug #526114 - pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} -} - -pkg_preinst() { - # wrt bug #461466 - if [[ "$(get_libdir)" == "lib64" ]]; then - rmdir "${ED}"/usr/lib/ &>/dev/null - fi -} - -src_test() { - # this one test fails - rm jstests/core/repl_write_threads_start_param.js - - ./buildscripts/resmoke.py --dbpathPrefix=test --suites core || die "Tests failed" -} - -pkg_postinst() { - local v - for v in ${REPLACING_VERSIONS}; do - if ! version_is_at_least 3.0 ${v}; then - ewarn "!! IMPORTANT !!" - ewarn " " - ewarn "${PN} configuration files have changed !" - ewarn " " - ewarn "Make sure you migrate from /etc/conf.d/${PN} to the new YAML standard in /etc/${PN}.conf" - ewarn " http://docs.mongodb.org/manual/reference/configuration-options/" - ewarn " " - ewarn "Make sure you also follow the upgrading process :" - ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/" - ewarn " " - ewarn "MongoDB 3.0 introduces the WiredTiger storage engine." - ewarn "WiredTiger is incompatible with MMAPv1 and you need to dump/reload your data if you want to use it." - ewarn "Once you have your data dumped, you need to set storage.engine: wiredTiger in /etc/${PN}.conf" - ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/#change-storage-engine-to-wiredtiger" - break - fi - done - - ewarn "Make sure to read the release notes and follow the upgrade process:" - ewarn " https://docs.mongodb.org/manual/release-notes/3.4/" - ewarn " https://docs.mongodb.com/manual/release-notes/3.4/#upgrade-procedures" -} diff --git a/dev-db/mongodb/mongodb-3.4.7.ebuild b/dev-db/mongodb/mongodb-3.4.7.ebuild deleted file mode 100644 index 2aef3eaf1253..000000000000 --- a/dev-db/mongodb/mongodb-3.4.7.ebuild +++ /dev/null @@ -1,189 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -SCONS_MIN_VERSION="2.3.0" -CHECKREQS_DISK_BUILD="2400M" -CHECKREQS_DISK_USR="512M" -CHECKREQS_MEMORY="1024M" - -inherit eutils flag-o-matic multilib pax-utils scons-utils systemd toolchain-funcs user versionator check-reqs - -MY_P=${PN}-src-r${PV/_rc/-rc} - -DESCRIPTION="A high-performance, open source, schema-free document-oriented database" -HOMEPAGE="http://www.mongodb.org" -SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz" - -LICENSE="AGPL-3 Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="debug kerberos libressl mms-agent ssl test +tools" - -RDEPEND=">=app-arch/snappy-1.1.3 - >=dev-cpp/yaml-cpp-0.5.3 - >=dev-libs/boost-1.60[threads(+)] - >=dev-libs/libpcre-8.39[cxx] - dev-libs/snowball-stemmer - net-libs/libpcap - >=sys-libs/zlib-1.2.8 - mms-agent? ( app-admin/mms-agent ) - ssl? ( - !libressl? ( >=dev-libs/openssl-1.0.1g:0= ) - libressl? ( dev-libs/libressl:0= ) - )" -DEPEND="${RDEPEND} - >=sys-devel/gcc-5.3.0:* - sys-libs/ncurses - sys-libs/readline - debug? ( dev-util/valgrind ) - kerberos? ( dev-libs/cyrus-sasl[kerberos] ) - test? ( - dev-python/pymongo - dev-python/pyyaml - )" -PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" - -PATCHES=( - "${FILESDIR}/${PN}-3.2.10-boost-1.62.patch" - "${FILESDIR}/${PN}-3.4.0-fix-scons.patch" - "${FILESDIR}/${PN}-3.4.4-Replace-string-with-explicit-std-string.patch" - "${FILESDIR}/${PN}-3.4.6-sysmacros-include.patch" - "${FILESDIR}/${PN}-3.4.7-no-boost-check.patch" -) - -S=${WORKDIR}/${MY_P} - -pkg_pretend() { - if [[ ${REPLACING_VERSIONS} < 3.0 ]]; then - ewarn "To upgrade from a version earlier than the 3.0-series, you must" - ewarn "successively upgrade major releases until you have upgraded" - ewarn "to 3.2-series. Then upgrade to 3.4 series." - fi -} - -pkg_setup() { - enewgroup mongodb - enewuser mongodb -1 -1 /var/lib/${PN} mongodb - - # Maintainer notes - # - # --use-system-tcmalloc is strongly NOT recommended: - # https://www.mongodb.org/about/contributors/tutorial/build-mongodb-from-source/ - - scons_opts=( - CC="$(tc-getCC)" - CXX="$(tc-getCXX)" - - --disable-warnings-as-errors - --use-system-boost - --use-system-pcre - --use-system-snappy - --use-system-stemmer - --use-system-yaml - --use-system-zlib - ) - - # wiredtiger not supported on 32bit platforms #572166 - use x86 && scons_opts+=( --wiredtiger=off ) - - if use debug; then - scons_opts+=( --dbg=on ) - fi - - if use prefix; then - scons_opts+=( - --cpppath="${EPREFIX}/usr/include" - --libpath="${EPREFIX}/usr/$(get_libdir)" - ) - fi - - if use kerberos; then - scons_opts+=( --use-sasl-client ) - fi - - if use ssl; then - scons_opts+=( --ssl ) - fi -} - -src_compile() { - # respect mongoDB upstream's basic recommendations - # see bug #536688 and #526114 - if ! use debug; then - filter-flags '-m*' - filter-flags '-O?' - fi - escons "${scons_opts[@]}" core tools -} - -src_install() { - escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr - - local x - for x in /var/{lib,log}/${PN}; do - keepdir "${x}" - fowners mongodb:mongodb "${x}" - done - - doman debian/mongo*.1 - dodoc README docs/building.md - - newinitd "${FILESDIR}/${PN}.initd-r2" ${PN} - newconfd "${FILESDIR}/${PN}.confd-r2" ${PN} - newinitd "${FILESDIR}/${PN/db/s}.initd-r2" ${PN/db/s} - newconfd "${FILESDIR}/${PN/db/s}.confd-r2" ${PN/db/s} - - insinto /etc - newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf - newins "${FILESDIR}/${PN/db/s}.conf-r2" ${PN/db/s}.conf - - systemd_dounit "${FILESDIR}/${PN}.service" - - insinto /etc/logrotate.d/ - newins "${FILESDIR}/${PN}.logrotate" ${PN} - - # see bug #526114 - pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos} -} - -pkg_preinst() { - # wrt bug #461466 - if [[ "$(get_libdir)" == "lib64" ]]; then - rmdir "${ED}"/usr/lib/ &>/dev/null - fi -} - -src_test() { - # this one test fails - rm jstests/core/repl_write_threads_start_param.js || die - - ./buildscripts/resmoke.py --dbpathPrefix=test --suites core || die "Tests failed" -} - -pkg_postinst() { - local v - for v in ${REPLACING_VERSIONS}; do - if ! version_is_at_least 3.0 ${v}; then - ewarn "!! IMPORTANT !!" - ewarn " " - ewarn "${PN} configuration files have changed !" - ewarn " " - ewarn "Make sure you migrate from /etc/conf.d/${PN} to the new YAML standard in /etc/${PN}.conf" - ewarn " http://docs.mongodb.org/manual/reference/configuration-options/" - ewarn " " - ewarn "Make sure you also follow the upgrading process :" - ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/" - ewarn " " - ewarn "MongoDB 3.0 introduces the WiredTiger storage engine." - ewarn "WiredTiger is incompatible with MMAPv1 and you need to dump/reload your data if you want to use it." - ewarn "Once you have your data dumped, you need to set storage.engine: wiredTiger in /etc/${PN}.conf" - ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/#change-storage-engine-to-wiredtiger" - break - fi - done - - ewarn "Make sure to read the release notes and follow the upgrade process:" - ewarn " https://docs.mongodb.org/manual/release-notes/3.4/" - ewarn " https://docs.mongodb.com/manual/release-notes/3.4/#upgrade-procedures" -} diff --git a/dev-db/mysql-cluster/Manifest b/dev-db/mysql-cluster/Manifest index 3c36194a10ab..2455399fdb8a 100644 --- a/dev-db/mysql-cluster/Manifest +++ b/dev-db/mysql-cluster/Manifest @@ -1,10 +1,12 @@ AUX my.cnf-5.5 4732 SHA256 c016291a43c4fddd535fe8b6a27dcdb6b960cc41be47ee8f4494928cf7858c59 SHA512 617d5be2b84eb6207c8e26db15597f3477d69aed756b05897f5ac3b7df4bef599ed932e4b27f39ac20272ea5907b31ca42e01f2b317899bdbe19db7b7c4dfc2d WHIRLPOOL 8d6d9a6356f4834a3676019ad862ad24aebc77ef8c211ef02719f41e143648da81608328d1e030107faf6f2a3792dcd731ea3a8cabc2a786608604ec62775b85 AUX my.cnf-5.6 4504 SHA256 d6bfb754105464643f8f2efa14337c2f78a6a6e7e812e998b2ebcdd4b7c6f450 SHA512 866aa700460c2962bad6294b271efad09ef285dd428ab01551078be9972d2f961fbdf56aef7927439784711022e92a96f2eba30cd297f056f6562e8817c89aae WHIRLPOOL c91bb1ea6ef0b974377a60ef7ceb434ffcbf46d3fb57412deaa92930ab83e57bee3771b44a7b374f1df02211562ed5296182a218763145a7c41d96aa9b709afd -DIST mysql-cluster-gpl-7.2.22.tar.gz 26075142 SHA256 404b80192c488791cedf6251e64bb01310b20f13fcdb28721e108e92985ae999 SHA512 b3370725f17a5b6577c9822097b6c39e4375bdabca2a403bd45dfeb9fd5920c0e213c894eed33dadba69d9c066427ab5065c587869d82bf2e3438d3bdeb1aa8e WHIRLPOOL 1275fc2a181011c5ea2ac392c94027f399a5ce4fd499ff23790bfad142b1c7d67bc421e7c6a4e64e6bb409f04016196417535d5704d21165c1120bf46ab68544 -DIST mysql-cluster-gpl-7.3.11.tar.gz 42806929 SHA256 6c8cfc99ccbf47cd4304996559de6fb330e9cdf754bec37ff7347be72e50c646 SHA512 89e5b6e845b71ed6945529b7f515d3af96ec6daf79c0085f1d0ea6e4426f61eb3626b688e5edda668be4615df1b8cec4e71acdf0d21150fa2775c79ea09563e5 WHIRLPOOL f03d3b62da793becd6aab775293e5963697f9b4147bf6d662274f689b1a48692b1f4de0ad196e74cb02a07ce2a69b608a4d420ad5dc153b20888ba69dc361dc4 -DIST mysql-extras-20151117-2040Z.tar.bz2 294183 SHA256 2ca16597e869fb0fac4f6e48b779892569698ce83c898df3afaee63131f71833 SHA512 8edbc6a3812d17a2f1a827459867c0747387ff72be86b12fe0e790afca5e4b70e4f23c4098bdb61afa20ef292e2c3b154f16577d5c11999a3e2eec9e43b8d09a WHIRLPOOL f0df653216857527ffa3d31f07ab1c470614b53350f5dbd965ba3bdc398f36f37b506537f1070b03a54203a3847f6557a2ae6757327ce852833fa026de7b518d -EBUILD mysql-cluster-7.2.22-r1.ebuild 4072 SHA256 59707164db3dd16798912ec03123fe8089476f6523fe7e399399f303b9eca401 SHA512 80fc2e252b524e981626ba617157b83f17f5c3508f930b6946867146d45795b7af04406d1b06ddab5c7b908751b5cd894bdd65c45f343539ec8700d8bca602a7 WHIRLPOOL 077136326af7652f90d766e5d1d725f33298d20c081e49cfd52e8e0d58b9f32f84df56c5f5390cfe12ea77ceee248a5837959e477f385b657c2c8f3b7edb103f -EBUILD mysql-cluster-7.3.11-r1.ebuild 4704 SHA256 ab09a1942a00f72b4adcc256ffda39757c7c04d6e105d47aeb8ea73b8f575134 SHA512 6b2baae1c3e9c878d4ce37d33afd282cfa11d9479ab37d0f5287571c2c744e4f56d9ccc89118262038b30e706f6e9e9ce7c269ee71530b59d8a4ae55de9e2e70 WHIRLPOOL 4020a60de973e555cdf4b43b0a7de74c55fc86fca2fe796cabd010adb242e1464b8edd8e92c9ef094b3d9ec64cc1c44e092facd1d34678d6f82c51f30f1447ab +DIST mysql-cluster-gpl-7.2.31.tar.gz 25109340 SHA256 d798180114d8c1966abb86c798fc8230d50df478e73f1e2c6fbdb7ffb4cdd9ba SHA512 ab6a7ad2bb981e8351d1d337eb0a75ad952da6f100a6c17a02c629936c4a3bad5701ead6ccf9b912ba0412d3442b6ad87c8e0c5409b84f10af8ec86a7c44b881 WHIRLPOOL c53a32c42f0a3c0c8848d20fa4d66f778926221ef381c8a26ccb60c07126a55af8c77f712cd71462b8345367c3c9e3d03b2b83b06f68b5bddd046328d755965b +DIST mysql-cluster-gpl-7.3.19.tar.gz 41340089 SHA256 53b6692d25ad85772c19593f8b098c9ad26b7d8acd4a74db5f8308567e214aad SHA512 2d12124ec6b7ffa904538f21b676b15e093b3720d067b6eaffe609310ffd6261308ddcfbba4ce259f73d8e905f96bdcd21c5b7ec8fb940d2e9a8ec64c0f397a3 WHIRLPOOL 308ccc771acc72ec9558510edb5491a775a76afb5455cf98f942229d3d706a087aa38d97beb9bc2acbe3248c10893841764f08fdcb29ca47ca830c8c661cf369 +DIST mysql-cluster-gpl-7.4.17.tar.gz 41691695 SHA256 f1966c721c7ed83b59f9ae2cc5e4df56071e358907deef2329d579d5c03601b1 SHA512 eaeab8b4c62e4b503210c269cf3147cb1fd3690e9bdb291a6bb46c874adf958166ccdf5b8766a09ec14d7fd63e3aff3e4b1f1527201e50e86e588507aa01767f WHIRLPOOL 1ad8b4b48ff4e4d0e5ada9f14c5d1fb4a23d8c211121ccc53f20051dfcecb0463d45c2b24178d87174f0950db6bb606e259144c4f1f9052759865644a9277f5a +DIST mysql-extras-20171108-2050Z.tar.bz2 313241 SHA256 a8ae0806728f5308f96fe07fe2348b9c72629968e6480ae45995ca0a3693b9aa SHA512 830e6bac6fcead4b2d9649f6aaf6ec6573f86ce3c1a8bc1be6c89a408d69bfb81136baa7273d4449688d683b832880c2470970cd737c2b07cc7a1c2ce9c5a0b6 WHIRLPOOL 7ea7aabe9fc93418297522529c2fb0cfe43c7c28019000c25e100838e8ac545cab0611a08f2931157b99acee9704c441832e037c28232079e57a0718ddb4591c +EBUILD mysql-cluster-7.2.31.ebuild 4305 SHA256 e4b578bf70f23321a3362e6f513c9272611665c7019f5bbe581930eae2860a5d SHA512 930bd60377563298a1b596685c2b5bf43d995415f06fc8f6b9e1e10c97cbbe43a97de255450bb177873033b99bf303bc3c4fa41bef124d2b29a7767923b39a24 WHIRLPOOL e4f180d633dff3e5c43acd71dce449f2fda25105198980a496f0a10d0f5c19a93c8da7501fdea0a4e49ba2a7949c16173bce7415c2fe6def80cf6e94439c90f9 +EBUILD mysql-cluster-7.3.19.ebuild 4762 SHA256 b3af371f9a9f1fe681f433348b2b6bbc6077ee7af73286aa64a869a4f718a4b2 SHA512 3b5662b84dd23c3fe0c37979679e9446982f3db15b22d4ed3a9dbc2a4c48e8dbecb3b9ac7cc9f385cd0c45c896d25d2257aee184bad7910f8ad5f450f07826e0 WHIRLPOOL 770c991029686f7d2d3d08ec649dadb361ecaaeeac12e41f74864c013bb0149e426a3588a1e70f2978e704030051a2acfc99522ad3c8c23907e4ff91a7d841d6 +EBUILD mysql-cluster-7.4.17.ebuild 5532 SHA256 9cf84d8f1db31fa729377d30e45cb318ac9dceafefdcdc1f0d37b34b72a82e07 SHA512 32506c81247fdb28bb58dce50a8bf908bbda50d25b99ee8f7f8474a9009c1d0804d306fcaf59ef94d576364f036c8640c9e9cd8be8e5d3c751fb2d6e7ba92cf3 WHIRLPOOL 3de45e125d2c000d97b1e70e50c6e10a428692a452015ecf5125b91bce815c076af27a5a240942f4154399800e8d88806d825c08720d40a3f09f18c5f8cf08ce MISC ChangeLog 4144 SHA256 07b9aaf673d386476ecf94e5efd8f36b29bcd6c03a8ed98477705cf1b8a2a04f SHA512 b6ba5accdb4963a66fd2ec137c5d35850d15a8da7891252eec32c381cbb93ffaa92c36d1c49a0b7545063eb58c3f9b79a75d1e5815d9890a403563601634242e WHIRLPOOL fd6aee40cc89ac8da2e1b33acb992963e6bc60f6f9f722ca5779047abb696c26e7dfcd4c07094887639005eb80f8ec699960399022804cf2320b4efaaccf49aa MISC ChangeLog-2015 2348 SHA256 343f777d9569de16f5ff95232ebc908eabee68ce641474776aaa8665357e498c SHA512 cc53b01580c21a312d77b59e8d653dcf3c2a8576cf8cf664784d94c60d266224155ed5a2b409c457f8104e05be56bfa449ffb526e42226ece9abd2549d481468 WHIRLPOOL 13ef8138e6c990e173c1042a8b146bcdb6d86121636c79f48226c75931bd3f36f0db0c9d55a348be4ef3e9ef3e7d3a4b00cd6450c524bcbb3472a474c48dc65c -MISC metadata.xml 1480 SHA256 5f8896f7960f7c265619b41261ff6fccfbcedd29d9a70c4d6f63f960e40d7c50 SHA512 cfb6a753bb071b39f52e8db35b07f70efeae4cb943d57d010a6d42a641c50b6f28b38bf4068536b3c70604da1cb5a428ea5525d0c776ef46cfc4c4c5a37cbbe4 WHIRLPOOL 76bea8ae26e55982611ee7fa24767692327eb53ef386fa11cd128d5e1918e1eb25f639b9a581e83b4c0ce51b8c03630e80ccd3f0a6b1dfb15cc17ba7fc7d6935 +MISC metadata.xml 1657 SHA256 d9bfb8c2a39756a9f2fe07acd1d692f1b2464c955f7d747bec91a0b27e558448 SHA512 594c4282f0ca9fd8b207778f5fcb00397a8779564b95f50ac99b22f48a4df80372675243a62a68f6e026733a31a383c43820450eb3f00cb13bce974b7e7368ae WHIRLPOOL d3c3a59a78dec7ae522bfa763db03a5a514a29c3e5ee1ea1ef79125aac8cfc8edf3dfd8082a6d769a7c4a21f0ebc1ca2b7845aa3dcf9d2dc4b387ec82887b5e4 diff --git a/dev-db/mysql-cluster/metadata.xml b/dev-db/mysql-cluster/metadata.xml index 9dc67c64a895..0efe3d7675fa 100644 --- a/dev-db/mysql-cluster/metadata.xml +++ b/dev-db/mysql-cluster/metadata.xml @@ -16,7 +16,9 @@ <flag name="openssl">Enable SSL connections and crypto functions using <pkg>dev-libs/openssl</pkg></flag> <flag name="max-idx-128">Raise the max index per table limit from 64 to 128</flag> <flag name="minimal">Install client programs only, no server</flag> + <flag name="numa">Enable NUMA support using <pkg>sys-process/numactl</pkg> (NUMA kernel support is also required)</flag> <flag name="profiling">Add support for statement profiling (requires USE=community).</flag> + <flag name="server">Build the server program</flag> <flag name="systemtap">Build support for profiling and tracing using <pkg>dev-util/systemtap</pkg></flag> <flag name="test">Install upstream testsuites for end use.</flag> <flag name="yassl">Enable SSL connections and crypto functions using the bundled yaSSL</flag> diff --git a/dev-db/mysql-cluster/mysql-cluster-7.2.22-r1.ebuild b/dev-db/mysql-cluster/mysql-cluster-7.2.31.ebuild index 09d32b5a664e..d5e946e39e0e 100644 --- a/dev-db/mysql-cluster/mysql-cluster-7.2.22-r1.ebuild +++ b/dev-db/mysql-cluster/mysql-cluster-7.2.31.ebuild @@ -2,8 +2,10 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=5 -MY_EXTRAS_VER="20151117-2040Z" +MY_EXTRAS_VER="20171108-2050Z" BUILD="cmake" +#fails to build with ninja +CMAKE_MAKEFILE_GENERATOR=emake inherit toolchain-funcs java-pkg-opt-2 mysql-v2 # only to make repoman happy. it is really set in the eclass @@ -14,7 +16,7 @@ KEYWORDS="~amd64 ~x86" # When MY_EXTRAS is bumped, the index should be revised to exclude these. # This is often broken still -#EPATCH_EXCLUDE='' +EPATCH_EXCLUDE='20006_all_cmake_elib-mysql-cluster-5.5.37.patch 20008_all_mysql-tzinfo-symlink.patch 20019_all_mysql-5.5-mtr-perl-deprecation.patch 20020_all_mysql-5.6-events_1-bug-78899.patch' DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 )" RDEPEND="!media-sound/amarok[embedded]" diff --git a/dev-db/mysql-cluster/mysql-cluster-7.3.11-r1.ebuild b/dev-db/mysql-cluster/mysql-cluster-7.3.19.ebuild index f8fb8c1896af..7a18a355e0a1 100644 --- a/dev-db/mysql-cluster/mysql-cluster-7.3.11-r1.ebuild +++ b/dev-db/mysql-cluster/mysql-cluster-7.3.19.ebuild @@ -2,8 +2,10 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=5 -MY_EXTRAS_VER="20151117-2040Z" +MY_EXTRAS_VER="20171108-2050Z" SUBSLOT="18" +#fails to build with ninja +CMAKE_MAKEFILE_GENERATOR=emake inherit toolchain-funcs java-pkg-opt-2 mysql-multilib # only to make repoman happy. it is really set in the eclass diff --git a/dev-db/mysql-cluster/mysql-cluster-7.4.17.ebuild b/dev-db/mysql-cluster/mysql-cluster-7.4.17.ebuild new file mode 100644 index 000000000000..f7d2b65e0eb7 --- /dev/null +++ b/dev-db/mysql-cluster/mysql-cluster-7.4.17.ebuild @@ -0,0 +1,162 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +MY_EXTRAS_VER="20171108-2050Z" +SUBSLOT="18" +MYSQL_PV_MAJOR="5.6" +#fails to build with ninja +CMAKE_MAKEFILE_GENERATOR=emake + +inherit mysql-multilib-r1 +# only to make repoman happy. it is really set in the eclass +IUSE="$IUSE numa" + +# REMEMBER: also update eclass/mysql*.eclass before committing! +KEYWORDS="~amd64 ~x86" + +DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) numa? ( sys-process/numactl )" +RDEPEND="!media-sound/amarok[embedded] numa? ( sys-process/numactl )" + +MY_PATCH_DIR="${WORKDIR}/mysql-extras-${MY_EXTRAS_VER}" + +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}"/20007_all_cmake-debug-werror-5.6.22.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}"/30000_all_mysql-cluster-multilib-property.patch +) + +# Please do not add a naive src_unpack to this ebuild +# If you want to add a single patch, copy the ebuild to an overlay +# and create your own mysql-extras tarball, looking at 000_index.txt + +src_prepare() { + mysql-multilib-r1_src_prepare + if use libressl ; then + sed -i 's/OPENSSL_MAJOR_VERSION STREQUAL "1"/OPENSSL_MAJOR_VERSION STREQUAL "2"/' \ + "${S}/cmake/ssl.cmake" || die + fi +} + +src_configure() { + # validate_password plugin uses exceptions when it shouldn't yet (until 5.7) + # disable until we see what happens with it + local MYSQL_CMAKE_NATIVE_DEFINES=( -DWITHOUT_VALIDATE_PASSWORD=1 -DWITH_NUMA=$(usex numa ON OFF) ) + mysql-multilib-r1_src_configure +} + +# Official test instructions: +# USE='extraengine perl openssl' \ +# FEATURES='test userpriv -usersandbox' \ +# ebuild mysql-cluster-X.X.XX.ebuild \ +# digest clean package +multilib_src_test() { + + if ! multilib_is_native_abi ; then + einfo "Server tests not available on non-native abi". + return 0; + fi + + local TESTDIR="${CMAKE_BUILD_DIR}/mysql-test" + local retstatus_unit + local retstatus_tests + + # 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 use server ; then + + 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 && eerror "Some tests may fail with FEATURES=usersandbox" + + einfo ">>> Test phase [test]: ${CATEGORY}/${PF}" + + # 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 right out of order + mkdir -p "${T}"/var-tests{,/log} + + # create symlink for the tests to find mysql_tzinfo_to_sql + ln -s "${BUILD_DIR}/sql/mysql_tzinfo_to_sql" "${S}/sql/" + + # These are failing in MySQL 5.5/5.6 for now and are believed to be + # false positives: + # + # main.information_schema, binlog.binlog_statement_insert_delayed, + # main.mysqld--help-notwin, funcs_1.is_triggers funcs_1.is_tables_mysql, + # funcs_1.is_columns_mysql, binlog.binlog_mysqlbinlog_filter, + # perfschema.binlog_edge_mix, perfschema.binlog_edge_stmt, + # mysqld--help-notwin, funcs_1.is_triggers, funcs_1.is_tables_mysql, funcs_1.is_columns_mysql + # perfschema.binlog_edge_stmt, perfschema.binlog_edge_mix, binlog.binlog_mysqlbinlog_filter + # fails due to USE=-latin1 / utf8 default + # + # main.mysql_client_test: + # segfaults at random under Portage only, suspect resource limits. + # + for t in \ + binlog.binlog_mysqlbinlog_filter \ + binlog.binlog_statement_insert_delayed \ + funcs_1.is_columns_mysql \ + funcs_1.is_tables_mysql \ + funcs_1.is_triggers \ + main.information_schema \ + main.mysqld--help-notwinfuncs_1.is_triggers \ + main.mysql_client_test \ + mysqld--help-notwin \ + main.mysqlhotcopy_archive main.mysqlhotcopy_myisam \ + perfschema.binlog_edge_mix \ + perfschema.binlog_edge_stmt \ + rpl.rpl_plugin_load ndb.ndb_tools_connect main.mysql \ + main.mysql_upgrade unit_tests \ + ; do + mysql-multilib-r1_disable_test "$t" "False positives in Gentoo" + done + # ndb.ndbinfo, ndb_binlog.ndb_binlog_index: latin1/utf8 + for t in \ + ndb.ndbinfo \ + ndb_binlog.ndb_binlog_index ; do + mysql-multilib-r1_disable_test "$t" "False positives in Gentoo (NDB)" + done + + # Set file limits higher so tests run + ulimit -n 3000 + + # Run mysql tests + pushd "${TESTDIR}" > /dev/null || die + + # run mysql-test tests + perl mysql-test-run.pl --force --vardir="${T}/var-tests" \ + --suite-timeout=5000 --reorder + 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 + + failures="" + [[ $retstatus_unit -eq 0 ]] || failures="${failures} test-unit" + [[ $retstatus_tests -eq 0 ]] || failures="${failures} tests" + has usersandbox $FEATURES && eerror "Some tests may fail with FEATURES=usersandbox" + + [[ -z "$failures" ]] || die "Test failures: $failures" + einfo "Tests successfully completed" + + else + + einfo "Skipping server tests due to minimal build." + fi +} diff --git a/dev-db/mysql/Manifest b/dev-db/mysql/Manifest index f10cf6ec1623..73e2672e28fe 100644 --- a/dev-db/mysql/Manifest +++ b/dev-db/mysql/Manifest @@ -11,7 +11,7 @@ DIST mysql-extras-20171018-1948Z.tar.bz2 313540 SHA256 6b910637f7ac2d5132154357d EBUILD mysql-5.5.58.ebuild 4402 SHA256 f90aaf2c42115fd18c583cc2069f7d3e8a9525dfd9633456f4d24e024620cd3f SHA512 1e1a3e4a0285cd2b51763e91dfdc95daff97d2a2739d0b5938b1f2cd7f95dad33f01b66b0919943550a4f07922b33b69462528fc5c40f501e919444d22ef9916 WHIRLPOOL c7d790a65fb55a1676bf079ed8c18c710e41958a72cb9678c88a756a3d96d6894ac3adca9933b3ad3728bbae5ebebf3979b28146b0b5ee6bd1276fc675f85611 EBUILD mysql-5.6.36-r1.ebuild 5950 SHA256 aa2069134693657f666cbf7a100701e334a74f2acdeab5b609038d2ed79b6c57 SHA512 864b0a2be4a822855369c19a7c2879b9909caeb607181dc8e6b88617abd32c6ac93f006135a2ffc14a72f170d02a5ea9c80274e3c1cb0c00c253ca365583ae55 WHIRLPOOL b335dd3da99eb6d28a12d85ae1393aab72a9c9af67b3c8087d187fbb0b7f89cf3b69598e76c3f07e74636a0205808ce584d570bb6b9e2ed5b3dbca856876e730 EBUILD mysql-5.6.37-r1.ebuild 6169 SHA256 4ca65730c9608696fe46ef85933ce11076410aebacb5d0868665149c0664170f SHA512 97c04c4efc40db771592b0c5835b48520b3b5c6e99084f33c43cfae2f74883b99ecab35d8bd646bfe5e18717dd398ce946695d82bb8f7431b914e7060c8603d5 WHIRLPOOL edb2d8e3f65fb1be6a2480442aa72b027cb6fdafc1a541cad3a9d654aa75b18f2939512a747d1926593a9b62b0456191bd4a54dc1346b455575dde31ab32aed3 -EBUILD mysql-5.6.38.ebuild 6362 SHA256 528bf9ebea455f90b01b726e142f51431c21e9eb9c913bebe38f50ed3b62a08b SHA512 8c9813ea4c8d289d7293f2ff0f991e51aeccd44bfd5f33956e99cbe8f71a94b95ebc0c86517c8796e201068f94a740c4eed8fc6bb8bc19171cbfb512ca909606 WHIRLPOOL 1337b2a3576b8076f6d19c6f21ffe240945b5fee64cf6ac93827d5151399b66970504d4025d6d830b646ad9e5f418adf2a229271481d9993f5530a4b2b65f6f9 +EBUILD mysql-5.6.38.ebuild 6361 SHA256 cc2a884db25e9c2fb5472b511f46c401760f7d09e54dbbb44d5f323358aa3d4c SHA512 a75bb5e915c16b42c7ceec7c471e89315c683a5742d600e20a215d7f96f4913ee3c99865cc7aa6b0ff36d253ca18e09f1a1edf6eff806a69ab18e365088d8c5a WHIRLPOOL b63e1e6ee2be18f9bb39a85730dd3503291b13fca72580c4d502915506bc7e28ff7c5602b517eb90d66ab78d8a27e5fed3d8e47b61f6f631c0866d7778ab9cdc MISC ChangeLog 18776 SHA256 3ff64ef7497a470510146081692817768857fd4f297b98a184202f5fd06f0a47 SHA512 bfcb679245574135e7e0b7f0592771954bba01b6977ca4ffc8a37de181fb7fb60e6bd8b7c23cee0d41c4397341d282f28d43fed11eb176f12178123e0f8032e4 WHIRLPOOL c4601fb0d1ac3238f2d69a439463d66a67d843c197a55f4d9b436493e979393047b9549053fa00b46a3ed3719d72565ebad38c35ace3abab145e751212c047a8 MISC ChangeLog-2010 108404 SHA256 93dda53b8871d9040e6aebb59f095a8debd5c0a9437e78e5e949989e209ba5cd SHA512 5f54b7c2e25d27680a9313da2450851118e34a57202d9f36f59da52834ca3b587701d93868d71bf684ddc253d49f87837c8d7e2d442f2955dfde8a701150fbe5 WHIRLPOOL 55f758942e3012aa0ae7d529c2f8b6e0d8f4d7cbde09039f16cd05f0a58fc4e3e09ccd50e366effdcaab4641300eb0f494ddbe3a35a645ced8a9d747d80e9821 MISC ChangeLog-2015 27542 SHA256 997fb94e9984a271cfd68316c0012c16f78234b1aad328c2c5e97e2940f7dcfa SHA512 f07244cfb59f613fcaed97ad0ed135857ba995b616962b145548ecf84176666986fc9fb5e55ec543110755e73d316ee5a733cfc1ce14eb1ca2a1449adfa50859 WHIRLPOOL aed27d4cb6a7cf33d354fb559268baac8c7977dd9cdc821b12af8008c94dc22d0dedace9e33caae6bd676405a3a02628e1a8ae8d3baac46af33b95251a94c70f diff --git a/dev-db/mysql/mysql-5.6.38.ebuild b/dev-db/mysql/mysql-5.6.38.ebuild index 01d0263e17be..602ee7cc67f6 100644 --- a/dev-db/mysql/mysql-5.6.38.ebuild +++ b/dev-db/mysql/mysql-5.6.38.ebuild @@ -16,7 +16,7 @@ inherit mysql-multilib-r1 IUSE="$IUSE numa" # REMEMBER: also update eclass/mysql*.eclass before committing! -KEYWORDS="~alpha amd64 ~arm ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" +KEYWORDS="alpha amd64 ~arm ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris" DEPEND="|| ( >=sys-devel/gcc-3.4.6 >=sys-devel/gcc-apple-4.0 ) numa? ( sys-process/numactl )" RDEPEND="${RDEPEND}" diff --git a/dev-db/pgpool2/Manifest b/dev-db/pgpool2/Manifest index 6a99b5f6f595..c10e3658c9cd 100644 --- a/dev-db/pgpool2/Manifest +++ b/dev-db/pgpool2/Manifest @@ -11,13 +11,15 @@ DIST pgpool-II-3.6.1.tar.gz 2539510 SHA256 244f99a70198b5861a63b2fe3e44ac39d2819 DIST pgpool-II-3.6.4.tar.gz 2623625 SHA256 6ad78b9878d126e8da1e03e8edf3c8d56bb0754fe6432f633e81f6faaf8e6dbf SHA512 a44724b77faca12bc2b46a88e307c10f8099574b5a27720c98f2939fbfa61f41b4c3dc03565412972c351c10d57da4324a483c310b52f624f5ba87c2bd4d006f WHIRLPOOL 410136d359baa369f3d19136da54ba202c8b250bf364fc2f9b91a66190266ae523647cc89313211b63effbedd97168d026a2574be059dd0da7c8768b2d9714e7 DIST pgpool-II-3.6.5.tar.gz 2651330 SHA256 f7eb62bd977a24d9187dc6aca6dd73b3b9e322cb3680ab5f5191a7e802a3cc9f SHA512 12247730f202859c76b0a11ccc485de786e53df7b8e08ffd76d7653c25633d79387f027e7c9d804bf19cd89b9db047b7ca0cf1cf5e914ee74c6efc0b6660eb1d WHIRLPOOL 22a153afc9f4a37ff52165ac6e79464ccff42600dddf085908da5cd6a62d7a5d5690dfe029adaf197f7f8b9d4f033326b5d2f61648133db3881129e8c1c55499 DIST pgpool-II-3.6.6.tar.gz 3171264 SHA256 5fbdac14a07b4f4cabef8bd224be1fbb0770d9aa4731d8fa7905878dc4c22fbc SHA512 02cfceed761cf6338ce0a33e9afe05194acdf4d5577cf0d920176cb3bacffce6e9c2c1e8a8b89c5b062bc53d54cd012a4ad9582b42df7bc36ee666dcd0ee3e10 WHIRLPOOL 504c49cccfb3be78144defc5eccce46e1994f0049a9b5835130ffc7b5339f05ef5a562236053c4b10a711053384baccbdc96eb60ee21ea24354627f594bbb8f1 +DIST pgpool-II-3.6.7.tar.gz 3188186 SHA256 09cfe2cb36b9171d4a987a8b100e298e46d6a369c1b61d9e1a47d442ce16e249 SHA512 4bc80f4b47f4b37e4efe1af137c2af076dc98c438bf094236223bba0facfaea91546a86d7604e67453b67e82a24ac5ee6e4325d81f90358a3a0d7a6c34acd7fc WHIRLPOOL 7a17fc13792d3a7b257577013e8e9d5264d928ba93f96a6a9ecb5a08ac9ace246f22ec655e12e12e46ff371c411835cf8dfef3528bc70625daf197850adab9aa EBUILD pgpool2-3.5.2.ebuild 2465 SHA256 009b6abc74f1c3a31d579cb1855713682d06706b08cb14e22bf062dae6f9b3bc SHA512 5f1d18669f16acdccda9eedb0a24d61705f9b9ea23130c95428ba1143ca337815e724047b9b41ee48ae7ae0599e329edd4a45ecc3ac428b95868d9990b4542bb WHIRLPOOL c5ccd1bd550e758512a765a78fd1a623840b1884c604666588b29a7c51a0afefb586dd0d597c181fe2c3832bdbc67a905d37ae1669675b924b22f6e206fcbb81 EBUILD pgpool2-3.5.5.ebuild 2465 SHA256 d13d9a638056e34e34685a8837b465c568f31e0a33d768c3ca1e6da99afffdd0 SHA512 8cbe17265f1b698eca9386d1268dd3e07cc305efb0b4bd8cecd995656827bcb1db573094514d7f1e0b51a9a80effb70bffdc7c3c62f14fe974c468e2e3090926 WHIRLPOOL 1d7765e62fc20b9f8455a2225c43c0ce085563628eb3fa127235e2a8fe103accdea6bea045cbee7741d3d8bf9aedf846487927e7f0ec339752589e6bdcb9e2fd EBUILD pgpool2-3.6.1.ebuild 2396 SHA256 5413cc6e97d9d03f6a8d9306925e550dfae066b84e8b350fc37cb20bdde048bd SHA512 27b23a48947221074fee372c3c1708492796f1d0671d0f98272aa279c8021e491be182b7cf5f74e7ab7fa8a683a76539e60ad28ea89a79ed06984bc2e3920386 WHIRLPOOL b4fc29df28364b3ccf26612f3eff4808ed0473caec41d121a2d9b3d4d7fad3f080f24ad9badf97d363d27ad40ac09376874f8df8b80b06ec72460ddc706531d8 -EBUILD pgpool2-3.6.4.ebuild 2482 SHA256 0bc4c186c05d05d79cbd4381f6cb2d8f45d85d3fb6d07c46c237062d12e7bd68 SHA512 5d6fe03bd4d38ab5b73531635c81ec7aadfc3387646cb1c4833e20b19f0863b1c9b5d8d85426a2176986adab30359b7ab984dac0002ceb0f42e0cba1886edfe9 WHIRLPOOL d57efc4b218af5870a249265a73c4dd1eca8b4ea2368c26f9d42a4574a7f1ec3a225029761635aac1bdbb0f5a4458ad62b8badbcf267820271f2098d21de4c95 -EBUILD pgpool2-3.6.5.ebuild 2468 SHA256 ab395a3727d617226980e606bc9d7d36be1bacddaba0fdd23303433ba6a1bee0 SHA512 265a1b0be61105fe691ef883491733c8acd5cdbcfd98e9010c0d901b6891a4373afabb95f4697f000612a14700f3fc1afde27fd9a55f97879d67d3f7d6ecafcf WHIRLPOOL a3edcc30ed0c8c66878cbf7a665ce066a3f636b1eb6911eaba862f5b55fcd35a89b00a7fa17f482a6b2c876a7e140841215450602474a48750a933b54eb43152 -EBUILD pgpool2-3.6.6.ebuild 2468 SHA256 ab395a3727d617226980e606bc9d7d36be1bacddaba0fdd23303433ba6a1bee0 SHA512 265a1b0be61105fe691ef883491733c8acd5cdbcfd98e9010c0d901b6891a4373afabb95f4697f000612a14700f3fc1afde27fd9a55f97879d67d3f7d6ecafcf WHIRLPOOL a3edcc30ed0c8c66878cbf7a665ce066a3f636b1eb6911eaba862f5b55fcd35a89b00a7fa17f482a6b2c876a7e140841215450602474a48750a933b54eb43152 -EBUILD pgpool2-9999.ebuild 2420 SHA256 f5f6ff4fe45e0b7f20206defa6b03fe946e0cba3fa2708361a7cc37c999ca6e3 SHA512 de8cbbc56013fefaba4d7a93e7f6c218e40e8233b44694efc99bfca94bb1b1cefa9438fcb6c0947ffe71abd09c4a4011ffecb8089bd32f7075304b578ef132d5 WHIRLPOOL c748c80ef34f2c9392b75edb49d0089a3dbf50ca4a516b2a21fe4203b329ed18f76ec2e724f1d9b4201e3bdd568852bcc8633d7298dd1de8e7f756d960a5e4bb +EBUILD pgpool2-3.6.4.ebuild 2502 SHA256 5789241ec771cc5943bf2771ee31eaff8fb1276b72c6c5f41abf1f3dc3444ed1 SHA512 2c2ebf35fd59e3d6103f7416a4f0cf2b16858773d9e12ac2d8d146af2103008792bb2c49927772e44e4558775299ab268b822f3ffa44a4e279cdd8214d47bc27 WHIRLPOOL 1aa003aa83ecac9bbf739965d41ca39d71c401129288a5ac63ec8d4f4fbde61d9e09e10e0aac43cac3e9d1f527bb2bf9de0a0d7154fac8046a284f78e539b7af +EBUILD pgpool2-3.6.5.ebuild 2488 SHA256 eb561f883526e4b746ad905c57f40c4ba09e2a2c181612914f5280cf1c6dbcf8 SHA512 84f54eadcc0500659d4b38314183eacfa3fa0a7e518cd354368beb96a6b1a6d6e5c9bf47abb601f2df33ccbe7f924dc51c5a20e1550090f09f625d6f59181630 WHIRLPOOL 027debb26706b87bcc79c3b4f9978a1a5ea4993cf800bbaa32f4f7f1fb0de4ad0b62d757a1e8178d4e81e9b765dc3197143e7e7068d5fedab9c6a303724c4701 +EBUILD pgpool2-3.6.6.ebuild 2488 SHA256 eb561f883526e4b746ad905c57f40c4ba09e2a2c181612914f5280cf1c6dbcf8 SHA512 84f54eadcc0500659d4b38314183eacfa3fa0a7e518cd354368beb96a6b1a6d6e5c9bf47abb601f2df33ccbe7f924dc51c5a20e1550090f09f625d6f59181630 WHIRLPOOL 027debb26706b87bcc79c3b4f9978a1a5ea4993cf800bbaa32f4f7f1fb0de4ad0b62d757a1e8178d4e81e9b765dc3197143e7e7068d5fedab9c6a303724c4701 +EBUILD pgpool2-3.6.7.ebuild 2488 SHA256 eb561f883526e4b746ad905c57f40c4ba09e2a2c181612914f5280cf1c6dbcf8 SHA512 84f54eadcc0500659d4b38314183eacfa3fa0a7e518cd354368beb96a6b1a6d6e5c9bf47abb601f2df33ccbe7f924dc51c5a20e1550090f09f625d6f59181630 WHIRLPOOL 027debb26706b87bcc79c3b4f9978a1a5ea4993cf800bbaa32f4f7f1fb0de4ad0b62d757a1e8178d4e81e9b765dc3197143e7e7068d5fedab9c6a303724c4701 +EBUILD pgpool2-9999.ebuild 2440 SHA256 d6ac5ec09fd376eeb1ae9b5f94e8c29a07fa28a4bed3168e8ce62fdf04a02541 SHA512 b2fd29cf9643d0cf093c64db9283dadcaa39fec6cca1ca8f1cb1cdd85265cbcca2fc30a52a041d2683328235c8717cead2083813f8b6365ad3465c620f0ec0a1 WHIRLPOOL e300373fbbe0862aeec6220fcfaf87d7912572d390dd111dc25d57cf6f7becfa6488c3c3de877ce68ab9bc7f21a27ed4029074961e4dd8202934adb0982fd2af MISC ChangeLog 3763 SHA256 dc204ef977231a6acb1c9782acef4b57568d2b00fea4f6608b8e5aba1bbff885 SHA512 3b69836d0a396c3f27c9a201b14c1deec7c502e59aa89f0ae836d5f4a4f245a8e6af9eb841cbd9cd423607a398f1b053ab79906b069535a5a335f33d25bd5904 WHIRLPOOL ed590470288ceaac302a7949d790affe4eb8bbf873007111e4c4fe05d29f61bceff5b5b0f51e1e2f310761f4054e38586c83f8aa365305582cfc72ab470f2e54 MISC ChangeLog-2015 5253 SHA256 fa072640b1475ffb2c7cb9407832d0cd2e1ae47d71be3f8ec6e60c7887c5a7d3 SHA512 a4e8b1bc2e41e6280fb37fc9edfec9cfacea8d611aaf2c344ed177cfccb7e9bd72e95c2fd1b8ee462c4c632dc09e365c3fc1aa4bb46aace1afbd0d0f288e5620 WHIRLPOOL 4e41bffad28612c3c2580561006f6f8e73a82506b52f704311d3d70cce7314166741f6701655e981d97d05b2668dcac50c3d5addee63fef1985034433e1916d9 MISC metadata.xml 390 SHA256 5f53324eed631180f21fa0a389a924158b09d877441362d09bda1d50f313019e SHA512 ce26ee116c3c7ff77a771294ed07f38d8f940dc380915c339eb4c543d86fa5bde025ba83e70af2b7bf4a1bef1e51957f151131836855e0dae2e1daed73ffae8d WHIRLPOOL 6b73e921bcf284cbfd72c420e13b7b40260fe1f66ffdf905b88000e4f3f9676fca36d58b09c0f7e51e51d1459f2b9f944023f5e9991899e53fbf2dde52128405 diff --git a/dev-db/pgpool2/pgpool2-3.6.4.ebuild b/dev-db/pgpool2/pgpool2-3.6.4.ebuild index cf9cd0abf25d..e3a92f81d557 100644 --- a/dev-db/pgpool2/pgpool2-3.6.4.ebuild +++ b/dev-db/pgpool2/pgpool2-3.6.4.ebuild @@ -21,6 +21,7 @@ IUSE="doc memcached pam ssl static-libs" RDEPEND=" ${POSTGRES_DEP} + net-libs/libnsl:0= memcached? ( dev-libs/libmemcached ) pam? ( sys-auth/pambase ) ssl? ( dev-libs/openssl:* ) diff --git a/dev-db/pgpool2/pgpool2-3.6.5.ebuild b/dev-db/pgpool2/pgpool2-3.6.5.ebuild index 6029e61e8832..830743a0c780 100644 --- a/dev-db/pgpool2/pgpool2-3.6.5.ebuild +++ b/dev-db/pgpool2/pgpool2-3.6.5.ebuild @@ -21,6 +21,7 @@ IUSE="doc memcached pam ssl static-libs" RDEPEND=" ${POSTGRES_DEP} + net-libs/libnsl:0= memcached? ( dev-libs/libmemcached ) pam? ( sys-auth/pambase ) ssl? ( dev-libs/openssl:* ) diff --git a/dev-db/pgpool2/pgpool2-3.6.6.ebuild b/dev-db/pgpool2/pgpool2-3.6.6.ebuild index 6029e61e8832..830743a0c780 100644 --- a/dev-db/pgpool2/pgpool2-3.6.6.ebuild +++ b/dev-db/pgpool2/pgpool2-3.6.6.ebuild @@ -21,6 +21,7 @@ IUSE="doc memcached pam ssl static-libs" RDEPEND=" ${POSTGRES_DEP} + net-libs/libnsl:0= memcached? ( dev-libs/libmemcached ) pam? ( sys-auth/pambase ) ssl? ( dev-libs/openssl:* ) diff --git a/dev-db/pgpool2/pgpool2-3.6.7.ebuild b/dev-db/pgpool2/pgpool2-3.6.7.ebuild new file mode 100644 index 000000000000..830743a0c780 --- /dev/null +++ b/dev-db/pgpool2/pgpool2-3.6.7.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +POSTGRES_COMPAT=( 9.{2..6} ) + +inherit postgres-multi + +MY_P="${PN/2/-II}-${PV}" + +DESCRIPTION="Connection pool server for PostgreSQL" +HOMEPAGE="http://www.pgpool.net/" +SRC_URI="http://www.pgpool.net/download.php?f=${MY_P}.tar.gz -> ${MY_P}.tar.gz" +LICENSE="BSD" +SLOT="0" + +KEYWORDS="~amd64 ~x86" + +IUSE="doc memcached pam ssl static-libs" + +RDEPEND=" + ${POSTGRES_DEP} + net-libs/libnsl:0= + memcached? ( dev-libs/libmemcached ) + pam? ( sys-auth/pambase ) + ssl? ( dev-libs/openssl:* ) +" +DEPEND="${RDEPEND} + sys-devel/bison + !!dev-db/pgpool +" + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + postgres_new_user pgpool + + postgres-multi_pkg_setup +} + +src_prepare() { + eapply "${FILESDIR}/pgpool_run_paths-3.6.5.patch" + + postgres-multi_src_prepare +} + +src_configure() { + local myconf + use memcached && \ + myconf="--with-memcached=\"${EROOT%/}/usr/include/libmemcached\"" + use pam && myconf+=' --with-pam' + + postgres-multi_foreach econf \ + --disable-rpath \ + --sysconfdir="${EROOT%/}/etc/${PN}" \ + --with-pgsql-includedir='/usr/include/postgresql-@PG_SLOT@' \ + --with-pgsql-libdir="/usr/$(get_libdir)/postgresql-@PG_SLOT@/$(get_libdir)" \ + $(use_with ssl openssl) \ + $(use_enable static-libs static) \ + ${myconf} +} + +src_compile() { + # Even though we're only going to do an install for the best slot + # available, the extension bits in src/sql need some things outside + # of that directory built, too. + postgres-multi_foreach emake + postgres-multi_foreach emake -C src/sql +} + +src_install() { + # We only need the best stuff installed + postgres-multi_forbest emake DESTDIR="${D}" install + + # Except for the extension and .so files that each PostgreSQL slot needs + postgres-multi_foreach emake DESTDIR="${D}" -C src/sql install + + newinitd "${FILESDIR}/${PN}.initd" ${PN} + newconfd "${FILESDIR}/${PN}.confd" ${PN} + + # Documentation! + dodoc NEWS TODO + doman doc/src/sgml/man{1,8}/* + use doc && dodoc -r doc/src/sgml/html + + # Examples and extras + # mv some files that get installed to /usr/share/pgpool-II so that + # they all wind up in the same place + mv "${ED%/}/usr/share/${PN/2/-II}" "${ED%/}/usr/share/${PN}" || die + into "/usr/share/${PN}" + dobin src/sample/{pgpool_recovery,pgpool_recovery_pitr,pgpool_remote_start} + insinto "/usr/share/${PN}" + doins src/sample/{{pcp,pgpool,pool_hba}.conf.sample*,pgpool.pam} + + # One more thing: Evil la files! + find "${ED}" -name '*.la' -exec rm -f {} + +} diff --git a/dev-db/pgpool2/pgpool2-9999.ebuild b/dev-db/pgpool2/pgpool2-9999.ebuild index 031166c54b9d..c8c5ae2d3721 100644 --- a/dev-db/pgpool2/pgpool2-9999.ebuild +++ b/dev-db/pgpool2/pgpool2-9999.ebuild @@ -21,6 +21,7 @@ IUSE="doc memcached pam ssl static-libs" RDEPEND=" ${POSTGRES_DEP} + net-libs/libnsl:0= memcached? ( dev-libs/libmemcached ) pam? ( sys-auth/pambase ) ssl? ( dev-libs/openssl:* ) diff --git a/dev-db/postgresql/Manifest b/dev-db/postgresql/Manifest index 153b4ed98475..00be7fa713d7 100644 --- a/dev-db/postgresql/Manifest +++ b/dev-db/postgresql/Manifest @@ -20,34 +20,45 @@ AUX postgresql.service-9.6 1579 SHA256 42c0a9284f3c7afd4148b8c80c8ab9f7a84ece2b2 AUX postgresql.service-9.6-r1 1477 SHA256 42c8458a3e58e38c738d003eaec80d788ea2f5ed8f23d0d06d61297d0c0a804f SHA512 9e2b04923f6ebec1424c0f276c58a6a0c4933f2de5e2a9776169227729afd06ce5284461be8b6ed70e5aaff2a68b9f96c6893d867d35761c9977f9847ccfe93d WHIRLPOOL c8068b9ac951b79c6c69eabdc51360eebd32964d8851335c8828a53482ab889d210c8bf00b36550172afa9d171886d90e574a5ffa37ef095b5a9f62d37492051 AUX postgresql.tmpfiles 39 SHA256 648794e824e2fe61cbd591c8d533e15391e47382a68f56038b075acce5d3f112 SHA512 498060f2a597cf374f4fb31deaa2d6c5b00edef68efc0e71b82bfc20b717ae12518ba18fcb455a0c518ebba1a0868f38321470616151d02fa79b889a66dcb9f8 WHIRLPOOL 6288c1c2b899d3b2c75fcde1d4cabc9d2421aecd4ede13a8355f36a96986cddc237a03698dc27ebd9ddf87b682fb60f0cdf816829a685fa574ca7b05746ae493 DIST postgresql-10.0.tar.bz2 19639147 SHA256 712f5592e27b81c5b454df96b258c14d94b6b03836831e015c65d6deeae57fd1 SHA512 88295af13db77a85a604c925aa627d383fdac62c1185119bba87753ce4167a13aed0f055a7a1329b3051f8757c6ba7529baed00a564ef0cfbee685720f282678 WHIRLPOOL 134ed8b17770e53f0a898c0b459a6abaaedfffe71e4eaefab6f9cac44b7a1e4d30da83949f65fe4567751bf58d6be4dbbc973f243af6130ca13c6919e4231470 +DIST postgresql-10.1.tar.bz2 19669989 SHA256 3ccb4e25fe7a7ea6308dea103cac202963e6b746697366d72ec2900449a5e713 SHA512 06050d353aa43f32e0de0199d833d8a4652aff893b718b1c40ed31837838f73fe4d977ac0f2164ab97b3eeff4aae3409f440601740898a893877d96bc0ed1882 WHIRLPOOL 9699860ac6bca3fab34efc90137726a0856c3bb27420b57eb5e380f3dcdd4ee15d2c429984de39a41edd58052c3639efadf183f309aa1927be19fa8d51e08536 DIST postgresql-9.2.19.tar.bz2 16466698 SHA256 1d29d73a4f590fcc348280f13ac2ff6a0f72c94908c54e3c20b7ab1560e8dbad SHA512 d3b4c5578bf6d6580028e775bff81a921258cb53b6b06567d96a352d14f3b63063adb480b2f5e2029baf8a034e14b5cd75eebc04f1ed7b16c849e1a5ec1f4867 WHIRLPOOL c13b45fd7aee08ea472557c9f40d79c45abd572fefcc215002b562b8046b1937bf522f6f7f6e280ff1e434c9698734cda9f1c3dacd3c8fee5f33dad0da21f75f DIST postgresql-9.2.22.tar.bz2 16531224 SHA256 a70e94fa58776b559a8f7b5301371ac4922c9e3ed313ccbef20862514de7c192 SHA512 3e5ab04c2be2719579b2ebbf64b220522acfd9ea74029dd2ed699f60230da224bdc99de4ee5529b513e5586de0377764c4e54deb3dd93d5c53c4d666dce2b6b7 WHIRLPOOL ff1817463b488f4793cd0851df846b961d5510b7c1cf4a560717755ca47c363eb782bc1f2cd7a5d8cbc49727dea64394c6b30038105fc584749157157948964d DIST postgresql-9.2.23.tar.bz2 16531436 SHA256 0e6ecdfeed69030dac8d219ecd4c350ce45e9f2caa9d73e166e407e87afec450 SHA512 9715cb9aa34921f7d246837c6c516d588f88fda543ad635520e9575a5ea448ad39062f2c89c086c7f129cc5f61f4dca33e4f5fd94e1df39da428507c56a81ba3 WHIRLPOOL adb7b0b54661e5208967d6158591b918e776a998d34973c907afac83fb50870f2357446ff40bc7a0fbc71723c12c299b0a29ab3b8a71c1ab5b302281d3a0cd50 +DIST postgresql-9.2.24.tar.bz2 16552576 SHA256 a754c02f7051c2f21e52f8669a421b50485afcde9a581674d6106326b189d126 SHA512 a6f043e5ef5e12e23c1c43b26a5ecafce62f3a86f38b5b85e7cb0cb7aa376d40e460a526baf67ae40de40525e4744fb5e48650ee5e007db4ce9742fcf548bd56 WHIRLPOOL cee74b3672f69654e7276645fb7d681990c03d3cae1039a341ac02689aeaf50fcbbee79b3e69d09452d78224c6252f3b2bb5d6429b3d4bde6bd1c91ab8882d12 DIST postgresql-9.3.15.tar.bz2 17059932 SHA256 a9fcba1446a93aa95e3e1b6535756f0472d10b0f267a0845f8b2b29f89de5c4f SHA512 35c30cdb5599f99c94ab921f9f5e7671a8c0b7bca8fe3b616630ae13d6eda8d329e77e7e802da6a83cb09c3c9ca10fa8ce0de8a184e6fff471130e1cd68ce762 WHIRLPOOL 7a627b2da1dc3671df7edfe58420f81ce24202c1251225054674d79e431bc36e1a70c84aaacb76c59e9eefb26429cbbb9ea80c45a989e3564b69e334d3dd4d84 DIST postgresql-9.3.18.tar.bz2 17194269 SHA256 ad60d12a5a3dd0f6f5904c41b87e43eff49d3f74e45129fe52c5744366ff2fe0 SHA512 df3f2e0bb396cac74021fcc1a989d04515c12e73846b7392ae859c32668d73ae0027607426072672b6228d7533cc512f72b5729bf5c8f7b0e8d0270727784455 WHIRLPOOL c5b3db88e01c507556b354acb1ecf2bbf43246d023c5d9e1d8479ce4aa9944beca518abbd3e810830af1d75356272b4df3eb58358edfdd265cdc395f62ac8c33 DIST postgresql-9.3.19.tar.bz2 17190203 SHA256 fb9e872cd9e927ba331690d86bc63dcb5a596acb7a536fa0518a3c7d43ac2fb5 SHA512 7293d75b97255720c30d342e1de6032e14e9112e283d2668e80320f76906038d7419ffa7a12eba1fcf9f9274595db10e372db4999b0845cb55998d47f683ebb1 WHIRLPOOL 11ca6ea696de3c25bdaf6073ca4163dbc2f7699772b38ea2c3aababd5b3fb0b0f05e55fb3c255556e35ea3f2feab7129ed5c0ec3944d2f430d0681c33fe4d398 +DIST postgresql-9.3.20.tar.bz2 17197360 SHA256 eb138ad67075b8acb4fae56e98ca7be5d85f3da0ba658fc48206834598a2e6ca SHA512 40098661bf00b64ad2d773b242613c44fe269b5ae984ad8990f85ce705b27138b127493c507103052fb6705d52f2e63a1df6692c7024d43c3c6b18154f2ef407 WHIRLPOOL 00517b0fb95d4e344379c8fdb9273690e7bacedb39cccc41dfb49d37464071b9efd3eb5bb298484509d9c871f7ae4582670579633378b331fcbda70db4fa595f DIST postgresql-9.4.10.tar.bz2 17802812 SHA256 7061678bed1981c681ce54c76b98b6ec17743f090a9775104a45e7e1a8826ecf SHA512 2fcf47769b22c69bc82c9d6edc317e18dfcb4a96534e012bae4355e5088afa83da98b21e08a07766794f0a166888acbd16705a806464ea11711ed97c3b4012fb WHIRLPOOL e6ed3c209043cbbacb0698e1be367f20028d649d4cff62b5d6edd162c6ad629a3ec5f55854bd12334a3d3165462fecb34188bd62cd398cfc242a3579810b5b85 DIST postgresql-9.4.13.tar.bz2 17867502 SHA256 0080f55d65194de8b96a2dab153443f8248ff2b2b10e6ab4cda2dcadcac7f2ab SHA512 98e5721ab1ebc88070a5c2c9ef10e4fc21825de495db71f011577aa15fdd31c2dc0429d48e1624f7161c9d31dd75de4d8cf4ed2e34006ed6d1852f04a948e932 WHIRLPOOL 4f963b81dca21a2f3f5e047b5cfd1796d103c0648c4af0250ffe2274ed71011634dfc1e8387fe6dfa6589585a8fcb5accc9878c461978b9abd483b85f6ea3e68 DIST postgresql-9.4.14.tar.bz2 17873740 SHA256 8e7df23a104b057b360d03180ebcb67f645e198a4a0bee94bf56b2bc9505ec6b SHA512 5952479b7c911cc381744e72d44c7c2269f98f4dda677e8c20a8ac7f4281e143017d287634b707ed96859e5438e82e96668bc4c68bb0c2ce9f3853c5a38fd0b2 WHIRLPOOL de4deeef5fca6375265665cc847b693a39bf09e13d8dcc717090b808b82a6fb5cab5e0da0bd7f9bcf299de979d21bbbb6845a0419e6967519711c6bb7ff559c1 +DIST postgresql-9.4.15.tar.bz2 17921677 SHA256 12bfb3c7e8e45515ef921ad365e122682a5c4935dcc0032644433af2de31acc4 SHA512 be69f184cf18fb4c611d31a128f3593dc537551606f1db84a3ce9899b72f546876f05b29792435c3780c6c2b571759f4db2c172d62b2c012bd58574df80b4eb1 WHIRLPOOL e0ec742229b83c571595061d3d8aa7b1fa2876582bbb8eae99ebc2224a0a0100b5e6ceea9d05667cdd9568785e85b43f26f345a3ce5bec1269d821aa3b0c62ed +DIST postgresql-9.5.10.tar.bz2 18701419 SHA256 945d7ade094dded6b95495d8f1561a12ac9608276858ed30adf3c3658275f281 SHA512 24e31adabb0b88be882ab0440c560f0e4d5d69203be0581ca0ce22316555d92219ea0a2fd5254f12b2508bd3e58bbe0f1a7c8837228c96d9d5f00caac45af95a WHIRLPOOL 4843980a8c09a424b85595e3fb2f7915b2aa483488417f0a2525112cb3db849b94b0fdd2c536321e8d40a2c43ff7c2683908d7d2217f2d37e397a5e9293fa0ce DIST postgresql-9.5.5.tar.bz2 18525082 SHA256 02c65290be74de6604c3fed87c9fd3e6b32e949f0ab8105a75bd7ed5aa71f394 SHA512 727ab57796cd393ec3755e9aabf515ebbdc3152b4062c20e64511e866a7e7038ba5c5e2843f13f3a79e2263296451f0e93108346b6f638611fba2449394e338e WHIRLPOOL ec5262fd8cecea20fd12bcec8e6e015817ae8181d9e9ff6d8aca6ed43cadedac1bd5006c3d04262b99b9a79aa02c409920ab3392136f3ff3dc480fe1155cade8 DIST postgresql-9.5.8.tar.bz2 18670910 SHA256 ade57068f134f36710fa953e1ef79185abd96572f8098741413132f79ed37202 SHA512 4a11f0a16df460391c8250122ca8bf1ab76e49672a8c003ed09718bb4ce2aa57757e7aaec6e41b53d0d1ada293172b974761606647fcc8b4fce8807490b6ef10 WHIRLPOOL 7688ddeea69449d2e2a518017d306f6c17a08becb258297cbf4bde9f3734c5ba2129a9660b448df458963a7cdc796bbb72f2798c20abd3d50d1be8d4f3f94ec1 DIST postgresql-9.5.9.tar.bz2 18677113 SHA256 e98cd5c664ab5a05cb83618ba8078647815cb71f7a60437f0322c7518727cdd4 SHA512 2c6a887b80a4b1d1da18282f443419db2279d8fe61821aa6ed1e9af6d28dda41959981ccede2456bd8835dccd16a80fd485ebc0a1bdc9459996a5d27d7781c55 WHIRLPOOL 522c7927c102b9a3bf14d79d00cd9d598f02dcba97f5f6268f4d1fc0ac20773bfcc96bea945ca958b3ed499af3d1555d8b731a1ef0915d919923d54915090147 DIST postgresql-9.6.4.tar.bz2 19566875 SHA256 2b3ab16d82e21cead54c08b95ce3ac480696944a68603b6c11b3205b7376ce13 SHA512 b0527efacce6efc09340b68c8c56483cd884676e01cb6bfb4f9ce63226a394bdb0bcf3d832f84e4dff5ceecf09ef4cf93e9fbd0ac453ec85efb11ac50a7dff39 WHIRLPOOL 6296114c2a6f690428754278d11fb93f2142c28bc36e0a17b4b075b60ee90bf708d73d68ff6e8118253ef22e54cd5e325094e3675eccb7f060e32af2572a65b0 DIST postgresql-9.6.5.tar.bz2 19576132 SHA256 06da12a7e3dddeb803962af8309fa06da9d6989f49e22865335f0a14bad0744c SHA512 ad35c27ea55b18005ea61b49d6994718df86519b3f99addd0ecb17ece1f1c34764eb5194f8961c45cfa75703d810baf54433f8538cfd43a70bd908e1e5878df9 WHIRLPOOL 19e235cc5583b23fc00c3cf47a77972471f39753dc16305e880b22e32395194bd002dd86da1b59be795a9df7786b02764af513aae992a0bea00cd6fcbf349c41 +DIST postgresql-9.6.6.tar.bz2 19605724 SHA256 399cdffcb872f785ba67e25d275463d74521566318cfef8fe219050d063c8154 SHA512 ac2f0fe6ef7c4e14f85cd7592d1306d9657b7f35efa6f43a089d7785ab970b8c25aa1e66d83df056c23513d6dbac0a9f54717b3d85758560d02e7f8141914ebc WHIRLPOOL a4b3c3b7b4b5b33c2471babccf61865b95b850cedfe5a12632f24be5f3f26808771cb2994e085811a35a2ff3d32386d787130bd8315b0b907b7f3bfdaf8a5ca6 EBUILD postgresql-10.0-r1.ebuild 13755 SHA256 90d199e06c0992613b35a51d06f0d786a155361fdebefe78672fd092e6fb5bb8 SHA512 60c6f0d5ecef9db6d0095b1a3010dd8e4a3af1a94e69bea90336ae9ff0dd2bc48607016f93e8e56cc3b755d6f20841cffe70415bf9bdbc84c73a4a55e6990a0c WHIRLPOOL e51bc1c90d09f06304b68c2cddcb0e66aa01553fc7a8a093e3e25775c7b634913334e372ef4ac8163b6dda36d13aec13d15fe16b7dfc20e9e42e1ef4a02cfec4 EBUILD postgresql-10.0.ebuild 13607 SHA256 348ceaee92275ae06c259bf7c568f9a771f8a269bd10ba550db8c75fe22ebea8 SHA512 fe84e6f2e87505cfe5edb0d571f54465cd2e7d05ea9a62a1e6b9f2e96acf36dcfa6adc7995e80eb4b2d27c42c0c4a69e476f4d86068124755f2a6cfbcd623cb8 WHIRLPOOL 338e2685a058e9a256a01dacb1d9346d858ca66d8fe5f991a1281c8e9e23a7e5af1e33390176aa749202ad6d196d1b1e08337e8c026a27d09511d8afdec1403d +EBUILD postgresql-10.1.ebuild 13755 SHA256 90d199e06c0992613b35a51d06f0d786a155361fdebefe78672fd092e6fb5bb8 SHA512 60c6f0d5ecef9db6d0095b1a3010dd8e4a3af1a94e69bea90336ae9ff0dd2bc48607016f93e8e56cc3b755d6f20841cffe70415bf9bdbc84c73a4a55e6990a0c WHIRLPOOL e51bc1c90d09f06304b68c2cddcb0e66aa01553fc7a8a093e3e25775c7b634913334e372ef4ac8163b6dda36d13aec13d15fe16b7dfc20e9e42e1ef4a02cfec4 EBUILD postgresql-9.2.19.ebuild 11735 SHA256 138e40dd809a0af6cd2a227e5b5fbbeaccdc429942a9a72f9627f47fa42b0fae SHA512 a8adf4f3cfd3ccdb22f0f1fd8c2ca2498e6a06643b62bbd6349ec1728ef9af4832ec27904c18fc8d8d43b5f1444c020c5214f4373a556d9d94adf4b0b16a72ee WHIRLPOOL 66b702a7a9c099a0489e1d364d0d31546f4106843a10a872fb911bb055e37d668bd819d104000b42801311b4dbf2b5ed6159e5b412af91d7c5419e05b228109e EBUILD postgresql-9.2.22.ebuild 13345 SHA256 dff3fded6bcced845bd0fcf77b7fe126324ce0a31922144da50e1e9ad5f35f56 SHA512 c0286afe4a066ddbd32b2cc3d09e5f86250b7656f2148dbd2128ec3b650260a0af9f67cbee02fa3f3bbab880824b2a692c93add8cc705d22c1a6664ec7dd3b8f WHIRLPOOL ef4d7d6158ec832f13b0873023e543e44c2ad1457baa31cbfcf74647fb15cf7bb1a4f0c928336a16aeb99bb32fc44f8fb4bff81075f573101d6619b079b43ed1 EBUILD postgresql-9.2.23-r1.ebuild 13541 SHA256 d93f312199b82b0541928b4b2a2906212a2eef6dab348c0b85198e44a296b65e SHA512 380dfda81ac3e5c6bed023c899f102eb97c7ba9b43fca1bbee101b599a69c1cb51594dc5d5171202a415774c719b94f4fb6573575f166893d0c0ec71d9534dd9 WHIRLPOOL aa2e2b9c3316dabf2837006c843f58ac4dc6571ff076be584699d534f4c16421bf8dae778425c68d122c5a031083887eae28bf112c0e9cd51484fab087332930 EBUILD postgresql-9.2.23.ebuild 13353 SHA256 cc028ba5d35c865b4971f0d5103f5ad17a899d043e96c2a594815e5513c1f95b SHA512 99cb6a49c13473d45f5c399458df5b1773fc23f61070ca9147cb8e25587fa8ea8e18cb38e608aac3eabaad0f0317b14ef7057f9456b196468f25c57d5003bce6 WHIRLPOOL e80339f1016007d470375ca36b781f423ec53500994388a6bed7e0c548186e117dc86514a2e95648a0a23ec74f4e28d2adda33b6f4cb3d385e43c486a2dca0e5 +EBUILD postgresql-9.2.24.ebuild 13541 SHA256 d93f312199b82b0541928b4b2a2906212a2eef6dab348c0b85198e44a296b65e SHA512 380dfda81ac3e5c6bed023c899f102eb97c7ba9b43fca1bbee101b599a69c1cb51594dc5d5171202a415774c719b94f4fb6573575f166893d0c0ec71d9534dd9 WHIRLPOOL aa2e2b9c3316dabf2837006c843f58ac4dc6571ff076be584699d534f4c16421bf8dae778425c68d122c5a031083887eae28bf112c0e9cd51484fab087332930 EBUILD postgresql-9.3.15.ebuild 11990 SHA256 9e98677996c9a2aa865318a437b5f19a45dfc989709701b074d4d62b2ae333f2 SHA512 b6a66d1a6726d0c6ec545930c6cb7d0379f7373e75ab26ed2510a15e071a1223bfbdecd66583be5272b40599cd41a750d172e86406d24533d293d2474ae215a7 WHIRLPOOL 9fb156077e4c2fab054dba97b5d73fb33aa46eb8b928c85c64af0aa03a1a0797d0b2a3106671f49490a020fea62174dd9a670899c63a3ef41ca0376f08638581 EBUILD postgresql-9.3.18.ebuild 13604 SHA256 c3fbd47ca159d367eeb583dd86208715e4bae9480f9e380b3a4b199d3121eccc SHA512 ff6c8e72feb7e742104865cbf9310b21969be5995a3c723cda19288238b30559c97796c3f25d6a0da91adc366e6b8d242240f62b08b8e20b18080cbf6be875ce WHIRLPOOL 57a37c19602846b56279208207d9a6661c65f31b6355fe42fc396da6459eabe212b86b4244fd3186195d6be7de6591a8a0990a0fd91ef0e5945030b013cc0e55 EBUILD postgresql-9.3.19-r1.ebuild 13800 SHA256 438d34bef1412db604d8ed263cfb7c6de1a56a09181f1161c6f32b6f20f0be42 SHA512 a494d82d83de9404e02d400152bdcdf4bfd86c568df5a607d64b547d0c47c9acc752338fc555eaacdc72d6c01a041bd25da90e17f77d0ef7c270046f597787e9 WHIRLPOOL 6e3896bd1536fae1066bc0a4d1080ea171b372ab6a710a1a087f5a3c687a6869c72e34fba4c8fb12a6f2e82d45e0c20b5fc75d1ef05429654aebe170447e5275 EBUILD postgresql-9.3.19.ebuild 13612 SHA256 e67affb945cb1f0e8a1ffc1d2f3462b7769fe7e08739bfb929b32849ab91b59b SHA512 7edb5e2a49852cb9e293e116de5f3495250aed637a9ca62d7effd76232499a1c9e56e4ef683c9b65252a41b0323b78fd8ddab0ca664033be1ce199dc2178b167 WHIRLPOOL 87255163b5e4d791f4aa645ab4f061c2935794782eea8998857663398db1978c125fbd9bc99360b8af31628a3134b2b9ae0f93d0ad6c2f32453d05154f7f3e7f +EBUILD postgresql-9.3.20.ebuild 13800 SHA256 438d34bef1412db604d8ed263cfb7c6de1a56a09181f1161c6f32b6f20f0be42 SHA512 a494d82d83de9404e02d400152bdcdf4bfd86c568df5a607d64b547d0c47c9acc752338fc555eaacdc72d6c01a041bd25da90e17f77d0ef7c270046f597787e9 WHIRLPOOL 6e3896bd1536fae1066bc0a4d1080ea171b372ab6a710a1a087f5a3c687a6869c72e34fba4c8fb12a6f2e82d45e0c20b5fc75d1ef05429654aebe170447e5275 EBUILD postgresql-9.4.10.ebuild 12800 SHA256 56748a56a6eb3e4cd8d75c4157ca9f1db4ce094e4526e7617fd7a8abd2a945e5 SHA512 e871945bf9027fe9288ca22d44f89c4dd51184be830f06ed4debfc4b2848dcc914c6ac559bc16853fb27331305ac15d8b6cd1247f10b433029f30a16b98de78d WHIRLPOOL 3a86bc549b1ab99ad7bbacae40110b9c5ee3b4ca2fb84e40a3fec2646497b8039ef3edb61b07fe551c77c2f697dafddd6111967854521c284bbcabab763f69da EBUILD postgresql-9.4.13.ebuild 14414 SHA256 b1191ed2503818964af23ce6476fc0ee39a81af45088ed21e1a9bbabb7e30111 SHA512 ea30a21f8a5604abe407231306ba7b944c1e84b8ee1b8eb29dcf08b920bb11d46ce93cec82c5e6147608ac8a318daa2255377dbcf403415fa1a68cfe84de82c9 WHIRLPOOL d63ab0c21f3eb0c3a12fabede3d66b8854350bca51ea451ae0a2773ee242363fa285bde5c13b9c45f8c8b996d8cd5035862c28e5d3ae9d3b192a2acbaf2f2ddb EBUILD postgresql-9.4.14-r1.ebuild 14610 SHA256 c06f2770f6ff15a5dbd2e04de6c59ec2679ee2ce5f03eb5840fb4920169bd204 SHA512 1eb925c156cb593e55ff349784a77cbd87a0fa18ce2c589bd63767f5f5ce1e1c5f81a5329ecb1b1ebc6ad55f0e56a8760bb55765f4682687c98b4b570277ba39 WHIRLPOOL 5284e65496462b3190c5f2286a275764132402bd17c0837b52d01bb7458d711c6c9b37af84744542a523e42302548e1bc3b97c25d3353b5967d413ee912f7985 EBUILD postgresql-9.4.14.ebuild 14422 SHA256 ab3788ea2074c5f745e2cf16f20edcd21ab3d200d4e771cb1724c83431d4b6ae SHA512 fa0c366667b1e0600bf3e86091adaaf7d313a144d1d77bab5235d4feec6f7c9b46eab26616c4f8a9490c1d9b139f26ddbbca89cc237453c09289eb75624e831d WHIRLPOOL 9ba46dd9d3daf8412a3644ca73caeb8ddde945818dcff798ca6df0efbf3a6770de1373c1fdf4cf4b65951977a9f0b91f228aa29fcfd07cec57af132298a361e9 +EBUILD postgresql-9.4.15.ebuild 14610 SHA256 c06f2770f6ff15a5dbd2e04de6c59ec2679ee2ce5f03eb5840fb4920169bd204 SHA512 1eb925c156cb593e55ff349784a77cbd87a0fa18ce2c589bd63767f5f5ce1e1c5f81a5329ecb1b1ebc6ad55f0e56a8760bb55765f4682687c98b4b570277ba39 WHIRLPOOL 5284e65496462b3190c5f2286a275764132402bd17c0837b52d01bb7458d711c6c9b37af84744542a523e42302548e1bc3b97c25d3353b5967d413ee912f7985 +EBUILD postgresql-9.5.10.ebuild 14838 SHA256 b78e896f248434b46b81e6d6a4c943ec84b8eed8cf8f8fc448f9b4ff47e9bbd1 SHA512 33332df4890fdaea9e426ea3b9a2060bf5e15f882ff1850af75445c20ae90a2f7a8b4920644b640f8f2b54db9db6b08fdaa412299f482d0c4c9b918e2bf1a5dd WHIRLPOOL 91e3969ee3ff9751543f6cd216d31217274a5c8acaae579cfaba73b063afdfae7c2936379919d4543f17af08afd905623910e1eb2e55c710bd0d3885ce67f7f6 EBUILD postgresql-9.5.5.ebuild 13139 SHA256 6c892bbc3d171aca36611ee56bc95d041b149d6ba8b9162d024a30cb5902ff63 SHA512 1de5c0764000d9f1ceba56931d8b0517d3acb55905c0a199d029a7959e2bf7bd0449d7cf335c9de97f5ba028f87c1b5d135d35813407b3726848570229bbd936 WHIRLPOOL f839a4a5543d3a0aae87039fdc0d8486c71e7ce02d907d95aa71ea42fc376bc9289a56c50c3148212f4a413eb4a2090cdd6762ca3723a9cb2d7fcaeb7379a64a EBUILD postgresql-9.5.8.ebuild 14642 SHA256 0902de32099cab163eca68a01c85173e21c82ab2f509f9a9520e9ea58b8b558e SHA512 901fdc87137be8b4a1bae48efc9cf355bb1ae79c326e929c36e18ea35f767f8e6fb82abf63570ccdcec0dacc4f4d6daa92ac9a1e60da07cc7e46b67552949bf4 WHIRLPOOL 6d95ce1a79081afbac26485e3ddc7caff166bfcfa38f6c8b3c202e23c74e56d6041c16d5873e5f20fd78d7c54c4c2eefc4d2f6578fb8afaf761b07abea45cdfc EBUILD postgresql-9.5.9-r1.ebuild 14838 SHA256 b78e896f248434b46b81e6d6a4c943ec84b8eed8cf8f8fc448f9b4ff47e9bbd1 SHA512 33332df4890fdaea9e426ea3b9a2060bf5e15f882ff1850af75445c20ae90a2f7a8b4920644b640f8f2b54db9db6b08fdaa412299f482d0c4c9b918e2bf1a5dd WHIRLPOOL 91e3969ee3ff9751543f6cd216d31217274a5c8acaae579cfaba73b063afdfae7c2936379919d4543f17af08afd905623910e1eb2e55c710bd0d3885ce67f7f6 @@ -55,6 +66,7 @@ EBUILD postgresql-9.5.9.ebuild 14650 SHA256 66f174eb010fd59e2e0e0d656ccd7fec3740 EBUILD postgresql-9.6.4.ebuild 14824 SHA256 e97ebf6b5b838853f25c51961cf392bf8fc52150eb0cdef51f6874f4e05c379c SHA512 10d8beb1db4ce1220f64877dcc732ab22a883e260c4eef0801123adf0994a3a2539455bc9fc61fd40388be2160c3da506764373458fd1b209b340a11d018a051 WHIRLPOOL 51e9d56b16656187a3ed3f444e4310b94804fcd13c4def7913479386c49957603a6fc9a02c1bc68986bc5ddc303bbf71f1d55a2f33aabeec117e1da03d4d07da EBUILD postgresql-9.6.5-r1.ebuild 14980 SHA256 82d17f4d81573d41cd9f50b88c2678769dbf4270056749ff9fa0ebae9987d6f5 SHA512 31a1194cd7dbd23ddd5c1ada080d64504da399d418b0ddcb71a7ce7cd0600fc7373ccdd85723e8970308cf587aacee6ff8744c73e2801b9bced3d108b09b4145 WHIRLPOOL 2b9058a1effa914f3d507fe779650452d8efc4e9c5044e0eac4af5627f1d04bb8f5e57b6d74d6a6a78a034d963aa829288893af9004d8a263b5a98dc93d9efcb EBUILD postgresql-9.6.5.ebuild 14832 SHA256 aa10bb6693070992994620f9507d3960063dbb2f7ddd4e0c6ab61e6c204a6403 SHA512 e063329853426a7052722191ed12a98beed3170f77da7eb395def5bfdae8cc335686a6866fa24bd01a6daa664845887dac4117cef95e1f4ad0faac7b35290604 WHIRLPOOL 4589b1f57db1f0ff512826ce91f7c33a17f7d18081ca7b2ef6136c0f741597a78d5417dd63dfc7ab2f98da46e55c92b62c542920211666da9dbbc92aefd74fba +EBUILD postgresql-9.6.6.ebuild 14980 SHA256 82d17f4d81573d41cd9f50b88c2678769dbf4270056749ff9fa0ebae9987d6f5 SHA512 31a1194cd7dbd23ddd5c1ada080d64504da399d418b0ddcb71a7ce7cd0600fc7373ccdd85723e8970308cf587aacee6ff8744c73e2801b9bced3d108b09b4145 WHIRLPOOL 2b9058a1effa914f3d507fe779650452d8efc4e9c5044e0eac4af5627f1d04bb8f5e57b6d74d6a6a78a034d963aa829288893af9004d8a263b5a98dc93d9efcb EBUILD postgresql-9999.ebuild 13581 SHA256 b2d47e07868d66352c879f9d911ed713de9881d05c6806d2d40b3515268cdbce SHA512 619ba19094569be077c69dca78674736bbde7cdd84e8cc4bfb8543ed69f8f793691e5e75fcbb15c4f1195fc353cde8fb1586de403874102537d546218d1194f1 WHIRLPOOL 5ba4d032b598591440c50fcee150b5340337e7e374c8eac8d99925544ccd87af414bf8dae358390bf1d323619dae45026732e4e19634948be560749d9f88b2fc MISC ChangeLog 34734 SHA256 39191b7df137cd50c7d8b834b673d517709d6ea867a09ce8eeb2fd42cd0d6b49 SHA512 b405d44ca7ede523760599ac3ceac384a9abd4a73a2fe47544e90c6259e6fe5766edc147064fba7fe9f2926c4cd298805521e2aa5da63286d5d8ba1bff7dd27d WHIRLPOOL 8bf92c120033a40cb4b5001c9b9e5d4eae858754e8e7552f0864a7c12020fff770bb755008928af0685035a5e01fad2f12591ef365397edbd877db314f99c7e7 MISC ChangeLog-2015 18629 SHA256 4f6c87a86705d9d4597dcbd319d207c8b45f4dba38455f1466bdcdaffb65ba1d SHA512 2604c3af8d03fff5f293c30b5c6bbfc801c0b99fa5d20021b365795e2af50cc65c73972fb643e594720e28ccf5e873503550eeedef262375da63b29442e80c96 WHIRLPOOL 760146d15f3f656816be71d4d4b27823975ecc37c13f03766c38a0b8a3c2cabf15bec3da2c01d843859e277937815e85532a17327650dc221c4d22d01fece293 diff --git a/dev-db/postgresql/postgresql-10.1.ebuild b/dev-db/postgresql/postgresql-10.1.ebuild new file mode 100644 index 000000000000..18fea4c814b0 --- /dev/null +++ b/dev-db/postgresql/postgresql-10.1.ebuild @@ -0,0 +1,464 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) + +inherit eutils flag-o-matic 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 ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris" + +SLOT=$(get_major_version) + +MY_PV=${PV/_/} +S="${WORKDIR}/${PN}-${MY_PV}" + +SRC_URI="mirror://postgresql/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2" + +LICENSE="POSTGRESQL GPL-2" +DESCRIPTION="PostgreSQL RDBMS" +HOMEPAGE="http://www.postgresql.org/" + +LINGUAS="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" +IUSE="doc kerberos kernel_linux ldap libressl nls pam perl python +readline + selinux +server systemd ssl static-libs tcl threads uuid xml zlib" + +for lingua in ${LINGUAS}; do + IUSE+=" linguas_${lingua}" +done +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +wanted_languages() { + local enable_langs + + for lingua in ${LINGUAS} ; do + use linguas_${lingua} && enable_langs+="${lingua} " + done + + echo -n ${enable_langs} +} + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +sys-apps/less +virtual/libintl +kerberos? ( virtual/krb5 ) +ldap? ( net-nds/openldap ) +pam? ( virtual/pam ) +perl? ( >=dev-lang/perl-5.8:= ) +python? ( ${PYTHON_DEPS} ) +readline? ( sys-libs/readline:0= ) +server? ( systemd? ( sys-apps/systemd ) ) +ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= ) + libressl? ( dev-libs/libressl:= ) +) +tcl? ( >=dev-lang/tcl-8:0= ) +xml? ( dev-libs/libxml2 dev-libs/libxslt ) +zlib? ( sys-libs/zlib ) +" + +# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no +# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems, +# the libc includes UUID functions. +UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} ) +BSD_LIBC=( elibc_{Free,Net,Open}BSD ) + +nest_usedep() { + local front back + while [[ ${#} -gt 1 ]]; do + front+="${1}? ( " + back+=" )" + shift + done + echo "${front}${1}${back}" +} + +IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}" +CDEPEND+=" +uuid? ( + ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )} + $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid) +)" + +DEPEND="${CDEPEND} +!!<sys-apps/sandbox-2.0 +sys-devel/bison +sys-devel/flex +nls? ( sys-devel/gettext ) +xml? ( virtual/pkgconfig ) +" + +RDEPEND="${CDEPEND} +!dev-db/postgresql-docs:${SLOT} +!dev-db/postgresql-base:${SLOT} +!dev-db/postgresql-server:${SLOT} +selinux? ( sec-policy/selinux-postgresql ) +" + +pkg_setup() { + use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup + + enewgroup postgres 70 + enewuser postgres 70 /bin/sh /var/lib/postgresql postgres + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # Work around PPC{,64} compilation bug where bool is already defined + sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die + + # Set proper run directory + sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \ + -i src/include/pg_config_manual.h || die + + # Rely on $PATH being in the proper order so that the correct + # install program is used for modules utilizing PGXS in both + # hardened and non-hardened environments. (Bug #528786) + sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die + + use server || eapply "${FILESDIR}/${PN}-${SLOT}beta2-no-server.patch" + + if use pam ; then + sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \ + -i src/backend/libpq/auth.c || \ + die 'PGSQL_PAM_SERVICE rename failed.' + fi + + eapply_user +} + +src_configure() { + case ${CHOST} in + *-darwin*|*-solaris*) + use nls && append-libs intl + ;; + esac + + export LDFLAGS_SL="${LDFLAGS}" + export LDFLAGS_EX="${LDFLAGS}" + + local PO="${EPREFIX%/}" + + local i uuid_config="" + if use uuid; then + for i in ${UTIL_LINUX_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=e2fs" + done + for i in ${BSD_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=bsd" + done + [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp" + fi + + econf \ + --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \ + --datadir="${PO}/usr/share/postgresql-${SLOT}" \ + --docdir="${PO}/usr/share/doc/${PF}" \ + --includedir="${PO}/usr/include/postgresql-${SLOT}" \ + --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \ + --sysconfdir="${PO}/etc/postgresql-${SLOT}" \ + --with-system-tzdata="${PO}/usr/share/zoneinfo" \ + $(use_enable !alpha spinlocks) \ + $(use_enable threads thread-safety) \ + $(use_with kerberos gssapi) \ + $(use_with ldap) \ + $(use_with pam) \ + $(use_with perl) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with ssl openssl) \ + $(usex server "$(use_with systemd)" '--without-systemd') \ + $(use_with tcl) \ + ${uuid_config} \ + $(use_with xml libxml) \ + $(use_with xml libxslt) \ + $(use_with zlib) \ + "$(use_enable nls nls "$(wanted_languages)")" +} + +src_compile() { + emake + emake -C contrib +} + +src_install() { + emake DESTDIR="${D}" install + emake DESTDIR="${D}" install -C contrib + + dodoc README HISTORY doc/{TODO,bug.template} + + # man pages are already built, but if we have the target make them, + # they'll be generated from source before being installed so we + # manually install man pages. + # We use ${SLOT} instead of doman for postgresql.eselect + insinto /usr/share/postgresql-${SLOT}/man/ + doins -r doc/src/sgml/man{1,3,7} + if ! use server; then + # Remove man pages for non-existent binaries + serverman=( + initdb + pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby} + pg_{test_{fsync,timing},upgrade,waldump} + post{gres,master} + ) + for m in ${serverman[@]} ; do + rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1" + done + fi + docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7} + + # Create slot specific man pages + local bn f mansec slotted_name + for mansec in 1 3 7 ; do + local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}" + + mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir" + pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed" + + for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do + bn=$(basename "${f}") + slotted_name=${bn%.${mansec}}${SLOT}.${mansec} + case ${bn} in + TABLE.7|WITH.7) + echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name} + ;; + *) + echo ".so ${rel_manpath}/${bn}" > ${slotted_name} + ;; + esac + done + + popd > /dev/null + done + + insinto /etc/postgresql-${SLOT} + newins src/bin/psql/psqlrc.sample psqlrc + + use static-libs || find "${ED}" -name '*.a' -delete + + local f bn + for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ + -mindepth 1 -maxdepth 1) + do + bn=$(basename "${f}") + # Temporarily tack on tmp to workaround a file collision + # issue. This is only necessary for 9.7 and earlier. 10 never + # had this issue. + dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ + "/usr/bin/${bn}${SLOT/.}" + done + + if use doc ; then + docinto html + dodoc doc/src/sgml/html/* + fi + + if use server; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} + + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT} + + if use systemd; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.service-9.6-r1" | \ + systemd_newunit - ${PN}-${SLOT}.service + newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir + systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf + fi + + use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session + + if use prefix ; then + keepdir /run/postgresql + fperms 1775 /run/postgresql + fi + fi +} + +pkg_postinst() { + use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf + postgresql-config update + + elog "If you need a global psqlrc-file, you can place it in:" + elog " ${EROOT%/}/etc/postgresql-${SLOT}/" + + if use server ; then + elog + elog "Gentoo specific documentation:" + elog "https://wiki.gentoo.org/wiki/PostgreSQL" + elog + elog "Official documentation:" + elog "http://www.postgresql.org/docs/${SLOT}/static/index.html" + elog + elog "The default location of the Unix-domain socket is:" + elog " ${EROOT%/}/run/postgresql/" + elog + elog "Before initializing the database, you may want to edit PG_INITDB_OPTS" + elog "so that it contains your preferred locale in:" + elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + elog + elog "Then, execute the following command to setup the initial database" + elog "environment:" + elog " emerge --config =${CATEGORY}/${PF}" + fi +} + +pkg_prerm() { + if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then + ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?" + ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL" + + ebegin "Resuming removal in 10 seconds (Control-C to cancel)" + sleep 10 + eend 0 + fi +} + +pkg_postrm() { + postgresql-config update +} + +pkg_config() { + use server || die "USE flag 'server' not enabled. Nothing to configure." + + [[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \ + && source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + [[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/" + [[ -z "${DATA_DIR}" ]] \ + && DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data" + + # environment.bz2 may not contain the same locale as the current system + # locale. Unset and source from the current system locale. + if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then + unset LANG + unset LC_CTYPE + unset LC_NUMERIC + unset LC_TIME + unset LC_COLLATE + unset LC_MONETARY + unset LC_MESSAGES + unset LC_ALL + source "${EROOT%/}/etc/env.d/02locale" + [ -n "${LANG}" ] && export LANG + [ -n "${LC_CTYPE}" ] && export LC_CTYPE + [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC + [ -n "${LC_TIME}" ] && export LC_TIME + [ -n "${LC_COLLATE}" ] && export LC_COLLATE + [ -n "${LC_MONETARY}" ] && export LC_MONETARY + [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES + [ -n "${LC_ALL}" ] && export LC_ALL + fi + + einfo "You can modify the paths and options passed to initdb by editing:" + einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + einfo + einfo "Information on options that can be passed to initdb are found at:" + einfo " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html" + einfo " http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html" + einfo + einfo "PG_INITDB_OPTS is currently set to:" + if [[ -z "${PG_INITDB_OPTS}" ]] ; then + einfo " (none)" + else + einfo " ${PG_INITDB_OPTS}" + fi + einfo + einfo "Configuration files will be installed to:" + einfo " ${PGDATA}" + einfo + einfo "The database cluster will be created in:" + einfo " ${DATA_DIR}" + einfo + + ebegin "Continuing initialization in 5 seconds (Control-C to cancel)" + sleep 5 + eend 0 + + if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then + eerror "The given directory, '${DATA_DIR}', is not empty." + eerror "Modify DATA_DIR to point to an empty directory." + die "${DATA_DIR} is not empty." + fi + + einfo "Creating the data directory ..." + if [[ ${EUID} == 0 ]] ; then + mkdir -p "${DATA_DIR}" + chown -Rf postgres:postgres "${DATA_DIR}" + chmod 0700 "${DATA_DIR}" + fi + + einfo "Initializing the database ..." + + if [[ ${EUID} == 0 ]] ; then + su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}" + else + "${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS} + fi + + if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then + mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}" + ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}" + fi + + # unix_socket_directory has no effect in postgresql.conf as it's + # overridden in the initscript + sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf + + cat <<- EOF >> "${PGDATA%/}"/postgresql.conf + # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522 + # On the off-chance that you might need to work with UTF-8 encoded + # characters in PL/Perl + plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";' + EOF + + einfo "The autovacuum function, which was in contrib, has been moved to the main" + einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled" + einfo "by default. You can disable it in the cluster's:" + einfo " ${PGDATA%/}/postgresql.conf" + einfo + if ! use systemd; then + einfo "The PostgreSQL server, by default, will log events to:" + einfo " ${DATA_DIR%/}/postmaster.log" + einfo + fi + if use prefix ; then + einfo "The location of the configuration files have moved to:" + einfo " ${PGDATA}" + einfo "To start the server:" + einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'" + einfo "To stop:" + einfo " pg_ctl stop -D ${DATA_DIR}" + einfo + einfo "Or move the configuration files back:" + einfo "mv ${PGDATA}*.conf ${DATA_DIR}" + elif use systemd; then + einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL" + einfo "instead of 'pg_ctl'." + else + einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL" + einfo "instead of 'pg_ctl'." + fi +} + +src_test() { + if use server && [[ ${UID} -ne 0 ]] ; then + emake check + + einfo "If you think other tests besides the regression tests are necessary, please" + einfo "submit a bug including a patch for this ebuild to enable them." + else + use server || \ + ewarn 'Tests cannot be run without the "server" use flag enabled.' + [[ ${UID} -eq 0 ]] || \ + ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.' + + ewarn 'Skipping.' + fi +} diff --git a/dev-db/postgresql/postgresql-9.2.24.ebuild b/dev-db/postgresql/postgresql-9.2.24.ebuild new file mode 100644 index 000000000000..e51086d898b3 --- /dev/null +++ b/dev-db/postgresql/postgresql-9.2.24.ebuild @@ -0,0 +1,449 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) + +inherit eutils flag-o-matic 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 ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris" + +SLOT="$(get_version_component_range 1-2)" + +SRC_URI="mirror://postgresql/source/v${PV}/postgresql-${PV}.tar.bz2" + +LICENSE="POSTGRESQL GPL-2" +DESCRIPTION="PostgreSQL RDBMS" +HOMEPAGE="http://www.postgresql.org/" + +LINGUAS="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" +IUSE="doc kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp python + +readline selinux +server systemd ssl static-libs tcl threads uuid xml zlib" + +for lingua in ${LINGUAS}; do + IUSE+=" linguas_${lingua}" +done +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +wanted_languages() { + local enable_langs + + for lingua in ${LINGUAS} ; do + use linguas_${lingua} && enable_langs+="${lingua} " + done + + echo -n ${enable_langs} +} + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +sys-apps/less +virtual/libintl +kerberos? ( virtual/krb5 ) +ldap? ( net-nds/openldap ) +pam? ( virtual/pam ) +perl? ( >=dev-lang/perl-5.8:= ) +python? ( ${PYTHON_DEPS} ) +readline? ( sys-libs/readline:0= ) +ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= ) + libressl? ( dev-libs/libressl:= ) +) +tcl? ( >=dev-lang/tcl-8:0= ) +uuid? ( dev-libs/ossp-uuid ) +xml? ( dev-libs/libxml2 dev-libs/libxslt ) +zlib? ( sys-libs/zlib ) +" + +DEPEND="${CDEPEND} +!!<sys-apps/sandbox-2.0 +sys-devel/bison +sys-devel/flex +nls? ( sys-devel/gettext ) +xml? ( virtual/pkgconfig ) +" + +RDEPEND="${CDEPEND} +!dev-db/postgresql-docs:${SLOT} +!dev-db/postgresql-base:${SLOT} +!dev-db/postgresql-server:${SLOT} +selinux? ( sec-policy/selinux-postgresql ) +" + +pkg_setup() { + use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup + + enewgroup postgres 70 + enewuser postgres 70 /bin/sh /var/lib/postgresql postgres + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # Work around PPC{,64} compilation bug where bool is already defined + sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die + + # Set proper run directory + sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \ + -i src/include/pg_config_manual.h || die + + use server || eapply "${FILESDIR}/${PN}-${SLOT}-no-server.patch" + + if use pam ; then + sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \ + -i src/backend/libpq/auth.c || \ + die 'PGSQL_PAM_SERVICE rename failed.' + fi + + eapply_user +} + +src_configure() { + case ${CHOST} in + *-darwin*|*-solaris*) + use nls && append-libs intl + ;; + esac + + export LDFLAGS_SL="${LDFLAGS}" + export LDFLAGS_EX="${LDFLAGS}" + + local PO="${EPREFIX%/}" + + econf \ + --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \ + --datadir="${PO}/usr/share/postgresql-${SLOT}" \ + --docdir="${PO}/usr/share/doc/${PF}" \ + --includedir="${PO}/usr/include/postgresql-${SLOT}" \ + --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \ + --sysconfdir="${PO}/etc/postgresql-${SLOT}" \ + --with-system-tzdata="${PO}/usr/share/zoneinfo" \ + $(use_enable !pg_legacytimestamp integer-datetimes) \ + $(use_enable threads thread-safety) \ + $(use_with kerberos gssapi) \ + $(use_with kerberos krb5) \ + $(use_with ldap) \ + $(use_with pam) \ + $(use_with perl) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with ssl openssl) \ + $(use_with tcl) \ + $(use_with uuid ossp-uuid) \ + $(use_with xml libxml) \ + $(use_with xml libxslt) \ + $(use_with zlib) \ + "$(use_enable nls nls "$(wanted_languages)")" +} + +src_compile() { + emake + emake -C contrib +} + +src_install() { + emake DESTDIR="${D}" install + emake DESTDIR="${D}" install -C contrib + + dodoc README HISTORY doc/{TODO,bug.template} + + # man pages are already built, but if we have the target make them, + # they'll be generated from source before being installed so we + # manually install man pages. + # We use ${SLOT} instead of doman for postgresql.eselect + insinto /usr/share/postgresql-${SLOT}/man/ + doins -r doc/src/sgml/man{1,3,7} + if ! use server; then + # Remove man pages for non-existent binaries + for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do + rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1" + done + fi + docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7} + + # Create slot specific man pages + local bn f mansec slotted_name + for mansec in 1 3 7 ; do + local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}" + + mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir" + pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed" + + for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do + bn=$(basename "${f}") + slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec} + case ${bn} in + TABLE.7|WITH.7) + echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name} + ;; + *) + echo ".so ${rel_manpath}/${bn}" > ${slotted_name} + ;; + esac + done + + popd > /dev/null + done + + insinto /etc/postgresql-${SLOT} + newins src/bin/psql/psqlrc.sample psqlrc + + use static-libs || find "${ED}" -name '*.a' -delete + + local f bn + for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ + -mindepth 1 -maxdepth 1) + do + bn=$(basename "${f}") + # Temporarily tack on tmp to workaround a file collision + # issue. This is only necessary for 9.7 and earlier. 10 never + # had this issue. + dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ + "/usr/bin/${bn}${SLOT/.}tmp" + done + + if use doc ; then + docinto html + dodoc doc/src/sgml/html/* + + docinto sgml + dodoc doc/src/sgml/*.{sgml,dsl} + fi + + if use server; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.confd-9.2" | newconfd - ${PN}-${SLOT} + + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.init-9.2" | 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 "http://www.postgresql.org/docs/${SLOT}/static/index.html" + elog + elog "The default location of the Unix-domain socket is:" + elog " ${EROOT%/}/run/postgresql/" + elog + elog "Before initializing the database, you may want to edit PG_INITDB_OPTS" + elog "so that it contains your preferred locale in:" + elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + elog + elog "Then, execute the following command to setup the initial database" + elog "environment:" + elog " emerge --config =${CATEGORY}/${PF}" + fi +} + +pkg_prerm() { + if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then + ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?" + ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL" + + ebegin "Resuming removal in 10 seconds (Control-C to cancel)" + sleep 10 + eend 0 + fi +} + +pkg_postrm() { + postgresql-config update +} + +pkg_config() { + use server || die "USE flag 'server' not enabled. Nothing to configure." + + [[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \ + && source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + [[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/" + [[ -z "${DATA_DIR}" ]] \ + && DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data" + + # environment.bz2 may not contain the same locale as the current system + # locale. Unset and source from the current system locale. + if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then + unset LANG + unset LC_CTYPE + unset LC_NUMERIC + unset LC_TIME + unset LC_COLLATE + unset LC_MONETARY + unset LC_MESSAGES + unset LC_ALL + source "${EROOT%/}/etc/env.d/02locale" + [ -n "${LANG}" ] && export LANG + [ -n "${LC_CTYPE}" ] && export LC_CTYPE + [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC + [ -n "${LC_TIME}" ] && export LC_TIME + [ -n "${LC_COLLATE}" ] && export LC_COLLATE + [ -n "${LC_MONETARY}" ] && export LC_MONETARY + [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES + [ -n "${LC_ALL}" ] && export LC_ALL + fi + + einfo "You can modify the paths and options passed to initdb by editing:" + einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + einfo + einfo "Information on options that can be passed to initdb are found at:" + einfo " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html" + einfo " http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html" + einfo + einfo "PG_INITDB_OPTS is currently set to:" + if [[ -z "${PG_INITDB_OPTS}" ]] ; then + einfo " (none)" + else + einfo " ${PG_INITDB_OPTS}" + fi + einfo + einfo "Configuration files will be installed to:" + einfo " ${PGDATA}" + einfo + einfo "The database cluster will be created in:" + einfo " ${DATA_DIR}" + einfo + + ebegin "Continuing initialization in 5 seconds (Control-C to cancel)" + sleep 5 + eend 0 + + if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then + eerror "The given directory, '${DATA_DIR}', is not empty." + eerror "Modify DATA_DIR to point to an empty directory." + die "${DATA_DIR} is not empty." + fi + + einfo "Creating the data directory ..." + if [[ ${EUID} == 0 ]] ; then + mkdir -p "${DATA_DIR}" + chown -Rf postgres:postgres "${DATA_DIR}" + chmod 0700 "${DATA_DIR}" + fi + + einfo "Initializing the database ..." + + if [[ ${EUID} == 0 ]] ; then + su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}" + else + "${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS} + fi + + if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then + mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}" + ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}" + fi + + # unix_socket_directory has no effect in postgresql.conf as it's + # overridden in the initscript + sed '/^#unix_socket_directory/d' -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.3.20.ebuild b/dev-db/postgresql/postgresql-9.3.20.ebuild new file mode 100644 index 000000000000..ff42ac626f75 --- /dev/null +++ b/dev-db/postgresql/postgresql-9.3.20.ebuild @@ -0,0 +1,454 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) + +inherit eutils flag-o-matic 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 ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris" + +SLOT="$(get_version_component_range 1-2)" + +SRC_URI="mirror://postgresql/source/v${PV}/postgresql-${PV}.tar.bz2" + +LICENSE="POSTGRESQL GPL-2" +DESCRIPTION="PostgreSQL RDBMS" +HOMEPAGE="http://www.postgresql.org/" + +LINGUAS="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" +IUSE="doc kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp python + +readline selinux +server systemd ssl static-libs tcl threads uuid xml zlib" + +for lingua in ${LINGUAS}; do + IUSE+=" linguas_${lingua}" +done +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +wanted_languages() { + local enable_langs + + for lingua in ${LINGUAS} ; do + use linguas_${lingua} && enable_langs+="${lingua} " + done + + echo -n ${enable_langs} +} + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +sys-apps/less +virtual/libintl +kerberos? ( virtual/krb5 ) +ldap? ( net-nds/openldap ) +pam? ( virtual/pam ) +perl? ( >=dev-lang/perl-5.8:= ) +python? ( ${PYTHON_DEPS} ) +readline? ( sys-libs/readline:0= ) +ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= ) + libressl? ( dev-libs/libressl:= ) +) +tcl? ( >=dev-lang/tcl-8:0= ) +uuid? ( dev-libs/ossp-uuid ) +xml? ( dev-libs/libxml2 dev-libs/libxslt ) +zlib? ( sys-libs/zlib ) +" + +DEPEND="${CDEPEND} +!!<sys-apps/sandbox-2.0 +sys-devel/bison +sys-devel/flex +nls? ( sys-devel/gettext ) +xml? ( virtual/pkgconfig ) +" + +RDEPEND="${CDEPEND} +!dev-db/postgresql-docs:${SLOT} +!dev-db/postgresql-base:${SLOT} +!dev-db/postgresql-server:${SLOT} +selinux? ( sec-policy/selinux-postgresql ) +" + +pkg_setup() { + use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup + + enewgroup postgres 70 + enewuser postgres 70 /bin/sh /var/lib/postgresql postgres + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # Work around PPC{,64} compilation bug where bool is already defined + sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die + + # Set proper run directory + sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \ + -i src/include/pg_config_manual.h || die + + # Rely on $PATH being in the proper order so that the correct + # install program is used for modules utilizing PGXS in both + # hardened and non-hardened environments. (Bug #528786) + sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die + + use server || eapply "${FILESDIR}/${PN}-${SLOT}-no-server.patch" + + if use pam ; then + sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \ + -i src/backend/libpq/auth.c || \ + die 'PGSQL_PAM_SERVICE rename failed.' + fi + + eapply_user +} + +src_configure() { + case ${CHOST} in + *-darwin*|*-solaris*) + use nls && append-libs intl + ;; + esac + + export LDFLAGS_SL="${LDFLAGS}" + export LDFLAGS_EX="${LDFLAGS}" + + local PO="${EPREFIX%/}" + + econf \ + --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \ + --datadir="${PO}/usr/share/postgresql-${SLOT}" \ + --docdir="${PO}/usr/share/doc/${PF}" \ + --includedir="${PO}/usr/include/postgresql-${SLOT}" \ + --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \ + --sysconfdir="${PO}/etc/postgresql-${SLOT}" \ + --with-system-tzdata="${PO}/usr/share/zoneinfo" \ + $(use_enable !pg_legacytimestamp integer-datetimes) \ + $(use_enable threads thread-safety) \ + $(use_with kerberos gssapi) \ + $(use_with kerberos krb5) \ + $(use_with ldap) \ + $(use_with pam) \ + $(use_with perl) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with ssl openssl) \ + $(use_with tcl) \ + $(use_with uuid ossp-uuid) \ + $(use_with xml libxml) \ + $(use_with xml libxslt) \ + $(use_with zlib) \ + "$(use_enable nls nls "$(wanted_languages)")" +} + +src_compile() { + emake + emake -C contrib +} + +src_install() { + emake DESTDIR="${D}" install + emake DESTDIR="${D}" install -C contrib + + dodoc README HISTORY doc/{TODO,bug.template} + + # man pages are already built, but if we have the target make them, + # they'll be generated from source before being installed so we + # manually install man pages. + # We use ${SLOT} instead of doman for postgresql.eselect + insinto /usr/share/postgresql-${SLOT}/man/ + doins -r doc/src/sgml/man{1,3,7} + if ! use server; then + # Remove man pages for non-existent binaries + for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do + rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1" + done + fi + docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7} + + # Create slot specific man pages + local bn f mansec slotted_name + for mansec in 1 3 7 ; do + local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}" + + mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir" + pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed" + + for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do + bn=$(basename "${f}") + slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec} + case ${bn} in + TABLE.7|WITH.7) + echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name} + ;; + *) + echo ".so ${rel_manpath}/${bn}" > ${slotted_name} + ;; + esac + done + + popd > /dev/null + done + + insinto /etc/postgresql-${SLOT} + newins src/bin/psql/psqlrc.sample psqlrc + + use static-libs || find "${ED}" -name '*.a' -delete + + local f bn + for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ + -mindepth 1 -maxdepth 1) + do + bn=$(basename "${f}") + # Temporarily tack on tmp to workaround a file collision + # issue. This is only necessary for 9.7 and earlier. 10 never + # had this issue. + dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ + "/usr/bin/${bn}${SLOT/.}tmp" + done + + if use doc ; then + docinto html + dodoc doc/src/sgml/html/* + + docinto sgml + dodoc doc/src/sgml/*.{sgml,dsl} + fi + + if use server; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} + + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT} + + if use systemd; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.service-9.2" | \ + systemd_newunit - ${PN}-${SLOT}.service + systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf + fi + + newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir + + use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session + + if use prefix ; then + keepdir /run/postgresql + fperms 1775 /run/postgresql + fi + fi +} + +pkg_preinst() { + # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g., + # /usr/bin/psql96). They may have been created by the + # postgresql.eselect module, but they're handled within this ebuild + # now. It's alright if we momentarily delete /usr/bin/psql as it + # will be recreated by the eselect module in pkg_ppostinst(). This + # is only necessary for 9.7 and earlier. 10 and later were never + # handled in this manner. + local canonicalise + if type -p realpath > /dev/null; then + canonicalise=realpath + elif type -p readlink > /dev/null; then + canonicalise='readlink -f' + else + # can't die, subshell + die "No readlink nor realpath found, cannot canonicalise" + fi + + local l + # First remove any symlinks in /usr/bin that may have been created + # by the old eselect + for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do + if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then + rm "${l}" || ewarn "Couldn't remove ${l}" + fi + done + + # Then move the symlinks created by the ebuild to their proper place. + for l in "${ED}"/usr/bin/*tmp ; do + mv "${l}" "${l%tmp}" \ + || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})" + done +} + +pkg_postinst() { + use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf + postgresql-config update + + elog "If you need a global psqlrc-file, you can place it in:" + elog " ${EROOT%/}/etc/postgresql-${SLOT}/" + + if use server ; then + elog + elog "Gentoo specific documentation:" + elog "https://wiki.gentoo.org/wiki/PostgreSQL" + elog + elog "Official documentation:" + elog "http://www.postgresql.org/docs/${SLOT}/static/index.html" + elog + elog "The default location of the Unix-domain socket is:" + elog " ${EROOT%/}/run/postgresql/" + elog + elog "Before initializing the database, you may want to edit PG_INITDB_OPTS" + elog "so that it contains your preferred locale in:" + elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + elog + elog "Then, execute the following command to setup the initial database" + elog "environment:" + elog " emerge --config =${CATEGORY}/${PF}" + fi +} + +pkg_prerm() { + if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then + ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?" + ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL" + + ebegin "Resuming removal in 10 seconds (Control-C to cancel)" + sleep 10 + eend 0 + fi +} + +pkg_postrm() { + postgresql-config update +} + +pkg_config() { + use server || die "USE flag 'server' not enabled. Nothing to configure." + + [[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \ + && source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + [[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/" + [[ -z "${DATA_DIR}" ]] \ + && DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data" + + # environment.bz2 may not contain the same locale as the current system + # locale. Unset and source from the current system locale. + if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then + unset LANG + unset LC_CTYPE + unset LC_NUMERIC + unset LC_TIME + unset LC_COLLATE + unset LC_MONETARY + unset LC_MESSAGES + unset LC_ALL + source "${EROOT%/}/etc/env.d/02locale" + [ -n "${LANG}" ] && export LANG + [ -n "${LC_CTYPE}" ] && export LC_CTYPE + [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC + [ -n "${LC_TIME}" ] && export LC_TIME + [ -n "${LC_COLLATE}" ] && export LC_COLLATE + [ -n "${LC_MONETARY}" ] && export LC_MONETARY + [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES + [ -n "${LC_ALL}" ] && export LC_ALL + fi + + einfo "You can modify the paths and options passed to initdb by editing:" + einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + einfo + einfo "Information on options that can be passed to initdb are found at:" + einfo " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html" + einfo " http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html" + einfo + einfo "PG_INITDB_OPTS is currently set to:" + if [[ -z "${PG_INITDB_OPTS}" ]] ; then + einfo " (none)" + else + einfo " ${PG_INITDB_OPTS}" + fi + einfo + einfo "Configuration files will be installed to:" + einfo " ${PGDATA}" + einfo + einfo "The database cluster will be created in:" + einfo " ${DATA_DIR}" + einfo + + ebegin "Continuing initialization in 5 seconds (Control-C to cancel)" + sleep 5 + eend 0 + + if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then + eerror "The given directory, '${DATA_DIR}', is not empty." + eerror "Modify DATA_DIR to point to an empty directory." + die "${DATA_DIR} is not empty." + fi + + einfo "Creating the data directory ..." + if [[ ${EUID} == 0 ]] ; then + mkdir -p "${DATA_DIR}" + chown -Rf postgres:postgres "${DATA_DIR}" + chmod 0700 "${DATA_DIR}" + fi + + einfo "Initializing the database ..." + + if [[ ${EUID} == 0 ]] ; then + su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}" + else + "${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS} + fi + + if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then + mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}" + ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}" + fi + + # unix_socket_directory has no effect in postgresql.conf as it's + # overridden in the initscript + sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf + + cat <<- EOF >> "${PGDATA%/}"/postgresql.conf + # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522 + # On the off-chance that you might need to work with UTF-8 encoded + # characters in PL/Perl + plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";' + EOF + + einfo "The autovacuum function, which was in contrib, has been moved to the main" + einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled" + einfo "by default. You can disable it in the cluster's:" + einfo " ${PGDATA%/}/postgresql.conf" + einfo + 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.15.ebuild b/dev-db/postgresql/postgresql-9.4.15.ebuild new file mode 100644 index 000000000000..d77190ea0a50 --- /dev/null +++ b/dev-db/postgresql/postgresql-9.4.15.ebuild @@ -0,0 +1,486 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) + +inherit eutils flag-o-matic 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 ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris" + +SLOT="$(get_version_component_range 1-2)" + +SRC_URI="mirror://postgresql/source/v${PV}/postgresql-${PV}.tar.bz2" + +LICENSE="POSTGRESQL GPL-2" +DESCRIPTION="PostgreSQL RDBMS" +HOMEPAGE="http://www.postgresql.org/" + +LINGUAS="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" +IUSE="doc kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp python + +readline selinux +server systemd ssl static-libs tcl threads uuid xml zlib" + +for lingua in ${LINGUAS}; do + IUSE+=" linguas_${lingua}" +done +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +wanted_languages() { + local enable_langs + + for lingua in ${LINGUAS} ; do + use linguas_${lingua} && enable_langs+="${lingua} " + done + + echo -n ${enable_langs} +} + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +sys-apps/less +virtual/libintl +kerberos? ( virtual/krb5 ) +ldap? ( net-nds/openldap ) +pam? ( virtual/pam ) +perl? ( >=dev-lang/perl-5.8:= ) +python? ( ${PYTHON_DEPS} ) +readline? ( sys-libs/readline:0= ) +ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= ) + libressl? ( dev-libs/libressl:= ) +) +tcl? ( >=dev-lang/tcl-8:0= ) +xml? ( dev-libs/libxml2 dev-libs/libxslt ) +zlib? ( sys-libs/zlib ) +" + +# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no +# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems, +# the libc includes UUID functions. +UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} ) +BSD_LIBC=( elibc_{Free,Net,Open}BSD ) + +nest_usedep() { + local front back + while [[ ${#} -gt 1 ]]; do + front+="${1}? ( " + back+=" )" + shift + done + echo "${front}${1}${back}" +} + +IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}" +CDEPEND+=" +uuid? ( + ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )} + $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid) +)" + +DEPEND="${CDEPEND} +!!<sys-apps/sandbox-2.0 +sys-devel/bison +sys-devel/flex +nls? ( sys-devel/gettext ) +xml? ( virtual/pkgconfig ) +" + +RDEPEND="${CDEPEND} +!dev-db/postgresql-docs:${SLOT} +!dev-db/postgresql-base:${SLOT} +!dev-db/postgresql-server:${SLOT} +selinux? ( sec-policy/selinux-postgresql ) +" + +pkg_setup() { + use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup + + enewgroup postgres 70 + enewuser postgres 70 /bin/sh /var/lib/postgresql postgres + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # Work around PPC{,64} compilation bug where bool is already defined + sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die + + # Set proper run directory + sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \ + -i src/include/pg_config_manual.h || die + + # Rely on $PATH being in the proper order so that the correct + # install program is used for modules utilizing PGXS in both + # hardened and non-hardened environments. (Bug #528786) + sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die + + use server || eapply "${FILESDIR}/${PN}-9.4.10-no-server.patch" + + if use pam ; then + sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \ + -i src/backend/libpq/auth.c || \ + die 'PGSQL_PAM_SERVICE rename failed.' + fi + + eapply_user +} + +src_configure() { + case ${CHOST} in + *-darwin*|*-solaris*) + use nls && append-libs intl + ;; + esac + + export LDFLAGS_SL="${LDFLAGS}" + export LDFLAGS_EX="${LDFLAGS}" + + local PO="${EPREFIX%/}" + + local i uuid_config="" + if use uuid; then + for i in ${UTIL_LINUX_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=e2fs" + done + for i in ${BSD_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=bsd" + done + [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp" + fi + + econf \ + --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \ + --datadir="${PO}/usr/share/postgresql-${SLOT}" \ + --docdir="${PO}/usr/share/doc/${PF}" \ + --includedir="${PO}/usr/include/postgresql-${SLOT}" \ + --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \ + --sysconfdir="${PO}/etc/postgresql-${SLOT}" \ + --with-system-tzdata="${PO}/usr/share/zoneinfo" \ + $(use_enable !pg_legacytimestamp integer-datetimes) \ + $(use_enable threads thread-safety) \ + $(use_with kerberos gssapi) \ + $(use_with ldap) \ + $(use_with pam) \ + $(use_with perl) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with ssl openssl) \ + $(use_with tcl) \ + ${uuid_config} \ + $(use_with xml libxml) \ + $(use_with xml libxslt) \ + $(use_with zlib) \ + "$(use_enable nls nls "$(wanted_languages)")" +} + +src_compile() { + emake + emake -C contrib +} + +src_install() { + emake DESTDIR="${D}" install + emake DESTDIR="${D}" install -C contrib + + dodoc README HISTORY doc/{TODO,bug.template} + + # man pages are already built, but if we have the target make them, + # they'll be generated from source before being installed so we + # manually install man pages. + # We use ${SLOT} instead of doman for postgresql.eselect + insinto /usr/share/postgresql-${SLOT}/man/ + doins -r doc/src/sgml/man{1,3,7} + if ! use server; then + # Remove man pages for non-existent binaries + for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do + rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1" + done + fi + docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7} + + # Create slot specific man pages + local bn f mansec slotted_name + for mansec in 1 3 7 ; do + local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}" + + mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir" + pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed" + + for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do + bn=$(basename "${f}") + slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec} + case ${bn} in + TABLE.7|WITH.7) + echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name} + ;; + *) + echo ".so ${rel_manpath}/${bn}" > ${slotted_name} + ;; + esac + done + + popd > /dev/null + done + + insinto /etc/postgresql-${SLOT} + newins src/bin/psql/psqlrc.sample psqlrc + + use static-libs || find "${ED}" -name '*.a' -delete + + local f bn + for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ + -mindepth 1 -maxdepth 1) + do + bn=$(basename "${f}") + # Temporarily tack on tmp to workaround a file collision + # issue. This is only necessary for 9.7 and earlier. 10 never + # had this issue. + dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ + "/usr/bin/${bn}${SLOT/.}tmp" + done + + if use doc ; then + docinto html + dodoc doc/src/sgml/html/* + + docinto sgml + dodoc doc/src/sgml/*.{sgml,dsl} + fi + + if use server; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} + + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT} + + if use systemd; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.service-9.2" | \ + systemd_newunit - ${PN}-${SLOT}.service + systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf + fi + + newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir + + use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session + + if use prefix ; then + keepdir /run/postgresql + fperms 1775 /run/postgresql + fi + fi +} + +pkg_preinst() { + # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g., + # /usr/bin/psql96). They may have been created by the + # postgresql.eselect module, but they're handled within this ebuild + # now. It's alright if we momentarily delete /usr/bin/psql as it + # will be recreated by the eselect module in pkg_ppostinst(). This + # is only necessary for 9.7 and earlier. 10 and later were never + # handled in this manner. + local canonicalise + if type -p realpath > /dev/null; then + canonicalise=realpath + elif type -p readlink > /dev/null; then + canonicalise='readlink -f' + else + # can't die, subshell + die "No readlink nor realpath found, cannot canonicalise" + fi + + local l + # First remove any symlinks in /usr/bin that may have been created + # by the old eselect + for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do + if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then + rm "${l}" || ewarn "Couldn't remove ${l}" + fi + done + + # Then move the symlinks created by the ebuild to their proper place. + for l in "${ED}"/usr/bin/*tmp ; do + mv "${l}" "${l%tmp}" \ + || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})" + done +} + +pkg_postinst() { + use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf + postgresql-config update + + elog "If you need a global psqlrc-file, you can place it in:" + elog " ${EROOT%/}/etc/postgresql-${SLOT}/" + + if use server ; then + elog + elog "Gentoo specific documentation:" + elog "https://wiki.gentoo.org/wiki/PostgreSQL" + elog + elog "Official documentation:" + elog "http://www.postgresql.org/docs/${SLOT}/static/index.html" + elog + elog "The default location of the Unix-domain socket is:" + elog " ${EROOT%/}/run/postgresql/" + elog + elog "Before initializing the database, you may want to edit PG_INITDB_OPTS" + elog "so that it contains your preferred locale in:" + elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + elog + elog "Then, execute the following command to setup the initial database" + elog "environment:" + elog " emerge --config =${CATEGORY}/${PF}" + fi +} + +pkg_prerm() { + if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then + ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?" + ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL" + + ebegin "Resuming removal in 10 seconds (Control-C to cancel)" + sleep 10 + eend 0 + fi +} + +pkg_postrm() { + postgresql-config update +} + +pkg_config() { + use server || die "USE flag 'server' not enabled. Nothing to configure." + + [[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \ + && source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + [[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/" + [[ -z "${DATA_DIR}" ]] \ + && DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data" + + # environment.bz2 may not contain the same locale as the current system + # locale. Unset and source from the current system locale. + if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then + unset LANG + unset LC_CTYPE + unset LC_NUMERIC + unset LC_TIME + unset LC_COLLATE + unset LC_MONETARY + unset LC_MESSAGES + unset LC_ALL + source "${EROOT%/}/etc/env.d/02locale" + [ -n "${LANG}" ] && export LANG + [ -n "${LC_CTYPE}" ] && export LC_CTYPE + [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC + [ -n "${LC_TIME}" ] && export LC_TIME + [ -n "${LC_COLLATE}" ] && export LC_COLLATE + [ -n "${LC_MONETARY}" ] && export LC_MONETARY + [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES + [ -n "${LC_ALL}" ] && export LC_ALL + fi + + einfo "You can modify the paths and options passed to initdb by editing:" + einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + einfo + einfo "Information on options that can be passed to initdb are found at:" + einfo " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html" + einfo " http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html" + einfo + einfo "PG_INITDB_OPTS is currently set to:" + if [[ -z "${PG_INITDB_OPTS}" ]] ; then + einfo " (none)" + else + einfo " ${PG_INITDB_OPTS}" + fi + einfo + einfo "Configuration files will be installed to:" + einfo " ${PGDATA}" + einfo + einfo "The database cluster will be created in:" + einfo " ${DATA_DIR}" + einfo + + ebegin "Continuing initialization in 5 seconds (Control-C to cancel)" + sleep 5 + eend 0 + + if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then + eerror "The given directory, '${DATA_DIR}', is not empty." + eerror "Modify DATA_DIR to point to an empty directory." + die "${DATA_DIR} is not empty." + fi + + einfo "Creating the data directory ..." + if [[ ${EUID} == 0 ]] ; then + mkdir -p "${DATA_DIR}" + chown -Rf postgres:postgres "${DATA_DIR}" + chmod 0700 "${DATA_DIR}" + fi + + einfo "Initializing the database ..." + + if [[ ${EUID} == 0 ]] ; then + su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}" + else + "${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS} + fi + + if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then + mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}" + ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}" + fi + + # unix_socket_directory has no effect in postgresql.conf as it's + # overridden in the initscript + sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf + + cat <<- EOF >> "${PGDATA%/}"/postgresql.conf + # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522 + # On the off-chance that you might need to work with UTF-8 encoded + # characters in PL/Perl + plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";' + EOF + + einfo "The autovacuum function, which was in contrib, has been moved to the main" + einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled" + einfo "by default. You can disable it in the cluster's:" + einfo " ${PGDATA%/}/postgresql.conf" + einfo + 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.10.ebuild b/dev-db/postgresql/postgresql-9.5.10.ebuild new file mode 100644 index 000000000000..721f27ae0f95 --- /dev/null +++ b/dev-db/postgresql/postgresql-9.5.10.ebuild @@ -0,0 +1,492 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) + +inherit eutils flag-o-matic 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 ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris" + +SLOT="$(get_version_component_range 1-2)" + +SRC_URI="mirror://postgresql/source/v${PV}/postgresql-${PV}.tar.bz2" + +LICENSE="POSTGRESQL GPL-2" +DESCRIPTION="PostgreSQL RDBMS" +HOMEPAGE="http://www.postgresql.org/" + +LINGUAS="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" +IUSE="doc kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp python + +readline selinux +server systemd ssl static-libs tcl threads uuid xml zlib" + +for lingua in ${LINGUAS}; do + IUSE+=" linguas_${lingua}" +done +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +wanted_languages() { + local enable_langs + + for lingua in ${LINGUAS} ; do + use linguas_${lingua} && enable_langs+="${lingua} " + done + + echo -n ${enable_langs} +} + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +sys-apps/less +virtual/libintl +kerberos? ( virtual/krb5 ) +ldap? ( net-nds/openldap ) +pam? ( virtual/pam ) +perl? ( >=dev-lang/perl-5.8:= ) +python? ( ${PYTHON_DEPS} ) +readline? ( sys-libs/readline:0= ) +ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= ) + libressl? ( dev-libs/libressl:= ) +) +tcl? ( >=dev-lang/tcl-8:0= ) +xml? ( dev-libs/libxml2 dev-libs/libxslt ) +zlib? ( sys-libs/zlib ) +" + +# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no +# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems, +# the libc includes UUID functions. +UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} ) +BSD_LIBC=( elibc_{Free,Net,Open}BSD ) + +nest_usedep() { + local front back + while [[ ${#} -gt 1 ]]; do + front+="${1}? ( " + back+=" )" + shift + done + echo "${front}${1}${back}" +} + +IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}" +CDEPEND+=" +uuid? ( + ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )} + $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid) +)" + +DEPEND="${CDEPEND} +!!<sys-apps/sandbox-2.0 +sys-devel/bison +sys-devel/flex +nls? ( sys-devel/gettext ) +xml? ( virtual/pkgconfig ) +" + +RDEPEND="${CDEPEND} +!dev-db/postgresql-docs:${SLOT} +!dev-db/postgresql-base:${SLOT} +!dev-db/postgresql-server:${SLOT} +selinux? ( sec-policy/selinux-postgresql ) +" + +pkg_setup() { + use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup + + enewgroup postgres 70 + enewuser postgres 70 /bin/sh /var/lib/postgresql postgres + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # Work around PPC{,64} compilation bug where bool is already defined + sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die + + # Set proper run directory + sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \ + -i src/include/pg_config_manual.h || die + + # Rely on $PATH being in the proper order so that the correct + # install program is used for modules utilizing PGXS in both + # hardened and non-hardened environments. (Bug #528786) + sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die + + use server || eapply "${FILESDIR}/${PN}-9.5.5-no-server.patch" + + if use pam ; then + sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \ + -i src/backend/libpq/auth.c || \ + die 'PGSQL_PAM_SERVICE rename failed.' + fi + + eapply_user +} + +src_configure() { + case ${CHOST} in + *-darwin*|*-solaris*) + use nls && append-libs intl + ;; + esac + + export LDFLAGS_SL="${LDFLAGS}" + export LDFLAGS_EX="${LDFLAGS}" + + local PO="${EPREFIX%/}" + + local i uuid_config="" + if use uuid; then + for i in ${UTIL_LINUX_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=e2fs" + done + for i in ${BSD_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=bsd" + done + [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp" + fi + + econf \ + --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \ + --datadir="${PO}/usr/share/postgresql-${SLOT}" \ + --docdir="${PO}/usr/share/doc/${PF}" \ + --includedir="${PO}/usr/include/postgresql-${SLOT}" \ + --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \ + --sysconfdir="${PO}/etc/postgresql-${SLOT}" \ + --with-system-tzdata="${PO}/usr/share/zoneinfo" \ + $(use_enable !alpha spinlocks) \ + $(use_enable !pg_legacytimestamp integer-datetimes) \ + $(use_enable threads thread-safety) \ + $(use_with kerberos gssapi) \ + $(use_with ldap) \ + $(use_with pam) \ + $(use_with perl) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with ssl openssl) \ + $(use_with tcl) \ + ${uuid_config} \ + $(use_with xml libxml) \ + $(use_with xml libxslt) \ + $(use_with zlib) \ + "$(use_enable nls nls "$(wanted_languages)")" +} + +src_compile() { + emake + emake -C contrib +} + +src_install() { + emake DESTDIR="${D}" install + emake DESTDIR="${D}" install -C contrib + + dodoc README HISTORY doc/{TODO,bug.template} + + # man pages are already built, but if we have the target make them, + # they'll be generated from source before being installed so we + # manually install man pages. + # We use ${SLOT} instead of doman for postgresql.eselect + insinto /usr/share/postgresql-${SLOT}/man/ + doins -r doc/src/sgml/man{1,3,7} + if ! use server; then + # Remove man pages for non-existent binaries + for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do + rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1" + done + fi + docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7} + + # Create slot specific man pages + local bn f mansec slotted_name + for mansec in 1 3 7 ; do + local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}" + + mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir" + pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed" + + for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do + bn=$(basename "${f}") + slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec} + case ${bn} in + TABLE.7|WITH.7) + echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name} + ;; + *) + echo ".so ${rel_manpath}/${bn}" > ${slotted_name} + ;; + esac + done + + popd > /dev/null + done + + insinto /etc/postgresql-${SLOT} + newins src/bin/psql/psqlrc.sample psqlrc + + use static-libs || find "${ED}" -name '*.a' -delete + + local f bn + for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ + -mindepth 1 -maxdepth 1) + do + bn=$(basename "${f}") + # Temporarily tack on tmp to workaround a file collision + # issue. This is only necessary for 9.7 and earlier. 10 never + # had this issue. + dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ + "/usr/bin/${bn}${SLOT/.}tmp" + done + + if use doc ; then + docinto html + dodoc doc/src/sgml/html/* + + docinto sgml + dodoc doc/src/sgml/*.{sgml,dsl} + fi + + if use server; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} + + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT} + + if use systemd; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.service-9.2" | \ + systemd_newunit - ${PN}-${SLOT}.service + systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf + fi + + newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir + + use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session + + if use prefix ; then + keepdir /run/postgresql + fperms 1775 /run/postgresql + fi + fi +} + +pkg_preinst() { + # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g., + # /usr/bin/psql96). They may have been created by the + # postgresql.eselect module, but they're handled within this ebuild + # now. It's alright if we momentarily delete /usr/bin/psql as it + # will be recreated by the eselect module in pkg_ppostinst(). This + # is only necessary for 9.7 and earlier. 10 and later were never + # handled in this manner. + local canonicalise + if type -p realpath > /dev/null; then + canonicalise=realpath + elif type -p readlink > /dev/null; then + canonicalise='readlink -f' + else + # can't die, subshell + die "No readlink nor realpath found, cannot canonicalise" + fi + + local l + # First remove any symlinks in /usr/bin that may have been created + # by the old eselect + for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do + if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then + rm "${l}" || ewarn "Couldn't remove ${l}" + fi + done + + # Then move the symlinks created by the ebuild to their proper place. + for l in "${ED}"/usr/bin/*tmp ; do + mv "${l}" "${l%tmp}" \ + || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})" + done +} + +pkg_postinst() { + use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf + postgresql-config update + + if use alpha && use server ; then + ewarn "PostgreSQL 9.5+ no longer has native spinlock support on Alpha platforms." + ewarn "As a result, performance will be extremely degraded." + fi + + elog "If you need a global psqlrc-file, you can place it in:" + elog " ${EROOT%/}/etc/postgresql-${SLOT}/" + + if use server ; then + elog + elog "Gentoo specific documentation:" + elog "https://wiki.gentoo.org/wiki/PostgreSQL" + elog + elog "Official documentation:" + elog "http://www.postgresql.org/docs/${SLOT}/static/index.html" + elog + elog "The default location of the Unix-domain socket is:" + elog " ${EROOT%/}/run/postgresql/" + elog + elog "Before initializing the database, you may want to edit PG_INITDB_OPTS" + elog "so that it contains your preferred locale in:" + elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + elog + elog "Then, execute the following command to setup the initial database" + elog "environment:" + elog " emerge --config =${CATEGORY}/${PF}" + fi +} + +pkg_prerm() { + if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then + ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?" + ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL" + + ebegin "Resuming removal in 10 seconds (Control-C to cancel)" + sleep 10 + eend 0 + fi +} + +pkg_postrm() { + postgresql-config update +} + +pkg_config() { + use server || die "USE flag 'server' not enabled. Nothing to configure." + + [[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \ + && source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + [[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/" + [[ -z "${DATA_DIR}" ]] \ + && DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data" + + # environment.bz2 may not contain the same locale as the current system + # locale. Unset and source from the current system locale. + if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then + unset LANG + unset LC_CTYPE + unset LC_NUMERIC + unset LC_TIME + unset LC_COLLATE + unset LC_MONETARY + unset LC_MESSAGES + unset LC_ALL + source "${EROOT%/}/etc/env.d/02locale" + [ -n "${LANG}" ] && export LANG + [ -n "${LC_CTYPE}" ] && export LC_CTYPE + [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC + [ -n "${LC_TIME}" ] && export LC_TIME + [ -n "${LC_COLLATE}" ] && export LC_COLLATE + [ -n "${LC_MONETARY}" ] && export LC_MONETARY + [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES + [ -n "${LC_ALL}" ] && export LC_ALL + fi + + einfo "You can modify the paths and options passed to initdb by editing:" + einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + einfo + einfo "Information on options that can be passed to initdb are found at:" + einfo " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html" + einfo " http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html" + einfo + einfo "PG_INITDB_OPTS is currently set to:" + if [[ -z "${PG_INITDB_OPTS}" ]] ; then + einfo " (none)" + else + einfo " ${PG_INITDB_OPTS}" + fi + einfo + einfo "Configuration files will be installed to:" + einfo " ${PGDATA}" + einfo + einfo "The database cluster will be created in:" + einfo " ${DATA_DIR}" + einfo + + ebegin "Continuing initialization in 5 seconds (Control-C to cancel)" + sleep 5 + eend 0 + + if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then + eerror "The given directory, '${DATA_DIR}', is not empty." + eerror "Modify DATA_DIR to point to an empty directory." + die "${DATA_DIR} is not empty." + fi + + einfo "Creating the data directory ..." + if [[ ${EUID} == 0 ]] ; then + mkdir -p "${DATA_DIR}" + chown -Rf postgres:postgres "${DATA_DIR}" + chmod 0700 "${DATA_DIR}" + fi + + einfo "Initializing the database ..." + + if [[ ${EUID} == 0 ]] ; then + su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}" + else + "${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS} + fi + + if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then + mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}" + ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}" + fi + + # unix_socket_directory has no effect in postgresql.conf as it's + # overridden in the initscript + sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf + + cat <<- EOF >> "${PGDATA%/}"/postgresql.conf + # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522 + # On the off-chance that you might need to work with UTF-8 encoded + # characters in PL/Perl + plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";' + EOF + + einfo "The autovacuum function, which was in contrib, has been moved to the main" + einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled" + einfo "by default. You can disable it in the cluster's:" + einfo " ${PGDATA%/}/postgresql.conf" + einfo + einfo "The PostgreSQL server, by default, will log events to:" + einfo " ${DATA_DIR%/}/postmaster.log" + einfo + if use prefix ; then + einfo "The location of the configuration files have moved to:" + einfo " ${PGDATA}" + einfo "To start the server:" + einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'" + einfo "To stop:" + einfo " pg_ctl stop -D ${DATA_DIR}" + einfo + einfo "Or move the configuration files back:" + einfo "mv ${PGDATA}*.conf ${DATA_DIR}" + else + einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL" + einfo "instead of 'pg_ctl'." + fi +} + +src_test() { + if use server && [[ ${UID} -ne 0 ]] ; then + emake check + + einfo "If you think other tests besides the regression tests are necessary, please" + einfo "submit a bug including a patch for this ebuild to enable them." + else + use server || \ + ewarn 'Tests cannot be run without the "server" use flag enabled.' + [[ ${UID} -eq 0 ]] || \ + ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.' + + ewarn 'Skipping.' + fi +} diff --git a/dev-db/postgresql/postgresql-9.6.6.ebuild b/dev-db/postgresql/postgresql-9.6.6.ebuild new file mode 100644 index 000000000000..df077d0dfb87 --- /dev/null +++ b/dev-db/postgresql/postgresql-9.6.6.ebuild @@ -0,0 +1,497 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) + +inherit eutils flag-o-matic 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 ~sparc-fbsd ~x86-fbsd ~ppc-macos ~x86-solaris" + +SLOT="$(get_version_component_range 1-2)" + +MY_PV=${PV/_/} +S="${WORKDIR}/${PN}-${MY_PV}" + +SRC_URI="mirror://postgresql/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2" + +LICENSE="POSTGRESQL GPL-2" +DESCRIPTION="PostgreSQL RDBMS" +HOMEPAGE="http://www.postgresql.org/" + +LINGUAS="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" +IUSE="doc kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp python + +readline selinux +server systemd ssl static-libs tcl threads uuid xml zlib" + +for lingua in ${LINGUAS}; do + IUSE+=" linguas_${lingua}" +done +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +wanted_languages() { + local enable_langs + + for lingua in ${LINGUAS} ; do + use linguas_${lingua} && enable_langs+="${lingua} " + done + + echo -n ${enable_langs} +} + +CDEPEND=" +>=app-eselect/eselect-postgresql-2.0 +sys-apps/less +virtual/libintl +kerberos? ( virtual/krb5 ) +ldap? ( net-nds/openldap ) +pam? ( virtual/pam ) +perl? ( >=dev-lang/perl-5.8:= ) +python? ( ${PYTHON_DEPS} ) +readline? ( sys-libs/readline:0= ) +ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= ) + libressl? ( dev-libs/libressl:= ) +) +server? ( systemd? ( sys-apps/systemd ) ) +tcl? ( >=dev-lang/tcl-8:0= ) +xml? ( dev-libs/libxml2 dev-libs/libxslt ) +zlib? ( sys-libs/zlib ) +" + +# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no +# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems, +# the libc includes UUID functions. +UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} ) +BSD_LIBC=( elibc_{Free,Net,Open}BSD ) + +nest_usedep() { + local front back + while [[ ${#} -gt 1 ]]; do + front+="${1}? ( " + back+=" )" + shift + done + echo "${front}${1}${back}" +} + +IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}" +CDEPEND+=" +uuid? ( + ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )} + $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid) +)" + +DEPEND="${CDEPEND} +!!<sys-apps/sandbox-2.0 +sys-devel/bison +sys-devel/flex +nls? ( sys-devel/gettext ) +xml? ( virtual/pkgconfig ) +" + +RDEPEND="${CDEPEND} +!dev-db/postgresql-docs:${SLOT} +!dev-db/postgresql-base:${SLOT} +!dev-db/postgresql-server:${SLOT} +selinux? ( sec-policy/selinux-postgresql ) +" + +pkg_setup() { + use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup + + enewgroup postgres 70 + enewuser postgres 70 /bin/sh /var/lib/postgresql postgres + + use python && python-single-r1_pkg_setup +} + +src_prepare() { + # Work around PPC{,64} compilation bug where bool is already defined + sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die + + # Set proper run directory + sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \ + -i src/include/pg_config_manual.h || die + + # Rely on $PATH being in the proper order so that the correct + # install program is used for modules utilizing PGXS in both + # hardened and non-hardened environments. (Bug #528786) + sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die + + use server || eapply "${FILESDIR}/${PN}-${SLOT}.3-no-server.patch" + + if use pam ; then + sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \ + -i src/backend/libpq/auth.c || \ + die 'PGSQL_PAM_SERVICE rename failed.' + fi + + eapply_user +} + +src_configure() { + case ${CHOST} in + *-darwin*|*-solaris*) + use nls && append-libs intl + ;; + esac + + export LDFLAGS_SL="${LDFLAGS}" + export LDFLAGS_EX="${LDFLAGS}" + + local PO="${EPREFIX%/}" + + local i uuid_config="" + if use uuid; then + for i in ${UTIL_LINUX_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=e2fs" + done + for i in ${BSD_LIBC[@]}; do + use ${i} && uuid_config="--with-uuid=bsd" + done + [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp" + fi + + econf \ + --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \ + --datadir="${PO}/usr/share/postgresql-${SLOT}" \ + --docdir="${PO}/usr/share/doc/${PF}" \ + --includedir="${PO}/usr/include/postgresql-${SLOT}" \ + --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \ + --sysconfdir="${PO}/etc/postgresql-${SLOT}" \ + --with-system-tzdata="${PO}/usr/share/zoneinfo" \ + $(use_enable !alpha spinlocks) \ + $(use_enable !pg_legacytimestamp integer-datetimes) \ + $(use_enable threads thread-safety) \ + $(use_with kerberos gssapi) \ + $(use_with ldap) \ + $(use_with pam) \ + $(use_with perl) \ + $(use_with python) \ + $(use_with readline) \ + $(use_with ssl openssl) \ + $(usex server "$(use_with systemd)" '--without-systemd') \ + $(use_with tcl) \ + ${uuid_config} \ + $(use_with xml libxml) \ + $(use_with xml libxslt) \ + $(use_with zlib) \ + "$(use_enable nls nls "$(wanted_languages)")" +} + +src_compile() { + emake + emake -C contrib +} + +src_install() { + emake DESTDIR="${D}" install + emake DESTDIR="${D}" install -C contrib + + dodoc README HISTORY doc/{TODO,bug.template} + + # man pages are already built, but if we have the target make them, + # they'll be generated from source before being installed so we + # manually install man pages. + # We use ${SLOT} instead of doman for postgresql.eselect + insinto /usr/share/postgresql-${SLOT}/man/ + doins -r doc/src/sgml/man{1,3,7} + if ! use server; then + # Remove man pages for non-existent binaries + for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do + rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1" + done + fi + docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7} + + # Create slot specific man pages + local bn f mansec slotted_name + for mansec in 1 3 7 ; do + local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}" + + mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir" + pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed" + + for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do + bn=$(basename "${f}") + slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec} + case ${bn} in + TABLE.7|WITH.7) + echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name} + ;; + *) + echo ".so ${rel_manpath}/${bn}" > ${slotted_name} + ;; + esac + done + + popd > /dev/null + done + + insinto /etc/postgresql-${SLOT} + newins src/bin/psql/psqlrc.sample psqlrc + + use static-libs || find "${ED}" -name '*.a' -delete + + local f bn + for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \ + -mindepth 1 -maxdepth 1) + do + bn=$(basename "${f}") + # Temporarily tack on tmp to workaround a file collision + # issue. This is only necessary for 9.7 and earlier. 10 never + # had this issue. + dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \ + "/usr/bin/${bn}${SLOT/.}tmp" + done + + if use doc ; then + docinto html + dodoc doc/src/sgml/html/* + + docinto sgml + dodoc doc/src/sgml/*.{sgml,dsl} + fi + + if use server; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT} + + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT} + + if use systemd; then + sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \ + "${FILESDIR}/${PN}.service-9.6-r1" | \ + systemd_newunit - ${PN}-${SLOT}.service + systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf + fi + + newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir + + use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session + + if use prefix ; then + keepdir /run/postgresql + fperms 1775 /run/postgresql + fi + fi +} + +pkg_preinst() { + # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g., + # /usr/bin/psql96). They may have been created by the + # postgresql.eselect module, but they're handled within this ebuild + # now. It's alright if we momentarily delete /usr/bin/psql as it + # will be recreated by the eselect module in pkg_ppostinst(). This + # is only necessary for 9.7 and earlier. 10 and later were never + # handled in this manner. + local canonicalise + if type -p realpath > /dev/null; then + canonicalise=realpath + elif type -p readlink > /dev/null; then + canonicalise='readlink -f' + else + # can't die, subshell + die "No readlink nor realpath found, cannot canonicalise" + fi + + local l + # First remove any symlinks in /usr/bin that may have been created + # by the old eselect + for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do + if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then + rm "${l}" || ewarn "Couldn't remove ${l}" + fi + done + + # Then move the symlinks created by the ebuild to their proper place. + for l in "${ED}"/usr/bin/*tmp ; do + mv "${l}" "${l%tmp}" \ + || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})" + done +} + +pkg_postinst() { + use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf + postgresql-config update + + elog "If you need a global psqlrc-file, you can place it in:" + elog " ${EROOT%/}/etc/postgresql-${SLOT}/" + + if use server ; then + elog + elog "Gentoo specific documentation:" + elog "https://wiki.gentoo.org/wiki/PostgreSQL" + elog + elog "Official documentation:" + elog "http://www.postgresql.org/docs/${SLOT}/static/index.html" + elog + elog "The default location of the Unix-domain socket is:" + elog " ${EROOT%/}/run/postgresql/" + elog + elog "Before initializing the database, you may want to edit PG_INITDB_OPTS" + elog "so that it contains your preferred locale in:" + elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + elog + elog "Then, execute the following command to setup the initial database" + elog "environment:" + elog " emerge --config =${CATEGORY}/${PF}" + fi +} + +pkg_prerm() { + if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then + ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?" + ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL" + + ebegin "Resuming removal in 10 seconds (Control-C to cancel)" + sleep 10 + eend 0 + fi +} + +pkg_postrm() { + postgresql-config update +} + +pkg_config() { + use server || die "USE flag 'server' not enabled. Nothing to configure." + + [[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \ + && source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + [[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/" + [[ -z "${DATA_DIR}" ]] \ + && DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data" + + # environment.bz2 may not contain the same locale as the current system + # locale. Unset and source from the current system locale. + if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then + unset LANG + unset LC_CTYPE + unset LC_NUMERIC + unset LC_TIME + unset LC_COLLATE + unset LC_MONETARY + unset LC_MESSAGES + unset LC_ALL + source "${EROOT%/}/etc/env.d/02locale" + [ -n "${LANG}" ] && export LANG + [ -n "${LC_CTYPE}" ] && export LC_CTYPE + [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC + [ -n "${LC_TIME}" ] && export LC_TIME + [ -n "${LC_COLLATE}" ] && export LC_COLLATE + [ -n "${LC_MONETARY}" ] && export LC_MONETARY + [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES + [ -n "${LC_ALL}" ] && export LC_ALL + fi + + einfo "You can modify the paths and options passed to initdb by editing:" + einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}" + einfo + einfo "Information on options that can be passed to initdb are found at:" + einfo " http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html" + einfo " http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html" + einfo + einfo "PG_INITDB_OPTS is currently set to:" + if [[ -z "${PG_INITDB_OPTS}" ]] ; then + einfo " (none)" + else + einfo " ${PG_INITDB_OPTS}" + fi + einfo + einfo "Configuration files will be installed to:" + einfo " ${PGDATA}" + einfo + einfo "The database cluster will be created in:" + einfo " ${DATA_DIR}" + einfo + + ebegin "Continuing initialization in 5 seconds (Control-C to cancel)" + sleep 5 + eend 0 + + if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then + eerror "The given directory, '${DATA_DIR}', is not empty." + eerror "Modify DATA_DIR to point to an empty directory." + die "${DATA_DIR} is not empty." + fi + + einfo "Creating the data directory ..." + if [[ ${EUID} == 0 ]] ; then + mkdir -p "${DATA_DIR}" + chown -Rf postgres:postgres "${DATA_DIR}" + chmod 0700 "${DATA_DIR}" + fi + + einfo "Initializing the database ..." + + if [[ ${EUID} == 0 ]] ; then + su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}" + else + "${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS} + fi + + if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then + mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}" + ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}" + fi + + # unix_socket_directory has no effect in postgresql.conf as it's + # overridden in the initscript + sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf + + cat <<- EOF >> "${PGDATA%/}"/postgresql.conf + # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522 + # On the off-chance that you might need to work with UTF-8 encoded + # characters in PL/Perl + plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";' + EOF + + einfo "The autovacuum function, which was in contrib, has been moved to the main" + einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled" + einfo "by default. You can disable it in the cluster's:" + einfo " ${PGDATA%/}/postgresql.conf" + einfo + if ! use systemd; then + einfo "The PostgreSQL server, by default, will log events to:" + einfo " ${DATA_DIR%/}/postmaster.log" + einfo + fi + if use prefix ; then + einfo "The location of the configuration files have moved to:" + einfo " ${PGDATA}" + einfo "To start the server:" + einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'" + einfo "To stop:" + einfo " pg_ctl stop -D ${DATA_DIR}" + einfo + einfo "Or move the configuration files back:" + einfo "mv ${PGDATA}*.conf ${DATA_DIR}" + elif use systemd; then + einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL" + einfo "instead of 'pg_ctl'." + else + einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL" + einfo "instead of 'pg_ctl'." + fi +} + +src_test() { + if use server && [[ ${UID} -ne 0 ]] ; then + emake check + + einfo "If you think other tests besides the regression tests are necessary, please" + einfo "submit a bug including a patch for this ebuild to enable them." + else + use server || \ + ewarn 'Tests cannot be run without the "server" use flag enabled.' + [[ ${UID} -eq 0 ]] || \ + ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.' + + ewarn 'Skipping.' + fi +} |