dev-db/postgresql: Cleanup old, insecure
authorAaron W. Swenson <titanofold@gentoo.org>
Wed, 13 May 2020 11:37:11 +0000 (07:37 -0400)
committerAaron W. Swenson <titanofold@gentoo.org>
Wed, 13 May 2020 11:37:28 +0000 (07:37 -0400)
Bug: https://bugs.gentoo.org/709708
Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Aaron W. Swenson <titanofold@gentoo.org>
24 files changed:
dev-db/postgresql/Manifest
dev-db/postgresql/postgresql-10.10.ebuild [deleted file]
dev-db/postgresql/postgresql-10.11.ebuild [deleted file]
dev-db/postgresql/postgresql-10.9.ebuild [deleted file]
dev-db/postgresql/postgresql-11.4.ebuild [deleted file]
dev-db/postgresql/postgresql-11.5.ebuild [deleted file]
dev-db/postgresql/postgresql-11.6.ebuild [deleted file]
dev-db/postgresql/postgresql-12.0.ebuild [deleted file]
dev-db/postgresql/postgresql-12.1.ebuild [deleted file]
dev-db/postgresql/postgresql-9.4.22-r1.ebuild [deleted file]
dev-db/postgresql/postgresql-9.4.22.ebuild [deleted file]
dev-db/postgresql/postgresql-9.4.23.ebuild [deleted file]
dev-db/postgresql/postgresql-9.4.24.ebuild [deleted file]
dev-db/postgresql/postgresql-9.4.25.ebuild [deleted file]
dev-db/postgresql/postgresql-9.5.17-r1.ebuild [deleted file]
dev-db/postgresql/postgresql-9.5.17.ebuild [deleted file]
dev-db/postgresql/postgresql-9.5.18.ebuild [deleted file]
dev-db/postgresql/postgresql-9.5.19.ebuild [deleted file]
dev-db/postgresql/postgresql-9.5.20.ebuild [deleted file]
dev-db/postgresql/postgresql-9.6.13-r1.ebuild [deleted file]
dev-db/postgresql/postgresql-9.6.13.ebuild [deleted file]
dev-db/postgresql/postgresql-9.6.14.ebuild [deleted file]
dev-db/postgresql/postgresql-9.6.15.ebuild [deleted file]
dev-db/postgresql/postgresql-9.6.16.ebuild [deleted file]

index afa06285713dfa6e54a7d20490f4ab5336c3f6ff..c9a978cfe57a131e57735b27613fd43eaa335662 100644 (file)
@@ -1,26 +1,6 @@
-DIST postgresql-10.10.tar.bz2 19012049 BLAKE2B 44ed5cfe2dc57ff3533faa1e921c981e0e437fe19adccc2ad87b939ec0c1bd5772ed8b0d6a7815dfc70c15149725250cb9431d58388fd3331a2bc2623b9959fb SHA512 60cafe4b27a194949aff482dcce4fa096a9916f37205868437a32afb8964df71934b619a0b891fe85eb7c7f9b11775cffbbedca589e78feb6c4184eb224b48bc
-DIST postgresql-10.11.tar.bz2 19017947 BLAKE2B 952d0fc76b665545eb512e0a6df6d2dafe0eaec4bdc774968d0a49dd6f6873b35a317ca6fd2bd74f36864d10f5a61e1920440e066522f982d0a7f1ce285143a9 SHA512 ce90b34e74d423b6db1f0e840b8e09579965c020fa2cfe3e567b604d3354d91e00a4347d559876be829aa89db44f84736e154495708ba9908f1d850446a1fc7b
 DIST postgresql-10.12.tar.bz2 19020488 BLAKE2B 2177e9b63e21a634e1d8ea060b5bd0a7360d81ece64f50dd614e6cdd6b0cf0dcbd3896ef2c11bd1431ce7a964ac8876d24f368d7f7eb309e3d432856d7546f2a SHA512 6accc66cbbae811509095c33e8a8d17ddd11d9e307267312e3d09df90469db4700a5806166d66f25d77769d3ef88653c98dfc7d05dd053f10434b03e0a9e33b7
-DIST postgresql-10.9.tar.bz2 18981395 BLAKE2B ef2ac003b393ea7cbf24c45fac6b3dc69df2a8694a9e891d5a68f7310d63fb816649d16a7351d03b63a4eb2256703efcab616a0146324478335267c39f3b9829 SHA512 4e2f30a0fd262f2e3ce5fc836425be635326600cd6cd4e117c57f59ea7ab2e9ea463a8d357fe7adb8c0dd0094e43d08efc2a137f8f9975715a5908e35920f98e
-DIST postgresql-11.4.tar.bz2 19759635 BLAKE2B a3f35df40d31dce52073eeacf4e16bc7ccb487dc0a6e15b84d087f04fd130b66b1168ece3edc63927c377ca1044b54ccb3db5fb9b4a5c86a5b0e179a6678c73c SHA512 159fb84134e05ddc58e40a879ca52ed4d58ced7bcd1e7310d59bda84f9055339a31a92cfaab2c063a88685f7417b9a828534394bf9a2477fc33d1fb6cd26186b
-DIST postgresql-11.5.tar.bz2 19773087 BLAKE2B 32dca67ddfe2f6a6801a5d82a25fe7df0cc2dd89c35eee87a57ebe6391b8d7d4bccc59d6cac3e821ad76731ab319e3303f2fcbce9ee8cda1cfef13b2185c0ab1 SHA512 537148079dc6c33cfb9bf9722171e524707b42ef01369deb968d0d6e8fa9b7f16f6ce67139d9dc45fb7385defbf56aa2c0affe5ee9d76e996f31e47486192141
-DIST postgresql-11.6.tar.bz2 19843202 BLAKE2B 379953e0a0abb5a5abb109370cf2b95979321524031fe754c0a5a2cde636b2fdafa1da9c9ee84638a884cec3a312607f8ac7da6b1817c3b700a44c3025fd1944 SHA512 de6833c0df8dbac7bc498ac573dc4c3645070d9bbdd6b5d89db3ef41e86e7fc19d5e6450aa46ee2a1392d86c33acf6b9364b2863caac49f45351a46647feecbd
 DIST postgresql-11.7.tar.bz2 19890063 BLAKE2B 461c372567ff0b4ff4da52889be5d2822b56889e4890b33c9a71f1105ad629b4f5bec95c4fbf5aebbdd4445e0ff451a7d8df04ae7b5bf7cf0075c3226a41b19b SHA512 32c7ace228f9895241ce0d925fbfc60c0cd39f4cd35368fb10dc7db046151ffd59a9895b4c30a529627f0103051e84b4992ed60312cccd292489f3037076ca1e
-DIST postgresql-12.0.tar.bz2 20177458 BLAKE2B 614222e43519a83044587981cb04ab7e437357d5b2784068d425aaeb67df54f44aef4aaaf780bd3f83f012c0fc8f41723bc83b6e44e7bf2707857c491b8d129b SHA512 231a0b5c181c33cb01c3f39de1802319b79eceec6997935ab8605dea1f4583a52d0d16e5a70fcdeea313462f062503361d543433ee03d858ba332c72a665f696
-DIST postgresql-12.1.tar.bz2 20213711 BLAKE2B 670e33c23a14527aedb694647ff2d2670df159352ef10c11e5895aafffaa752bd49ee7b1991262f4c7548dc8c617e06f651c6098a676b4462ed06e3982d0f5fa SHA512 f45b1762fd60b6f7419305d108b7fc521e3a7afa833d3aacccba814465baf40d19f57ff9bf2909d726c4c94a1cd99a39f1aa8e45fd0364cdedbcbed36ff48caf
 DIST postgresql-12.2.tar.bz2 20363545 BLAKE2B 7b0cfe841d46b117ff5dd793be5537e916f92255eb0d000681ed62c497eef34c5d1261126be408f2b7f95274485e2787869cd4063461ab248b650c168b62548d SHA512 0e0ce8e21856e8f43e58b840c10c4e3ffae6d5207e0d778e9176e36f8e20e34633cbb06f0030a7c963c3491bb7e941456d91b55444c561cfc6f283fba76f33ee
-DIST postgresql-9.4.22.tar.bz2 16848787 BLAKE2B 5c2aaef13ef0cf33c421e6839877a8e4e1fc5dbe41d9cabefddd369925869f92f6c6b8a124b5778f9b25359103f0a7ada1eddcaf4bac498709f563928f25e7e3 SHA512 f11623a89b2320616fd53eda52da544bdfcb63bff08cb78fccde134ef628eee7ee90b3de6952f4e08c10297d356624faabf0e5b181b0105f51797796cd04efef
-DIST postgresql-9.4.23.tar.bz2 16848808 BLAKE2B fd747fb3f6f540190ecbd53116ef7b8b812d05f5968e32c9d09c5902239eaf073281262dba9836514344303a3c894f48c617e050ce713be7c09f53ee49c7b3cd SHA512 b1eb392b939ac8369c76e4ecc142c78f380afc498b60ec0ea97acb16c21ffa5c11a24c2c46463032865955b7c531492c08feb6ef1efc46a549369f026594ea61
-DIST postgresql-9.4.24.tar.bz2 16842941 BLAKE2B 999a33addd493d1169ba3222a269fea827f4ed866453727bf9545d6a8873943d56b8e71773daf0f116150dc557afaf2e80dc570e8f351ba64b196ae8bcd8fbc9 SHA512 8e7b4da8a5cf48cf4d98cce117614f7ab594087d0002f996c1fedc2a38af6eaa663ad3ce67ced6d6b0fd6d0b00aee932025bf50a4314933ba535716577e9393f
-DIST postgresql-9.4.25.tar.bz2 16849015 BLAKE2B 1d843fe29cdb122515f2bded8a04489772f7c40aa54774a454fe0815cc1c6306b42ff3115e1dfb7dc93b483d62611f1e773436c1370462326678f78bc25f3827 SHA512 be45c47a17788be40a2beca058b5dcbf1ded985838d1c85229fbece174fca222d5ac07025c764d40c92f823d6bf784975a25b79a545b903434be8bcd24efb9a0
 DIST postgresql-9.4.26.tar.bz2 16871195 BLAKE2B f26fd335293669a815a51ceb994b66e154c66f96f91e4c68d7df3490ad25f4b0366ebf7bfe2b209ff34965ea27a08562ace050f40d49cec94eb576d7a1becd1c SHA512 7d379d139c7b2bdac1df38743cbb46a1790a8d5174e8cf1141b7b4febcbc8f612e347bf4d355684eef24dfc73bb2796f85fc532908f26ba7195c685f198cbb72
-DIST postgresql-9.5.17.tar.bz2 17563469 BLAKE2B d40b7f95d03db594144b4882f36bbe22f348faab0b8d67eda3f946448bb0e09188eccdeb4d1c92742fb29a920b30ede55e536a863b22d2009283eab66679122d SHA512 bb468528b1f18166cda0be136f31a632859ffe6e6800233b1cb0e91ce11d2d00d3dc108a74580b5552a4d30b9f1b6849c91576cd497beac788c429815c66eac5
-DIST postgresql-9.5.18.tar.bz2 17570161 BLAKE2B aee7e4570f2571e507fd972e86d3a6a9243d8fd33c356305998a8dce461bc9b06b45e1ff4267a9eb47f58a793c0b70bce0babfc0dce939cb34b1436a55a5d9fd SHA512 0487ac2891c800de045135d4b153659ec10c28750a09e0b87343f8e7145a11f1783ed0b6ca60829776faae1430c8050cc7661c780f171f1b2621f1673a32e6d1
-DIST postgresql-9.5.19.tar.bz2 17571998 BLAKE2B 24bd617ecef4d0add443d20ea3528eb8d48d83f31a3eaf726213c98211418efd2f35d846964049284332c9d20228308c7441cb3e8ee35f0188d060fc75239788 SHA512 46de40e49910311bf5291e1ece421ab9628641b18bf84cd1cb8093a584dd0358e3b6d2b086f82e9b06ce699a6e38018c3515ea591355078392e8d3d2fe4a7c64
-DIST postgresql-9.5.20.tar.bz2 17610134 BLAKE2B 26400eb8906186c3d1bb2ee1a16248540ed11d61445caf9d657dd47faabc2df8116ffa02727152d37bf88ac10f935887dc449bc421c605fa107bd5a24f38c3d5 SHA512 75558d05f6bee6fad65ad0b4dcb428b50bcf003c4fbd878747010988958464d7119dd8121a8817c3cad83c20bcae6cd550fc01fbca39f54e670d93fc70688bea
 DIST postgresql-9.5.21.tar.bz2 17640928 BLAKE2B 8ffcf0befc331317a32d63d3cdfe44f7743f72f18b4bc46bee5ee80f8c489b4b1ef26abc8219f277acc922657fc21e3dc31f3fc9838621f44d95cc9405fca43b SHA512 8527356ee3b4f151c832aef50a8b96e923e0a6c77e5fe6ad597f50527f9d084a8feab7bede8fdbe29aab44383577d3f86e5286fb34e2d2b696cde34bd922e69d
-DIST postgresql-9.6.13.tar.bz2 18767279 BLAKE2B c1ec780a7f938f878425cbd6556145e60a613135129daaacc52e9a699cc448a22481b01fac20d0c09373ea6a026f39bc58234aae4f1126333b94f621981a8135 SHA512 65cc70410ad4a1a738b92855b92eecdbb9efbbca0eb9a45a138d47b696c8f9c9cd19073fbfdf5c80eea7633d0be29b4ed8acbadd38724acf8f18c90bb30f9b26
-DIST postgresql-9.6.14.tar.bz2 18787744 BLAKE2B be5a0d90fe1cd5ea682d8446e512271175f705bc49514215535d7aa4b631669846c0bd6167f985028c07dc5d6d394a1ea809028c5a5e15a5f010e85c2bede8cf SHA512 dccc183a6992ef4ece4ef5c638339708ab484e571ecd66ed993c9071cd55f250b4277fd3367f9a5ee545aa83e29dc5f7a239200e200e3314d5acc847f35e790c
-DIST postgresql-9.6.15.tar.bz2 18799121 BLAKE2B 5dee0fac7592cecf4412deaef54cedbd86eb6081fc268b6ef8a5f01c31af930747749fb54a77d766e1d6ef705bab5d550a7bace25c86d201f25ed69163d920fc SHA512 cc35a059bf59ea3487c17a8432b791ca2a19afaa24b07403a8d33904b3a97ebe601e3036ca8ec766c54cb87a7def7d4618a425a4446e6832391185d7c71117db
-DIST postgresql-9.6.16.tar.bz2 18806372 BLAKE2B f5d7287264b05ab6bd157adf05d78597c7e7281ef40d4616ad66f2434a686c68845ad21883bcc97f6ea299a785109e1541d6c75e40ba383d80e9703331d9c624 SHA512 7083d670883b203946f68bcf1216dd1cbd904220b4c95e25855f9a8904334fd7e87509c905f589398ad7b165869b75288c2e4f49b14263ce4891347ecd4485b4
 DIST postgresql-9.6.17.tar.bz2 18812282 BLAKE2B 0bb48445201aae1d6b4f5a77652aefaaa629799a019c3b81a14e554a88167530002931c2b0d658731b26a38bd09487f79a6ef514b0955982d6037b383c021819 SHA512 a76f328523517f664e4fc59a4d27e476bc6300e49370712030caae40aa160acb1e6aecc7cd3b3440125713069932df812eb8d75377a3df63e59c9292419c2aa8
diff --git a/dev-db/postgresql/postgresql-10.10.ebuild b/dev-db/postgresql/postgresql-10.10.ebuild
deleted file mode 100644 (file)
index 2153cb4..0000000
+++ /dev/null
@@ -1,465 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-macos ~x86-solaris"
-
-SLOT=$(ver_cut 1)
-
-MY_PV=${PV/_/}
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="debug doc icu kerberos kernel_linux ldap libressl nls pam perl
-         python +readline selinux +server systemd ssl static-libs tcl
-         threads uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-icu? ( dev-libs/icu:= )
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-server? ( systemd? ( sys-apps/systemd ) )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-tcl? ( >=dev-lang/tcl-8:0= )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-"
-
-# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
-# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
-# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
-BSD_LIBC=( elibc_{Free,Net,Open}BSD )
-
-nest_usedep() {
-       local front back
-       while [[ ${#} -gt 1 ]]; do
-               front+="${1}? ( "
-               back+=" )"
-               shift
-       done
-       echo "${front}${1}${back}"
-}
-
-IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
-CDEPEND+="
-uuid? (
-       ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
-       $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
-)"
-
-DEPEND="${CDEPEND}
-!!<sys-apps/sandbox-2.0
-sys-devel/bison
-sys-devel/flex
-nls? ( sys-devel/gettext )
-xml? ( virtual/pkgconfig )
-"
-
-RDEPEND="${CDEPEND}
-!dev-db/postgresql-docs:${SLOT}
-!dev-db/postgresql-base:${SLOT}
-!dev-db/postgresql-server:${SLOT}
-selinux? ( sec-policy/selinux-postgresql )
-"
-
-pkg_setup() {
-       use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
-
-       enewgroup postgres 70
-       enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
-
-       use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
-       # Work around PPC{,64} compilation bug where bool is already defined
-       sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
-
-       # Set proper run directory
-       sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
-               -i src/include/pg_config_manual.h || die
-
-       # Rely on $PATH being in the proper order so that the correct
-       # install program is used for modules utilizing PGXS in both
-       # hardened and non-hardened environments. (Bug #528786)
-       sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
-
-       use server || eapply "${FILESDIR}/${PN}-10.2-no-server.patch"
-
-       if use pam ; then
-               sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
-                       -i src/backend/libpq/auth.c || \
-                       die 'PGSQL_PAM_SERVICE rename failed.'
-       fi
-
-       eapply_user
-}
-
-src_configure() {
-       case ${CHOST} in
-               *-darwin*|*-solaris*)
-                       use nls && append-libs intl
-                       ;;
-       esac
-
-       export LDFLAGS_SL="${LDFLAGS}"
-       export LDFLAGS_EX="${LDFLAGS}"
-
-       local PO="${EPREFIX}"
-
-       local i uuid_config=""
-       if use uuid; then
-               for i in ${UTIL_LINUX_LIBC[@]}; do
-                       use ${i} && uuid_config="--with-uuid=e2fs"
-               done
-               for i in ${BSD_LIBC[@]}; do
-                       use ${i} && uuid_config="--with-uuid=bsd"
-               done
-               [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
-       fi
-
-       econf \
-               --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
-               --datadir="${PO}/usr/share/postgresql-${SLOT}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !alpha spinlocks) \
-               $(use_enable debug) \
-               $(use_enable threads thread-safety) \
-               $(use_with icu) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(usex server "$(use_with systemd)" '--without-systemd') \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY doc/{TODO,bug.template}
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               serverman=(
-                       initdb
-                       pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
-                       pg_{test_{fsync,timing},upgrade,waldump}
-                       post{gres,master}
-               )
-               for m in ${serverman[@]} ; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
-                        -delete
-
-       # Make slot specific links to programs
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.6-r1" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-
-               if [[ -n ${REPLACING_VERSIONS} ]] ; then
-                       ewarn "If your system is using 'pg_stat_statements' and you are running a"
-                       ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
-                       ewarn "the following command after upgrading:"
-                       ewarn
-                       ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
-               fi
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "${DATA_DIR}"
-               chown -Rf postgres:postgres "${DATA_DIR}"
-               chmod 0700 "${DATA_DIR}"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       if ! use systemd; then
-               einfo "The PostgreSQL server, by default, will log events to:"
-               einfo "    ${DATA_DIR%/}/postmaster.log"
-               einfo
-       fi
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       elif use systemd; then
-               einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       else
-               einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}
diff --git a/dev-db/postgresql/postgresql-10.11.ebuild b/dev-db/postgresql/postgresql-10.11.ebuild
deleted file mode 100644 (file)
index 3f23e21..0000000
+++ /dev/null
@@ -1,465 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
-
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos ~x86-solaris"
-
-SLOT=$(ver_cut 1)
-
-MY_PV=${PV/_/}
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="debug doc icu kerberos kernel_linux ldap libressl nls pam perl
-         python +readline selinux +server systemd ssl static-libs tcl
-         threads uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-icu? ( dev-libs/icu:= )
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-server? ( systemd? ( sys-apps/systemd ) )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-tcl? ( >=dev-lang/tcl-8:0= )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-"
-
-# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
-# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
-# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
-BSD_LIBC=( elibc_{Free,Net,Open}BSD )
-
-nest_usedep() {
-       local front back
-       while [[ ${#} -gt 1 ]]; do
-               front+="${1}? ( "
-               back+=" )"
-               shift
-       done
-       echo "${front}${1}${back}"
-}
-
-IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
-CDEPEND+="
-uuid? (
-       ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
-       $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
-)"
-
-DEPEND="${CDEPEND}
-!!<sys-apps/sandbox-2.0
-sys-devel/bison
-sys-devel/flex
-nls? ( sys-devel/gettext )
-xml? ( virtual/pkgconfig )
-"
-
-RDEPEND="${CDEPEND}
-!dev-db/postgresql-docs:${SLOT}
-!dev-db/postgresql-base:${SLOT}
-!dev-db/postgresql-server:${SLOT}
-selinux? ( sec-policy/selinux-postgresql )
-"
-
-pkg_setup() {
-       use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
-
-       enewgroup postgres 70
-       enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
-
-       use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
-       # Work around PPC{,64} compilation bug where bool is already defined
-       sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
-
-       # Set proper run directory
-       sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
-               -i src/include/pg_config_manual.h || die
-
-       # Rely on $PATH being in the proper order so that the correct
-       # install program is used for modules utilizing PGXS in both
-       # hardened and non-hardened environments. (Bug #528786)
-       sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
-
-       use server || eapply "${FILESDIR}/${PN}-10.2-no-server.patch"
-
-       if use pam ; then
-               sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
-                       -i src/backend/libpq/auth.c || \
-                       die 'PGSQL_PAM_SERVICE rename failed.'
-       fi
-
-       eapply_user
-}
-
-src_configure() {
-       case ${CHOST} in
-               *-darwin*|*-solaris*)
-                       use nls && append-libs intl
-                       ;;
-       esac
-
-       export LDFLAGS_SL="${LDFLAGS}"
-       export LDFLAGS_EX="${LDFLAGS}"
-
-       local PO="${EPREFIX}"
-
-       local i uuid_config=""
-       if use uuid; then
-               for i in ${UTIL_LINUX_LIBC[@]}; do
-                       use ${i} && uuid_config="--with-uuid=e2fs"
-               done
-               for i in ${BSD_LIBC[@]}; do
-                       use ${i} && uuid_config="--with-uuid=bsd"
-               done
-               [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
-       fi
-
-       econf \
-               --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
-               --datadir="${PO}/usr/share/postgresql-${SLOT}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !alpha spinlocks) \
-               $(use_enable debug) \
-               $(use_enable threads thread-safety) \
-               $(use_with icu) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(usex server "$(use_with systemd)" '--without-systemd') \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY doc/{TODO,bug.template}
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               serverman=(
-                       initdb
-                       pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
-                       pg_{test_{fsync,timing},upgrade,waldump}
-                       post{gres,master}
-               )
-               for m in ${serverman[@]} ; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
-                        -delete
-
-       # Make slot specific links to programs
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.6-r1" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-
-               if [[ -n ${REPLACING_VERSIONS} ]] ; then
-                       ewarn "If your system is using 'pg_stat_statements' and you are running a"
-                       ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
-                       ewarn "the following command after upgrading:"
-                       ewarn
-                       ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
-               fi
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "${DATA_DIR}"
-               chown -Rf postgres:postgres "${DATA_DIR}"
-               chmod 0700 "${DATA_DIR}"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       if ! use systemd; then
-               einfo "The PostgreSQL server, by default, will log events to:"
-               einfo "    ${DATA_DIR%/}/postmaster.log"
-               einfo
-       fi
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       elif use systemd; then
-               einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       else
-               einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}
diff --git a/dev-db/postgresql/postgresql-10.9.ebuild b/dev-db/postgresql/postgresql-10.9.ebuild
deleted file mode 100644 (file)
index 444c162..0000000
+++ /dev/null
@@ -1,465 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
-
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos ~x86-solaris"
-
-SLOT=$(ver_cut 1)
-
-MY_PV=${PV/_/}
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="debug doc icu kerberos kernel_linux ldap libressl nls pam perl
-         python +readline selinux +server systemd ssl static-libs tcl
-         threads uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-icu? ( dev-libs/icu:= )
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-server? ( systemd? ( sys-apps/systemd ) )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-tcl? ( >=dev-lang/tcl-8:0= )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-"
-
-# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
-# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
-# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
-BSD_LIBC=( elibc_{Free,Net,Open}BSD )
-
-nest_usedep() {
-       local front back
-       while [[ ${#} -gt 1 ]]; do
-               front+="${1}? ( "
-               back+=" )"
-               shift
-       done
-       echo "${front}${1}${back}"
-}
-
-IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
-CDEPEND+="
-uuid? (
-       ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
-       $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
-)"
-
-DEPEND="${CDEPEND}
-!!<sys-apps/sandbox-2.0
-sys-devel/bison
-sys-devel/flex
-nls? ( sys-devel/gettext )
-xml? ( virtual/pkgconfig )
-"
-
-RDEPEND="${CDEPEND}
-!dev-db/postgresql-docs:${SLOT}
-!dev-db/postgresql-base:${SLOT}
-!dev-db/postgresql-server:${SLOT}
-selinux? ( sec-policy/selinux-postgresql )
-"
-
-pkg_setup() {
-       use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
-
-       enewgroup postgres 70
-       enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
-
-       use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
-       # Work around PPC{,64} compilation bug where bool is already defined
-       sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
-
-       # Set proper run directory
-       sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
-               -i src/include/pg_config_manual.h || die
-
-       # Rely on $PATH being in the proper order so that the correct
-       # install program is used for modules utilizing PGXS in both
-       # hardened and non-hardened environments. (Bug #528786)
-       sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
-
-       use server || eapply "${FILESDIR}/${PN}-10.2-no-server.patch"
-
-       if use pam ; then
-               sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
-                       -i src/backend/libpq/auth.c || \
-                       die 'PGSQL_PAM_SERVICE rename failed.'
-       fi
-
-       eapply_user
-}
-
-src_configure() {
-       case ${CHOST} in
-               *-darwin*|*-solaris*)
-                       use nls && append-libs intl
-                       ;;
-       esac
-
-       export LDFLAGS_SL="${LDFLAGS}"
-       export LDFLAGS_EX="${LDFLAGS}"
-
-       local PO="${EPREFIX}"
-
-       local i uuid_config=""
-       if use uuid; then
-               for i in ${UTIL_LINUX_LIBC[@]}; do
-                       use ${i} && uuid_config="--with-uuid=e2fs"
-               done
-               for i in ${BSD_LIBC[@]}; do
-                       use ${i} && uuid_config="--with-uuid=bsd"
-               done
-               [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
-       fi
-
-       econf \
-               --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
-               --datadir="${PO}/usr/share/postgresql-${SLOT}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !alpha spinlocks) \
-               $(use_enable debug) \
-               $(use_enable threads thread-safety) \
-               $(use_with icu) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(usex server "$(use_with systemd)" '--without-systemd') \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY doc/{TODO,bug.template}
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               serverman=(
-                       initdb
-                       pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
-                       pg_{test_{fsync,timing},upgrade,waldump}
-                       post{gres,master}
-               )
-               for m in ${serverman[@]} ; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
-                        -delete
-
-       # Make slot specific links to programs
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.6-r1" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-
-               if [[ -n ${REPLACING_VERSIONS} ]] ; then
-                       ewarn "If your system is using 'pg_stat_statements' and you are running a"
-                       ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
-                       ewarn "the following command after upgrading:"
-                       ewarn
-                       ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
-               fi
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "${DATA_DIR}"
-               chown -Rf postgres:postgres "${DATA_DIR}"
-               chmod 0700 "${DATA_DIR}"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       if ! use systemd; then
-               einfo "The PostgreSQL server, by default, will log events to:"
-               einfo "    ${DATA_DIR%/}/postmaster.log"
-               einfo
-       fi
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       elif use systemd; then
-               einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       else
-               einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}
diff --git a/dev-db/postgresql/postgresql-11.4.ebuild b/dev-db/postgresql/postgresql-11.4.ebuild
deleted file mode 100644 (file)
index 22f96c8..0000000
+++ /dev/null
@@ -1,467 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
-
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-SLOT=$(ver_cut 1)
-
-MY_PV=${PV/_/}
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="http://www.postgresql.org/"
-
-IUSE="debug doc icu kerberos kernel_linux ldap libressl llvm nls pam
-         perl python +readline selinux +server systemd ssl static-libs tcl
-         threads uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-icu? ( dev-libs/icu:= )
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-llvm? (
-       sys-devel/llvm:=
-       sys-devel/clang:=
-)
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-server? ( systemd? ( sys-apps/systemd ) )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-tcl? ( >=dev-lang/tcl-8:0= )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-"
-
-# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
-# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
-# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
-BSD_LIBC=( elibc_{Free,Net,Open}BSD )
-
-nest_usedep() {
-       local front back
-       while [[ ${#} -gt 1 ]]; do
-               front+="${1}? ( "
-               back+=" )"
-               shift
-       done
-       echo "${front}${1}${back}"
-}
-
-IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
-CDEPEND+="
-uuid? (
-       ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
-       $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
-)"
-
-DEPEND="${CDEPEND}
-!!<sys-apps/sandbox-2.0
-sys-devel/bison
-sys-devel/flex
-nls? ( sys-devel/gettext )
-xml? ( virtual/pkgconfig )
-"
-
-RDEPEND="${CDEPEND}
-!dev-db/postgresql-docs:${SLOT}
-!dev-db/postgresql-base:${SLOT}
-!dev-db/postgresql-server:${SLOT}
-selinux? ( sec-policy/selinux-postgresql )
-"
-
-pkg_setup() {
-       use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
-
-       enewgroup postgres 70
-       enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
-
-       use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
-       # Set proper run directory
-       sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
-               -i src/include/pg_config_manual.h || die
-
-       # Rely on $PATH being in the proper order so that the correct
-       # install program is used for modules utilizing PGXS in both
-       # hardened and non-hardened environments. (Bug #528786)
-       sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
-
-       use server || eapply "${FILESDIR}/${PN}-11_beta1-no-server.patch"
-
-       if use pam ; then
-               sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
-                       -i src/backend/libpq/auth.c || \
-                       die 'PGSQL_PAM_SERVICE rename failed.'
-       fi
-
-       eapply_user
-}
-
-src_configure() {
-       case ${CHOST} in
-               *-darwin*|*-solaris*)
-                       use nls && append-libs intl
-                       ;;
-       esac
-
-       export LDFLAGS_SL="${LDFLAGS}"
-       export LDFLAGS_EX="${LDFLAGS}"
-
-       local PO="${EPREFIX}"
-
-       local i uuid_config=""
-       if use uuid; then
-               for i in ${UTIL_LINUX_LIBC[@]}; do
-                       use ${i} && uuid_config="--with-uuid=e2fs"
-               done
-               for i in ${BSD_LIBC[@]}; do
-                       use ${i} && uuid_config="--with-uuid=bsd"
-               done
-               [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
-       fi
-
-       econf \
-               --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
-               --datadir="${PO}/usr/share/postgresql-${SLOT}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !alpha spinlocks) \
-               $(use_enable debug) \
-               $(use_enable threads thread-safety) \
-               $(use_with icu) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with llvm) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(usex server "$(use_with systemd)" '--without-systemd') \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY doc/{TODO,bug.template}
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               serverman=(
-                       initdb
-                       pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
-                       pg_{test_{fsync,timing},upgrade,waldump}
-                       post{gres,master}
-               )
-               for m in ${serverman[@]} ; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
-                        -delete
-
-       # Make slot specific links to programs
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.6-r1" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "http://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-
-               if [[ -n ${REPLACING_VERSIONS} ]] ; then
-                       ewarn "If your system is using 'pg_stat_statements' and you are running a"
-                       ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
-                       ewarn "the following command after upgrading:"
-                       ewarn
-                       ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
-               fi
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs"
-               mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
-               chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       if ! use systemd; then
-               einfo "The PostgreSQL server, by default, will log events to:"
-               einfo "    ${DATA_DIR%/}/postmaster.log"
-               einfo
-       fi
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       elif use systemd; then
-               einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       else
-               einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}
diff --git a/dev-db/postgresql/postgresql-11.5.ebuild b/dev-db/postgresql/postgresql-11.5.ebuild
deleted file mode 100644 (file)
index 7ecfb7b..0000000
+++ /dev/null
@@ -1,467 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-SLOT=$(ver_cut 1)
-
-MY_PV=${PV/_/}
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="http://www.postgresql.org/"
-
-IUSE="debug doc icu kerberos kernel_linux ldap libressl llvm nls pam
-         perl python +readline selinux +server systemd ssl static-libs tcl
-         threads uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-icu? ( dev-libs/icu:= )
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-llvm? (
-       sys-devel/llvm:=
-       sys-devel/clang:=
-)
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-server? ( systemd? ( sys-apps/systemd ) )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-tcl? ( >=dev-lang/tcl-8:0= )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-"
-
-# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
-# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
-# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
-BSD_LIBC=( elibc_{Free,Net,Open}BSD )
-
-nest_usedep() {
-       local front back
-       while [[ ${#} -gt 1 ]]; do
-               front+="${1}? ( "
-               back+=" )"
-               shift
-       done
-       echo "${front}${1}${back}"
-}
-
-IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
-CDEPEND+="
-uuid? (
-       ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
-       $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
-)"
-
-DEPEND="${CDEPEND}
-!!<sys-apps/sandbox-2.0
-sys-devel/bison
-sys-devel/flex
-nls? ( sys-devel/gettext )
-xml? ( virtual/pkgconfig )
-"
-
-RDEPEND="${CDEPEND}
-!dev-db/postgresql-docs:${SLOT}
-!dev-db/postgresql-base:${SLOT}
-!dev-db/postgresql-server:${SLOT}
-selinux? ( sec-policy/selinux-postgresql )
-"
-
-pkg_setup() {
-       use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
-
-       enewgroup postgres 70
-       enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
-
-       use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
-       # Set proper run directory
-       sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
-               -i src/include/pg_config_manual.h || die
-
-       # Rely on $PATH being in the proper order so that the correct
-       # install program is used for modules utilizing PGXS in both
-       # hardened and non-hardened environments. (Bug #528786)
-       sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
-
-       use server || eapply "${FILESDIR}/${PN}-11_beta1-no-server.patch"
-
-       if use pam ; then
-               sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
-                       -i src/backend/libpq/auth.c || \
-                       die 'PGSQL_PAM_SERVICE rename failed.'
-       fi
-
-       eapply_user
-}
-
-src_configure() {
-       case ${CHOST} in
-               *-darwin*|*-solaris*)
-                       use nls && append-libs intl
-                       ;;
-       esac
-
-       export LDFLAGS_SL="${LDFLAGS}"
-       export LDFLAGS_EX="${LDFLAGS}"
-
-       local PO="${EPREFIX}"
-
-       local i uuid_config=""
-       if use uuid; then
-               for i in ${UTIL_LINUX_LIBC[@]}; do
-                       use ${i} && uuid_config="--with-uuid=e2fs"
-               done
-               for i in ${BSD_LIBC[@]}; do
-                       use ${i} && uuid_config="--with-uuid=bsd"
-               done
-               [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
-       fi
-
-       econf \
-               --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
-               --datadir="${PO}/usr/share/postgresql-${SLOT}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !alpha spinlocks) \
-               $(use_enable debug) \
-               $(use_enable threads thread-safety) \
-               $(use_with icu) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with llvm) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(usex server "$(use_with systemd)" '--without-systemd') \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY doc/{TODO,bug.template}
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               serverman=(
-                       initdb
-                       pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
-                       pg_{test_{fsync,timing},upgrade,waldump}
-                       post{gres,master}
-               )
-               for m in ${serverman[@]} ; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
-                        -delete
-
-       # Make slot specific links to programs
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.6-r1" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "http://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-
-               if [[ -n ${REPLACING_VERSIONS} ]] ; then
-                       ewarn "If your system is using 'pg_stat_statements' and you are running a"
-                       ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
-                       ewarn "the following command after upgrading:"
-                       ewarn
-                       ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
-               fi
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs"
-               mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
-               chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       if ! use systemd; then
-               einfo "The PostgreSQL server, by default, will log events to:"
-               einfo "    ${DATA_DIR%/}/postmaster.log"
-               einfo
-       fi
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       elif use systemd; then
-               einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       else
-               einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}
diff --git a/dev-db/postgresql/postgresql-11.6.ebuild b/dev-db/postgresql/postgresql-11.6.ebuild
deleted file mode 100644 (file)
index 3729646..0000000
+++ /dev/null
@@ -1,467 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
-
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-SLOT=$(ver_cut 1)
-
-MY_PV=${PV/_/}
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="http://www.postgresql.org/"
-
-IUSE="debug doc icu kerberos kernel_linux ldap libressl llvm nls pam
-         perl python +readline selinux +server systemd ssl static-libs tcl
-         threads uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-icu? ( dev-libs/icu:= )
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-llvm? (
-       sys-devel/llvm:=
-       sys-devel/clang:=
-)
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-server? ( systemd? ( sys-apps/systemd ) )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-tcl? ( >=dev-lang/tcl-8:0= )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-"
-
-# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
-# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
-# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
-BSD_LIBC=( elibc_{Free,Net,Open}BSD )
-
-nest_usedep() {
-       local front back
-       while [[ ${#} -gt 1 ]]; do
-               front+="${1}? ( "
-               back+=" )"
-               shift
-       done
-       echo "${front}${1}${back}"
-}
-
-IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
-CDEPEND+="
-uuid? (
-       ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
-       $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
-)"
-
-DEPEND="${CDEPEND}
-!!<sys-apps/sandbox-2.0
-sys-devel/bison
-sys-devel/flex
-nls? ( sys-devel/gettext )
-xml? ( virtual/pkgconfig )
-"
-
-RDEPEND="${CDEPEND}
-!dev-db/postgresql-docs:${SLOT}
-!dev-db/postgresql-base:${SLOT}
-!dev-db/postgresql-server:${SLOT}
-selinux? ( sec-policy/selinux-postgresql )
-"
-
-pkg_setup() {
-       use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
-
-       enewgroup postgres 70
-       enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
-
-       use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
-       # Set proper run directory
-       sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
-               -i src/include/pg_config_manual.h || die
-
-       # Rely on $PATH being in the proper order so that the correct
-       # install program is used for modules utilizing PGXS in both
-       # hardened and non-hardened environments. (Bug #528786)
-       sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
-
-       use server || eapply "${FILESDIR}/${PN}-11_beta1-no-server.patch"
-
-       if use pam ; then
-               sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
-                       -i src/backend/libpq/auth.c || \
-                       die 'PGSQL_PAM_SERVICE rename failed.'
-       fi
-
-       eapply_user
-}
-
-src_configure() {
-       case ${CHOST} in
-               *-darwin*|*-solaris*)
-                       use nls && append-libs intl
-                       ;;
-       esac
-
-       export LDFLAGS_SL="${LDFLAGS}"
-       export LDFLAGS_EX="${LDFLAGS}"
-
-       local PO="${EPREFIX}"
-
-       local i uuid_config=""
-       if use uuid; then
-               for i in ${UTIL_LINUX_LIBC[@]}; do
-                       use ${i} && uuid_config="--with-uuid=e2fs"
-               done
-               for i in ${BSD_LIBC[@]}; do
-                       use ${i} && uuid_config="--with-uuid=bsd"
-               done
-               [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
-       fi
-
-       econf \
-               --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
-               --datadir="${PO}/usr/share/postgresql-${SLOT}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !alpha spinlocks) \
-               $(use_enable debug) \
-               $(use_enable threads thread-safety) \
-               $(use_with icu) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with llvm) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(usex server "$(use_with systemd)" '--without-systemd') \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY doc/{TODO,bug.template}
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               serverman=(
-                       initdb
-                       pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
-                       pg_{test_{fsync,timing},upgrade,waldump}
-                       post{gres,master}
-               )
-               for m in ${serverman[@]} ; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
-                        -delete
-
-       # Make slot specific links to programs
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.6-r1" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "http://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-
-               if [[ -n ${REPLACING_VERSIONS} ]] ; then
-                       ewarn "If your system is using 'pg_stat_statements' and you are running a"
-                       ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
-                       ewarn "the following command after upgrading:"
-                       ewarn
-                       ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
-               fi
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs"
-               mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
-               chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       if ! use systemd; then
-               einfo "The PostgreSQL server, by default, will log events to:"
-               einfo "    ${DATA_DIR%/}/postmaster.log"
-               einfo
-       fi
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       elif use systemd; then
-               einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       else
-               einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}
diff --git a/dev-db/postgresql/postgresql-12.0.ebuild b/dev-db/postgresql/postgresql-12.0.ebuild
deleted file mode 100644 (file)
index 49dd313..0000000
+++ /dev/null
@@ -1,467 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-SLOT=$(ver_cut 1)
-
-MY_PV=${PV/_/}
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="http://www.postgresql.org/"
-
-IUSE="debug doc icu kerberos kernel_linux ldap libressl llvm nls pam
-         perl python +readline selinux +server systemd ssl static-libs tcl
-         threads uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-icu? ( dev-libs/icu:= )
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-llvm? (
-       sys-devel/llvm:=
-       sys-devel/clang:=
-)
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-server? ( systemd? ( sys-apps/systemd ) )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-tcl? ( >=dev-lang/tcl-8:0= )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-"
-
-# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
-# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
-# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
-BSD_LIBC=( elibc_{Free,Net,Open}BSD )
-
-nest_usedep() {
-       local front back
-       while [[ ${#} -gt 1 ]]; do
-               front+="${1}? ( "
-               back+=" )"
-               shift
-       done
-       echo "${front}${1}${back}"
-}
-
-IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
-CDEPEND+="
-uuid? (
-       ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
-       $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
-)"
-
-DEPEND="${CDEPEND}
-!!<sys-apps/sandbox-2.0
-sys-devel/bison
-sys-devel/flex
-nls? ( sys-devel/gettext )
-xml? ( virtual/pkgconfig )
-"
-
-RDEPEND="${CDEPEND}
-!dev-db/postgresql-docs:${SLOT}
-!dev-db/postgresql-base:${SLOT}
-!dev-db/postgresql-server:${SLOT}
-selinux? ( sec-policy/selinux-postgresql )
-"
-
-pkg_setup() {
-       use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
-
-       enewgroup postgres 70
-       enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
-
-       use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
-       # Set proper run directory
-       sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
-               -i src/include/pg_config_manual.h || die
-
-       # Rely on $PATH being in the proper order so that the correct
-       # install program is used for modules utilizing PGXS in both
-       # hardened and non-hardened environments. (Bug #528786)
-       sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
-
-       use server || eapply "${FILESDIR}/${PN}-11_beta1-no-server.patch"
-
-       if use pam ; then
-               sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
-                       -i src/backend/libpq/auth.c || \
-                       die 'PGSQL_PAM_SERVICE rename failed.'
-       fi
-
-       eapply_user
-}
-
-src_configure() {
-       case ${CHOST} in
-               *-darwin*|*-solaris*)
-                       use nls && append-libs intl
-                       ;;
-       esac
-
-       export LDFLAGS_SL="${LDFLAGS}"
-       export LDFLAGS_EX="${LDFLAGS}"
-
-       local PO="${EPREFIX}"
-
-       local i uuid_config=""
-       if use uuid; then
-               for i in ${UTIL_LINUX_LIBC[@]}; do
-                       use ${i} && uuid_config="--with-uuid=e2fs"
-               done
-               for i in ${BSD_LIBC[@]}; do
-                       use ${i} && uuid_config="--with-uuid=bsd"
-               done
-               [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
-       fi
-
-       econf \
-               --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
-               --datadir="${PO}/usr/share/postgresql-${SLOT}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !alpha spinlocks) \
-               $(use_enable debug) \
-               $(use_enable threads thread-safety) \
-               $(use_with icu) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with llvm) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(usex server "$(use_with systemd)" '--without-systemd') \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               serverman=(
-                       initdb
-                       pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
-                       pg_{test_{fsync,timing},upgrade,waldump}
-                       post{gres,master}
-               )
-               for m in ${serverman[@]} ; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
-                        -delete
-
-       # Make slot specific links to programs
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.6-r1" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "http://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-
-               if [[ -n ${REPLACING_VERSIONS} ]] ; then
-                       ewarn "If your system is using 'pg_stat_statements' and you are running a"
-                       ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
-                       ewarn "the following command after upgrading:"
-                       ewarn
-                       ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
-               fi
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs"
-               mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
-               chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       if ! use systemd; then
-               einfo "The PostgreSQL server, by default, will log events to:"
-               einfo "    ${DATA_DIR%/}/postmaster.log"
-               einfo
-       fi
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       elif use systemd; then
-               einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       else
-               einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}
diff --git a/dev-db/postgresql/postgresql-12.1.ebuild b/dev-db/postgresql/postgresql-12.1.ebuild
deleted file mode 100644 (file)
index 57f1057..0000000
+++ /dev/null
@@ -1,467 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
-
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-SLOT=$(ver_cut 1)
-
-MY_PV=${PV/_/}
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="http://www.postgresql.org/"
-
-IUSE="debug doc icu kerberos kernel_linux ldap libressl llvm nls pam
-         perl python +readline selinux +server systemd ssl static-libs tcl
-         threads uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-icu? ( dev-libs/icu:= )
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-llvm? (
-       sys-devel/llvm:=
-       sys-devel/clang:=
-)
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-server? ( systemd? ( sys-apps/systemd ) )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-tcl? ( >=dev-lang/tcl-8:0= )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-"
-
-# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
-# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
-# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
-BSD_LIBC=( elibc_{Free,Net,Open}BSD )
-
-nest_usedep() {
-       local front back
-       while [[ ${#} -gt 1 ]]; do
-               front+="${1}? ( "
-               back+=" )"
-               shift
-       done
-       echo "${front}${1}${back}"
-}
-
-IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
-CDEPEND+="
-uuid? (
-       ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
-       $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
-)"
-
-DEPEND="${CDEPEND}
-!!<sys-apps/sandbox-2.0
-sys-devel/bison
-sys-devel/flex
-nls? ( sys-devel/gettext )
-xml? ( virtual/pkgconfig )
-"
-
-RDEPEND="${CDEPEND}
-!dev-db/postgresql-docs:${SLOT}
-!dev-db/postgresql-base:${SLOT}
-!dev-db/postgresql-server:${SLOT}
-selinux? ( sec-policy/selinux-postgresql )
-"
-
-pkg_setup() {
-       use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
-
-       enewgroup postgres 70
-       enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
-
-       use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
-       # Set proper run directory
-       sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
-               -i src/include/pg_config_manual.h || die
-
-       # Rely on $PATH being in the proper order so that the correct
-       # install program is used for modules utilizing PGXS in both
-       # hardened and non-hardened environments. (Bug #528786)
-       sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
-
-       use server || eapply "${FILESDIR}/${PN}-12.1-no-server.patch"
-
-       if use pam ; then
-               sed "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
-                       -i src/backend/libpq/auth.c || \
-                       die 'PGSQL_PAM_SERVICE rename failed.'
-       fi
-
-       eapply_user
-}
-
-src_configure() {
-       case ${CHOST} in
-               *-darwin*|*-solaris*)
-                       use nls && append-libs intl
-                       ;;
-       esac
-
-       export LDFLAGS_SL="${LDFLAGS}"
-       export LDFLAGS_EX="${LDFLAGS}"
-
-       local PO="${EPREFIX}"
-
-       local i uuid_config=""
-       if use uuid; then
-               for i in ${UTIL_LINUX_LIBC[@]}; do
-                       use ${i} && uuid_config="--with-uuid=e2fs"
-               done
-               for i in ${BSD_LIBC[@]}; do
-                       use ${i} && uuid_config="--with-uuid=bsd"
-               done
-               [[ -z $uuid_config ]] && uuid_config="--with-uuid=ossp"
-       fi
-
-       econf \
-               --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
-               --datadir="${PO}/usr/share/postgresql-${SLOT}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !alpha spinlocks) \
-               $(use_enable debug) \
-               $(use_enable threads thread-safety) \
-               $(use_with icu) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with llvm) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(usex server "$(use_with systemd)" '--without-systemd') \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               serverman=(
-                       initdb
-                       pg_{archivecleanup,controldata,ctl,resetwal,rewind,standby}
-                       pg_{test_{fsync,timing},upgrade,waldump}
-                       post{gres,master}
-               )
-               for m in ${serverman[@]} ; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
-                        -delete
-
-       # Make slot specific links to programs
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.6-r1" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "http://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-
-               if [[ -n ${REPLACING_VERSIONS} ]] ; then
-                       ewarn "If your system is using 'pg_stat_statements' and you are running a"
-                       ewarn "version of PostgreSQL ${SLOT}, we advise that you execute"
-                       ewarn "the following command after upgrading:"
-                       ewarn
-                       ewarn "ALTER EXTENSION pg_stat_statements UPDATE;"
-               fi
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    http://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    http://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "$(dirname ${DATA_DIR%/})" || die "Couldn't parent dirs"
-               mkdir -m 0700 "${DATA_DIR%/}" || die "Couldn't make DATA_DIR"
-               chown -h postgres:postgres "${DATA_DIR%/}" || die "Couldn't chown"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       if ! use systemd; then
-               einfo "The PostgreSQL server, by default, will log events to:"
-               einfo "    ${DATA_DIR%/}/postmaster.log"
-               einfo
-       fi
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       elif use systemd; then
-               einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       else
-               einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}
diff --git a/dev-db/postgresql/postgresql-9.4.22-r1.ebuild b/dev-db/postgresql/postgresql-9.4.22-r1.ebuild
deleted file mode 100644 (file)
index 2f5d0dd..0000000
+++ /dev/null
@@ -1,479 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                 zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
-
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-macos ~x86-solaris"
-
-SLOT=$(ver_cut 1-2)
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${PV}/postgresql-${PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
-         -pg_legacytimestamp python +readline selinux +server systemd ssl
-         static-libs tcl threads uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-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}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
-               $(use_enable debug) \
-               $(use_enable threads thread-safety) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY doc/{TODO,bug.template}
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
-                        -delete
-
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               # Temporarily tack on tmp to workaround a file collision
-               # issue. This is only necessary for 9.7 and earlier. 10 never
-               # had this issue.
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}tmp"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-
-               docinto sgml
-               dodoc doc/src/sgml/*.{sgml,dsl}
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.2" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_preinst() {
-       # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-       # /usr/bin/psql96). They may have been created by the
-       # postgresql.eselect module, but they're handled within this ebuild
-       # now. It's alright if we momentarily delete /usr/bin/psql as it
-       # will be recreated by the eselect module in pkg_ppostinst(). This
-       # is only necessary for 9.7 and earlier. 10 and later were never
-       # handled in this manner.
-       local canonicalise
-       if type -p realpath > /dev/null; then
-               canonicalise=realpath
-       elif type -p readlink > /dev/null; then
-               canonicalise='readlink -f'
-       else
-               # can't die, subshell
-               die "No readlink nor realpath found, cannot canonicalise"
-       fi
-
-       local l
-       # First remove any symlinks in /usr/bin that may have been created
-       # by the old eselect
-       for l in $(find "${ROOT}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
-               if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
-                       rm "${l}" || ewarn "Couldn't remove ${l}"
-               fi
-       done
-
-       # Then move the symlinks created by the ebuild to their proper place.
-       for l in "${ED}"/usr/bin/*tmp ; do
-               mv "${l}" "${l%tmp}" \
-                       || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
-       done
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "${DATA_DIR}"
-               chown -Rf postgres:postgres "${DATA_DIR}"
-               chmod 0700 "${DATA_DIR}"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       einfo "The PostgreSQL server, by default, will log events to:"
-       einfo "    ${DATA_DIR%/}/postmaster.log"
-       einfo
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       else
-               einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}
diff --git a/dev-db/postgresql/postgresql-9.4.22.ebuild b/dev-db/postgresql/postgresql-9.4.22.ebuild
deleted file mode 100644 (file)
index fe382d5..0000000
+++ /dev/null
@@ -1,474 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-PYTHON_COMPAT=( python3_6 )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                 zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user versionator
-
-KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos ~x86-solaris"
-
-SLOT="$(get_version_component_range 1-2)"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${PV}/postgresql-${PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="doc kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp
-         python +readline selinux +server systemd ssl static-libs tcl threads uuid
-         xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-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}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
-               $(use_enable threads thread-safety) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY doc/{TODO,bug.template}
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       use static-libs || find "${ED}" -name '*.a' -delete
-
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               # Temporarily tack on tmp to workaround a file collision
-               # issue. This is only necessary for 9.7 and earlier. 10 never
-               # had this issue.
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}tmp"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-
-               docinto sgml
-               dodoc doc/src/sgml/*.{sgml,dsl}
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.2" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_preinst() {
-       # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-       # /usr/bin/psql96). They may have been created by the
-       # postgresql.eselect module, but they're handled within this ebuild
-       # now. It's alright if we momentarily delete /usr/bin/psql as it
-       # will be recreated by the eselect module in pkg_ppostinst(). This
-       # is only necessary for 9.7 and earlier. 10 and later were never
-       # handled in this manner.
-       local canonicalise
-       if type -p realpath > /dev/null; then
-               canonicalise=realpath
-       elif type -p readlink > /dev/null; then
-               canonicalise='readlink -f'
-       else
-               # can't die, subshell
-               die "No readlink nor realpath found, cannot canonicalise"
-       fi
-
-       local l
-       # First remove any symlinks in /usr/bin that may have been created
-       # by the old eselect
-       for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
-               if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
-                       rm "${l}" || ewarn "Couldn't remove ${l}"
-               fi
-       done
-
-       # Then move the symlinks created by the ebuild to their proper place.
-       for l in "${ED}"/usr/bin/*tmp ; do
-               mv "${l}" "${l%tmp}" \
-                       || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
-       done
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT%/}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT%/}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT%/}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "${DATA_DIR}"
-               chown -Rf postgres:postgres "${DATA_DIR}"
-               chmod 0700 "${DATA_DIR}"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       einfo "The PostgreSQL server, by default, will log events to:"
-       einfo "    ${DATA_DIR%/}/postmaster.log"
-       einfo
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       else
-               einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}
diff --git a/dev-db/postgresql/postgresql-9.4.23.ebuild b/dev-db/postgresql/postgresql-9.4.23.ebuild
deleted file mode 100644 (file)
index c0f771c..0000000
+++ /dev/null
@@ -1,479 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                 zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
-
-KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos ~x86-solaris"
-
-SLOT=$(ver_cut 1-2)
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${PV}/postgresql-${PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
-         -pg_legacytimestamp python +readline selinux +server systemd ssl
-         static-libs tcl threads uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-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}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
-               $(use_enable debug) \
-               $(use_enable threads thread-safety) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY doc/{TODO,bug.template}
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
-                        -delete
-
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               # Temporarily tack on tmp to workaround a file collision
-               # issue. This is only necessary for 9.7 and earlier. 10 never
-               # had this issue.
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}tmp"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-
-               docinto sgml
-               dodoc doc/src/sgml/*.{sgml,dsl}
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.2" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_preinst() {
-       # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-       # /usr/bin/psql96). They may have been created by the
-       # postgresql.eselect module, but they're handled within this ebuild
-       # now. It's alright if we momentarily delete /usr/bin/psql as it
-       # will be recreated by the eselect module in pkg_ppostinst(). This
-       # is only necessary for 9.7 and earlier. 10 and later were never
-       # handled in this manner.
-       local canonicalise
-       if type -p realpath > /dev/null; then
-               canonicalise=realpath
-       elif type -p readlink > /dev/null; then
-               canonicalise='readlink -f'
-       else
-               # can't die, subshell
-               die "No readlink nor realpath found, cannot canonicalise"
-       fi
-
-       local l
-       # First remove any symlinks in /usr/bin that may have been created
-       # by the old eselect
-       for l in $(find "${ROOT}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
-               if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
-                       rm "${l}" || ewarn "Couldn't remove ${l}"
-               fi
-       done
-
-       # Then move the symlinks created by the ebuild to their proper place.
-       for l in "${ED}"/usr/bin/*tmp ; do
-               mv "${l}" "${l%tmp}" \
-                       || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
-       done
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "${DATA_DIR}"
-               chown -Rf postgres:postgres "${DATA_DIR}"
-               chmod 0700 "${DATA_DIR}"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       einfo "The PostgreSQL server, by default, will log events to:"
-       einfo "    ${DATA_DIR%/}/postmaster.log"
-       einfo
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       else
-               einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}
diff --git a/dev-db/postgresql/postgresql-9.4.24.ebuild b/dev-db/postgresql/postgresql-9.4.24.ebuild
deleted file mode 100644 (file)
index 2f5d0dd..0000000
+++ /dev/null
@@ -1,479 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                 zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
-
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-macos ~x86-solaris"
-
-SLOT=$(ver_cut 1-2)
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${PV}/postgresql-${PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
-         -pg_legacytimestamp python +readline selinux +server systemd ssl
-         static-libs tcl threads uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-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}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
-               $(use_enable debug) \
-               $(use_enable threads thread-safety) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY doc/{TODO,bug.template}
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
-                        -delete
-
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               # Temporarily tack on tmp to workaround a file collision
-               # issue. This is only necessary for 9.7 and earlier. 10 never
-               # had this issue.
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}tmp"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-
-               docinto sgml
-               dodoc doc/src/sgml/*.{sgml,dsl}
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.2" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_preinst() {
-       # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-       # /usr/bin/psql96). They may have been created by the
-       # postgresql.eselect module, but they're handled within this ebuild
-       # now. It's alright if we momentarily delete /usr/bin/psql as it
-       # will be recreated by the eselect module in pkg_ppostinst(). This
-       # is only necessary for 9.7 and earlier. 10 and later were never
-       # handled in this manner.
-       local canonicalise
-       if type -p realpath > /dev/null; then
-               canonicalise=realpath
-       elif type -p readlink > /dev/null; then
-               canonicalise='readlink -f'
-       else
-               # can't die, subshell
-               die "No readlink nor realpath found, cannot canonicalise"
-       fi
-
-       local l
-       # First remove any symlinks in /usr/bin that may have been created
-       # by the old eselect
-       for l in $(find "${ROOT}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
-               if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
-                       rm "${l}" || ewarn "Couldn't remove ${l}"
-               fi
-       done
-
-       # Then move the symlinks created by the ebuild to their proper place.
-       for l in "${ED}"/usr/bin/*tmp ; do
-               mv "${l}" "${l%tmp}" \
-                       || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
-       done
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "${DATA_DIR}"
-               chown -Rf postgres:postgres "${DATA_DIR}"
-               chmod 0700 "${DATA_DIR}"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       einfo "The PostgreSQL server, by default, will log events to:"
-       einfo "    ${DATA_DIR%/}/postmaster.log"
-       einfo
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       else
-               einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}
diff --git a/dev-db/postgresql/postgresql-9.4.25.ebuild b/dev-db/postgresql/postgresql-9.4.25.ebuild
deleted file mode 100644 (file)
index 32bc191..0000000
+++ /dev/null
@@ -1,479 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                 zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
-
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos ~x86-solaris"
-
-SLOT=$(ver_cut 1-2)
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${PV}/postgresql-${PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
-         -pg_legacytimestamp python +readline selinux +server systemd ssl
-         static-libs tcl threads uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-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}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
-               $(use_enable debug) \
-               $(use_enable threads thread-safety) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY doc/{TODO,bug.template}
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
-                        -delete
-
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               # Temporarily tack on tmp to workaround a file collision
-               # issue. This is only necessary for 9.7 and earlier. 10 never
-               # had this issue.
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}tmp"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-
-               docinto sgml
-               dodoc doc/src/sgml/*.{sgml,dsl}
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.2" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_preinst() {
-       # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-       # /usr/bin/psql96). They may have been created by the
-       # postgresql.eselect module, but they're handled within this ebuild
-       # now. It's alright if we momentarily delete /usr/bin/psql as it
-       # will be recreated by the eselect module in pkg_ppostinst(). This
-       # is only necessary for 9.7 and earlier. 10 and later were never
-       # handled in this manner.
-       local canonicalise
-       if type -p realpath > /dev/null; then
-               canonicalise=realpath
-       elif type -p readlink > /dev/null; then
-               canonicalise='readlink -f'
-       else
-               # can't die, subshell
-               die "No readlink nor realpath found, cannot canonicalise"
-       fi
-
-       local l
-       # First remove any symlinks in /usr/bin that may have been created
-       # by the old eselect
-       for l in $(find "${ROOT}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
-               if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
-                       rm "${l}" || ewarn "Couldn't remove ${l}"
-               fi
-       done
-
-       # Then move the symlinks created by the ebuild to their proper place.
-       for l in "${ED}"/usr/bin/*tmp ; do
-               mv "${l}" "${l%tmp}" \
-                       || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
-       done
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "${DATA_DIR}"
-               chown -Rf postgres:postgres "${DATA_DIR}"
-               chmod 0700 "${DATA_DIR}"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       einfo "The PostgreSQL server, by default, will log events to:"
-       einfo "    ${DATA_DIR%/}/postmaster.log"
-       einfo
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       else
-               einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}
diff --git a/dev-db/postgresql/postgresql-9.5.17-r1.ebuild b/dev-db/postgresql/postgresql-9.5.17-r1.ebuild
deleted file mode 100644 (file)
index 2616c46..0000000
+++ /dev/null
@@ -1,485 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                 zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-macos ~x86-solaris"
-
-SLOT=$(ver_cut 1-2)
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${PV}/postgresql-${PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
-         -pg_legacytimestamp python +readline selinux +server systemd ssl
-         static-libs tcl threads uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-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}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !alpha spinlocks) \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
-               $(use_enable debug) \
-               $(use_enable threads thread-safety) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY doc/{TODO,bug.template}
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
-                        -delete
-
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               # Temporarily tack on tmp to workaround a file collision
-               # issue. This is only necessary for 9.7 and earlier. 10 never
-               # had this issue.
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}tmp"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-
-               docinto sgml
-               dodoc doc/src/sgml/*.{sgml,dsl}
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.2" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_preinst() {
-       # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-       # /usr/bin/psql96). They may have been created by the
-       # postgresql.eselect module, but they're handled within this ebuild
-       # now. It's alright if we momentarily delete /usr/bin/psql as it
-       # will be recreated by the eselect module in pkg_ppostinst(). This
-       # is only necessary for 9.7 and earlier. 10 and later were never
-       # handled in this manner.
-       local canonicalise
-       if type -p realpath > /dev/null; then
-               canonicalise=realpath
-       elif type -p readlink > /dev/null; then
-               canonicalise='readlink -f'
-       else
-               # can't die, subshell
-               die "No readlink nor realpath found, cannot canonicalise"
-       fi
-
-       local l
-       # First remove any symlinks in /usr/bin that may have been created
-       # by the old eselect
-       for l in $(find "${ROOT}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
-               if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
-                       rm "${l}" || ewarn "Couldn't remove ${l}"
-               fi
-       done
-
-       # Then move the symlinks created by the ebuild to their proper place.
-       for l in "${ED}"/usr/bin/*tmp ; do
-               mv "${l}" "${l%tmp}" \
-                       || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
-       done
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       if use alpha && use server ; then
-               ewarn "PostgreSQL 9.5+ no longer has native spinlock support on Alpha platforms."
-               ewarn "As a result, performance will be extremely degraded."
-       fi
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "${DATA_DIR}"
-               chown -Rf postgres:postgres "${DATA_DIR}"
-               chmod 0700 "${DATA_DIR}"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       einfo "The PostgreSQL server, by default, will log events to:"
-       einfo "    ${DATA_DIR%/}/postmaster.log"
-       einfo
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       else
-               einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}
diff --git a/dev-db/postgresql/postgresql-9.5.17.ebuild b/dev-db/postgresql/postgresql-9.5.17.ebuild
deleted file mode 100644 (file)
index a9941bd..0000000
+++ /dev/null
@@ -1,480 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-PYTHON_COMPAT=( python3_6 )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                 zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user versionator
-
-KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos ~x86-solaris"
-
-SLOT="$(get_version_component_range 1-2)"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${PV}/postgresql-${PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="doc kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp
-         python +readline selinux +server systemd ssl static-libs tcl threads uuid
-         xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-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}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !alpha spinlocks) \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
-               $(use_enable threads thread-safety) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY doc/{TODO,bug.template}
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       use static-libs || find "${ED}" -name '*.a' -delete
-
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               # Temporarily tack on tmp to workaround a file collision
-               # issue. This is only necessary for 9.7 and earlier. 10 never
-               # had this issue.
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}tmp"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-
-               docinto sgml
-               dodoc doc/src/sgml/*.{sgml,dsl}
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.2" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_preinst() {
-       # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-       # /usr/bin/psql96). They may have been created by the
-       # postgresql.eselect module, but they're handled within this ebuild
-       # now. It's alright if we momentarily delete /usr/bin/psql as it
-       # will be recreated by the eselect module in pkg_ppostinst(). This
-       # is only necessary for 9.7 and earlier. 10 and later were never
-       # handled in this manner.
-       local canonicalise
-       if type -p realpath > /dev/null; then
-               canonicalise=realpath
-       elif type -p readlink > /dev/null; then
-               canonicalise='readlink -f'
-       else
-               # can't die, subshell
-               die "No readlink nor realpath found, cannot canonicalise"
-       fi
-
-       local l
-       # First remove any symlinks in /usr/bin that may have been created
-       # by the old eselect
-       for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
-               if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
-                       rm "${l}" || ewarn "Couldn't remove ${l}"
-               fi
-       done
-
-       # Then move the symlinks created by the ebuild to their proper place.
-       for l in "${ED}"/usr/bin/*tmp ; do
-               mv "${l}" "${l%tmp}" \
-                       || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
-       done
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       if use alpha && use server ; then
-               ewarn "PostgreSQL 9.5+ no longer has native spinlock support on Alpha platforms."
-               ewarn "As a result, performance will be extremely degraded."
-       fi
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT%/}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT%/}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT%/}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "${DATA_DIR}"
-               chown -Rf postgres:postgres "${DATA_DIR}"
-               chmod 0700 "${DATA_DIR}"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       einfo "The PostgreSQL server, by default, will log events to:"
-       einfo "    ${DATA_DIR%/}/postmaster.log"
-       einfo
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       else
-               einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}
diff --git a/dev-db/postgresql/postgresql-9.5.18.ebuild b/dev-db/postgresql/postgresql-9.5.18.ebuild
deleted file mode 100644 (file)
index 0c24bf6..0000000
+++ /dev/null
@@ -1,485 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                 zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
-
-KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos ~x86-solaris"
-
-SLOT=$(ver_cut 1-2)
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${PV}/postgresql-${PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
-         -pg_legacytimestamp python +readline selinux +server systemd ssl
-         static-libs tcl threads uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-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}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !alpha spinlocks) \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
-               $(use_enable debug) \
-               $(use_enable threads thread-safety) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY doc/{TODO,bug.template}
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
-                        -delete
-
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               # Temporarily tack on tmp to workaround a file collision
-               # issue. This is only necessary for 9.7 and earlier. 10 never
-               # had this issue.
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}tmp"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-
-               docinto sgml
-               dodoc doc/src/sgml/*.{sgml,dsl}
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.2" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_preinst() {
-       # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-       # /usr/bin/psql96). They may have been created by the
-       # postgresql.eselect module, but they're handled within this ebuild
-       # now. It's alright if we momentarily delete /usr/bin/psql as it
-       # will be recreated by the eselect module in pkg_ppostinst(). This
-       # is only necessary for 9.7 and earlier. 10 and later were never
-       # handled in this manner.
-       local canonicalise
-       if type -p realpath > /dev/null; then
-               canonicalise=realpath
-       elif type -p readlink > /dev/null; then
-               canonicalise='readlink -f'
-       else
-               # can't die, subshell
-               die "No readlink nor realpath found, cannot canonicalise"
-       fi
-
-       local l
-       # First remove any symlinks in /usr/bin that may have been created
-       # by the old eselect
-       for l in $(find "${ROOT}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
-               if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
-                       rm "${l}" || ewarn "Couldn't remove ${l}"
-               fi
-       done
-
-       # Then move the symlinks created by the ebuild to their proper place.
-       for l in "${ED}"/usr/bin/*tmp ; do
-               mv "${l}" "${l%tmp}" \
-                       || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
-       done
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       if use alpha && use server ; then
-               ewarn "PostgreSQL 9.5+ no longer has native spinlock support on Alpha platforms."
-               ewarn "As a result, performance will be extremely degraded."
-       fi
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "${DATA_DIR}"
-               chown -Rf postgres:postgres "${DATA_DIR}"
-               chmod 0700 "${DATA_DIR}"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       einfo "The PostgreSQL server, by default, will log events to:"
-       einfo "    ${DATA_DIR%/}/postmaster.log"
-       einfo
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       else
-               einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}
diff --git a/dev-db/postgresql/postgresql-9.5.19.ebuild b/dev-db/postgresql/postgresql-9.5.19.ebuild
deleted file mode 100644 (file)
index 2616c46..0000000
+++ /dev/null
@@ -1,485 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                 zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-macos ~x86-solaris"
-
-SLOT=$(ver_cut 1-2)
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${PV}/postgresql-${PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
-         -pg_legacytimestamp python +readline selinux +server systemd ssl
-         static-libs tcl threads uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-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}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !alpha spinlocks) \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
-               $(use_enable debug) \
-               $(use_enable threads thread-safety) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY doc/{TODO,bug.template}
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
-                        -delete
-
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               # Temporarily tack on tmp to workaround a file collision
-               # issue. This is only necessary for 9.7 and earlier. 10 never
-               # had this issue.
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}tmp"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-
-               docinto sgml
-               dodoc doc/src/sgml/*.{sgml,dsl}
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.2" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_preinst() {
-       # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-       # /usr/bin/psql96). They may have been created by the
-       # postgresql.eselect module, but they're handled within this ebuild
-       # now. It's alright if we momentarily delete /usr/bin/psql as it
-       # will be recreated by the eselect module in pkg_ppostinst(). This
-       # is only necessary for 9.7 and earlier. 10 and later were never
-       # handled in this manner.
-       local canonicalise
-       if type -p realpath > /dev/null; then
-               canonicalise=realpath
-       elif type -p readlink > /dev/null; then
-               canonicalise='readlink -f'
-       else
-               # can't die, subshell
-               die "No readlink nor realpath found, cannot canonicalise"
-       fi
-
-       local l
-       # First remove any symlinks in /usr/bin that may have been created
-       # by the old eselect
-       for l in $(find "${ROOT}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
-               if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
-                       rm "${l}" || ewarn "Couldn't remove ${l}"
-               fi
-       done
-
-       # Then move the symlinks created by the ebuild to their proper place.
-       for l in "${ED}"/usr/bin/*tmp ; do
-               mv "${l}" "${l%tmp}" \
-                       || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
-       done
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       if use alpha && use server ; then
-               ewarn "PostgreSQL 9.5+ no longer has native spinlock support on Alpha platforms."
-               ewarn "As a result, performance will be extremely degraded."
-       fi
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "${DATA_DIR}"
-               chown -Rf postgres:postgres "${DATA_DIR}"
-               chmod 0700 "${DATA_DIR}"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       einfo "The PostgreSQL server, by default, will log events to:"
-       einfo "    ${DATA_DIR%/}/postmaster.log"
-       einfo
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       else
-               einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}
diff --git a/dev-db/postgresql/postgresql-9.5.20.ebuild b/dev-db/postgresql/postgresql-9.5.20.ebuild
deleted file mode 100644 (file)
index 0053760..0000000
+++ /dev/null
@@ -1,485 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                 zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
-
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~ppc-macos ~x86-solaris"
-
-SLOT=$(ver_cut 1-2)
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${PV}/postgresql-${PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
-         -pg_legacytimestamp python +readline selinux +server systemd ssl
-         static-libs tcl threads uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-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}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !alpha spinlocks) \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
-               $(use_enable debug) \
-               $(use_enable threads thread-safety) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY doc/{TODO,bug.template}
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
-                        -delete
-
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               # Temporarily tack on tmp to workaround a file collision
-               # issue. This is only necessary for 9.7 and earlier. 10 never
-               # had this issue.
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}tmp"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-
-               docinto sgml
-               dodoc doc/src/sgml/*.{sgml,dsl}
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.2" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_preinst() {
-       # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-       # /usr/bin/psql96). They may have been created by the
-       # postgresql.eselect module, but they're handled within this ebuild
-       # now. It's alright if we momentarily delete /usr/bin/psql as it
-       # will be recreated by the eselect module in pkg_ppostinst(). This
-       # is only necessary for 9.7 and earlier. 10 and later were never
-       # handled in this manner.
-       local canonicalise
-       if type -p realpath > /dev/null; then
-               canonicalise=realpath
-       elif type -p readlink > /dev/null; then
-               canonicalise='readlink -f'
-       else
-               # can't die, subshell
-               die "No readlink nor realpath found, cannot canonicalise"
-       fi
-
-       local l
-       # First remove any symlinks in /usr/bin that may have been created
-       # by the old eselect
-       for l in $(find "${ROOT}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
-               if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
-                       rm "${l}" || ewarn "Couldn't remove ${l}"
-               fi
-       done
-
-       # Then move the symlinks created by the ebuild to their proper place.
-       for l in "${ED}"/usr/bin/*tmp ; do
-               mv "${l}" "${l%tmp}" \
-                       || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
-       done
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       if use alpha && use server ; then
-               ewarn "PostgreSQL 9.5+ no longer has native spinlock support on Alpha platforms."
-               ewarn "As a result, performance will be extremely degraded."
-       fi
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "${DATA_DIR}"
-               chown -Rf postgres:postgres "${DATA_DIR}"
-               chmod 0700 "${DATA_DIR}"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       einfo "The PostgreSQL server, by default, will log events to:"
-       einfo "    ${DATA_DIR%/}/postmaster.log"
-       einfo
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       else
-               einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}
diff --git a/dev-db/postgresql/postgresql-9.6.13-r1.ebuild b/dev-db/postgresql/postgresql-9.6.13-r1.ebuild
deleted file mode 100644 (file)
index 800e0b2..0000000
+++ /dev/null
@@ -1,490 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                 zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-SLOT=$(ver_cut 1-2)
-
-MY_PV=${PV/_/}
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
-         -pg_legacytimestamp python +readline selinux +server systemd ssl
-         static-libs tcl threads uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-server? ( systemd? ( sys-apps/systemd ) )
-tcl? ( >=dev-lang/tcl-8:0= )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-"
-
-# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
-# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
-# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
-BSD_LIBC=( elibc_{Free,Net,Open}BSD )
-
-nest_usedep() {
-       local front back
-       while [[ ${#} -gt 1 ]]; do
-               front+="${1}? ( "
-               back+=" )"
-               shift
-       done
-       echo "${front}${1}${back}"
-}
-
-IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
-CDEPEND+="
-uuid? (
-       ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
-       $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
-)"
-
-DEPEND="${CDEPEND}
-!!<sys-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}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !alpha spinlocks) \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
-               $(use_enable debug) \
-               $(use_enable threads thread-safety) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(usex server "$(use_with systemd)" '--without-systemd') \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY doc/{TODO,bug.template}
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
-                        -delete
-
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               # Temporarily tack on tmp to workaround a file collision
-               # issue. This is only necessary for 9.7 and earlier. 10 never
-               # had this issue.
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}tmp"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-
-               docinto sgml
-               dodoc doc/src/sgml/*.{sgml,dsl}
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.6-r1" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_preinst() {
-       # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-       # /usr/bin/psql96). They may have been created by the
-       # postgresql.eselect module, but they're handled within this ebuild
-       # now. It's alright if we momentarily delete /usr/bin/psql as it
-       # will be recreated by the eselect module in pkg_ppostinst(). This
-       # is only necessary for 9.7 and earlier. 10 and later were never
-       # handled in this manner.
-       local canonicalise
-       if type -p realpath > /dev/null; then
-               canonicalise=realpath
-       elif type -p readlink > /dev/null; then
-               canonicalise='readlink -f'
-       else
-               # can't die, subshell
-               die "No readlink nor realpath found, cannot canonicalise"
-       fi
-
-       local l
-       # First remove any symlinks in /usr/bin that may have been created
-       # by the old eselect
-       for l in $(find "${ROOT}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
-               if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
-                       rm "${l}" || ewarn "Couldn't remove ${l}"
-               fi
-       done
-
-       # Then move the symlinks created by the ebuild to their proper place.
-       for l in "${ED}"/usr/bin/*tmp ; do
-               mv "${l}" "${l%tmp}" \
-                       || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
-       done
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "${DATA_DIR}"
-               chown -Rf postgres:postgres "${DATA_DIR}"
-               chmod 0700 "${DATA_DIR}"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       if ! use systemd; then
-               einfo "The PostgreSQL server, by default, will log events to:"
-               einfo "    ${DATA_DIR%/}/postmaster.log"
-               einfo
-       fi
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       elif use systemd; then
-               einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       else
-               einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}
diff --git a/dev-db/postgresql/postgresql-9.6.13.ebuild b/dev-db/postgresql/postgresql-9.6.13.ebuild
deleted file mode 100644 (file)
index a47ab55..0000000
+++ /dev/null
@@ -1,485 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-PYTHON_COMPAT=( python3_6 )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                 zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user versionator
-
-KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-SLOT="$(get_version_component_range 1-2)"
-
-MY_PV=${PV/_/}
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="doc kerberos kernel_linux ldap libressl nls pam perl -pg_legacytimestamp
-         python +readline selinux +server systemd ssl static-libs tcl threads uuid
-         xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-server? ( systemd? ( sys-apps/systemd ) )
-tcl? ( >=dev-lang/tcl-8:0= )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-"
-
-# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
-# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
-# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
-BSD_LIBC=( elibc_{Free,Net,Open}BSD )
-
-nest_usedep() {
-       local front back
-       while [[ ${#} -gt 1 ]]; do
-               front+="${1}? ( "
-               back+=" )"
-               shift
-       done
-       echo "${front}${1}${back}"
-}
-
-IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
-CDEPEND+="
-uuid? (
-       ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
-       $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
-)"
-
-DEPEND="${CDEPEND}
-!!<sys-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}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !alpha spinlocks) \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
-               $(use_enable threads thread-safety) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(usex server "$(use_with systemd)" '--without-systemd') \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY doc/{TODO,bug.template}
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       use static-libs || find "${ED}" -name '*.a' -delete
-
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               # Temporarily tack on tmp to workaround a file collision
-               # issue. This is only necessary for 9.7 and earlier. 10 never
-               # had this issue.
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}tmp"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-
-               docinto sgml
-               dodoc doc/src/sgml/*.{sgml,dsl}
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.6-r1" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_preinst() {
-       # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-       # /usr/bin/psql96). They may have been created by the
-       # postgresql.eselect module, but they're handled within this ebuild
-       # now. It's alright if we momentarily delete /usr/bin/psql as it
-       # will be recreated by the eselect module in pkg_ppostinst(). This
-       # is only necessary for 9.7 and earlier. 10 and later were never
-       # handled in this manner.
-       local canonicalise
-       if type -p realpath > /dev/null; then
-               canonicalise=realpath
-       elif type -p readlink > /dev/null; then
-               canonicalise='readlink -f'
-       else
-               # can't die, subshell
-               die "No readlink nor realpath found, cannot canonicalise"
-       fi
-
-       local l
-       # First remove any symlinks in /usr/bin that may have been created
-       # by the old eselect
-       for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
-               if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
-                       rm "${l}" || ewarn "Couldn't remove ${l}"
-               fi
-       done
-
-       # Then move the symlinks created by the ebuild to their proper place.
-       for l in "${ED}"/usr/bin/*tmp ; do
-               mv "${l}" "${l%tmp}" \
-                       || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
-       done
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT%/}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT%/}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT%/}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "${DATA_DIR}"
-               chown -Rf postgres:postgres "${DATA_DIR}"
-               chmod 0700 "${DATA_DIR}"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       if ! use systemd; then
-               einfo "The PostgreSQL server, by default, will log events to:"
-               einfo "    ${DATA_DIR%/}/postmaster.log"
-               einfo
-       fi
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       elif use systemd; then
-               einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       else
-               einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}
diff --git a/dev-db/postgresql/postgresql-9.6.14.ebuild b/dev-db/postgresql/postgresql-9.6.14.ebuild
deleted file mode 100644 (file)
index 6d2db47..0000000
+++ /dev/null
@@ -1,490 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                 zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
-
-KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-SLOT=$(ver_cut 1-2)
-
-MY_PV=${PV/_/}
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
-         -pg_legacytimestamp python +readline selinux +server systemd ssl
-         static-libs tcl threads uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-server? ( systemd? ( sys-apps/systemd ) )
-tcl? ( >=dev-lang/tcl-8:0= )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-"
-
-# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
-# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
-# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
-BSD_LIBC=( elibc_{Free,Net,Open}BSD )
-
-nest_usedep() {
-       local front back
-       while [[ ${#} -gt 1 ]]; do
-               front+="${1}? ( "
-               back+=" )"
-               shift
-       done
-       echo "${front}${1}${back}"
-}
-
-IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
-CDEPEND+="
-uuid? (
-       ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
-       $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
-)"
-
-DEPEND="${CDEPEND}
-!!<sys-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}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !alpha spinlocks) \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
-               $(use_enable debug) \
-               $(use_enable threads thread-safety) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(usex server "$(use_with systemd)" '--without-systemd') \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY doc/{TODO,bug.template}
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
-                        -delete
-
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               # Temporarily tack on tmp to workaround a file collision
-               # issue. This is only necessary for 9.7 and earlier. 10 never
-               # had this issue.
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}tmp"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-
-               docinto sgml
-               dodoc doc/src/sgml/*.{sgml,dsl}
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.6-r1" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_preinst() {
-       # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-       # /usr/bin/psql96). They may have been created by the
-       # postgresql.eselect module, but they're handled within this ebuild
-       # now. It's alright if we momentarily delete /usr/bin/psql as it
-       # will be recreated by the eselect module in pkg_ppostinst(). This
-       # is only necessary for 9.7 and earlier. 10 and later were never
-       # handled in this manner.
-       local canonicalise
-       if type -p realpath > /dev/null; then
-               canonicalise=realpath
-       elif type -p readlink > /dev/null; then
-               canonicalise='readlink -f'
-       else
-               # can't die, subshell
-               die "No readlink nor realpath found, cannot canonicalise"
-       fi
-
-       local l
-       # First remove any symlinks in /usr/bin that may have been created
-       # by the old eselect
-       for l in $(find "${ROOT}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
-               if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
-                       rm "${l}" || ewarn "Couldn't remove ${l}"
-               fi
-       done
-
-       # Then move the symlinks created by the ebuild to their proper place.
-       for l in "${ED}"/usr/bin/*tmp ; do
-               mv "${l}" "${l%tmp}" \
-                       || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
-       done
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "${DATA_DIR}"
-               chown -Rf postgres:postgres "${DATA_DIR}"
-               chmod 0700 "${DATA_DIR}"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       if ! use systemd; then
-               einfo "The PostgreSQL server, by default, will log events to:"
-               einfo "    ${DATA_DIR%/}/postmaster.log"
-               einfo
-       fi
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       elif use systemd; then
-               einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       else
-               einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}
diff --git a/dev-db/postgresql/postgresql-9.6.15.ebuild b/dev-db/postgresql/postgresql-9.6.15.ebuild
deleted file mode 100644 (file)
index 800e0b2..0000000
+++ /dev/null
@@ -1,490 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                 zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-SLOT=$(ver_cut 1-2)
-
-MY_PV=${PV/_/}
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
-         -pg_legacytimestamp python +readline selinux +server systemd ssl
-         static-libs tcl threads uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-server? ( systemd? ( sys-apps/systemd ) )
-tcl? ( >=dev-lang/tcl-8:0= )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-"
-
-# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
-# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
-# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
-BSD_LIBC=( elibc_{Free,Net,Open}BSD )
-
-nest_usedep() {
-       local front back
-       while [[ ${#} -gt 1 ]]; do
-               front+="${1}? ( "
-               back+=" )"
-               shift
-       done
-       echo "${front}${1}${back}"
-}
-
-IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
-CDEPEND+="
-uuid? (
-       ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
-       $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
-)"
-
-DEPEND="${CDEPEND}
-!!<sys-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}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !alpha spinlocks) \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
-               $(use_enable debug) \
-               $(use_enable threads thread-safety) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(usex server "$(use_with systemd)" '--without-systemd') \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY doc/{TODO,bug.template}
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
-                        -delete
-
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               # Temporarily tack on tmp to workaround a file collision
-               # issue. This is only necessary for 9.7 and earlier. 10 never
-               # had this issue.
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}tmp"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-
-               docinto sgml
-               dodoc doc/src/sgml/*.{sgml,dsl}
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.6-r1" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_preinst() {
-       # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-       # /usr/bin/psql96). They may have been created by the
-       # postgresql.eselect module, but they're handled within this ebuild
-       # now. It's alright if we momentarily delete /usr/bin/psql as it
-       # will be recreated by the eselect module in pkg_ppostinst(). This
-       # is only necessary for 9.7 and earlier. 10 and later were never
-       # handled in this manner.
-       local canonicalise
-       if type -p realpath > /dev/null; then
-               canonicalise=realpath
-       elif type -p readlink > /dev/null; then
-               canonicalise='readlink -f'
-       else
-               # can't die, subshell
-               die "No readlink nor realpath found, cannot canonicalise"
-       fi
-
-       local l
-       # First remove any symlinks in /usr/bin that may have been created
-       # by the old eselect
-       for l in $(find "${ROOT}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
-               if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
-                       rm "${l}" || ewarn "Couldn't remove ${l}"
-               fi
-       done
-
-       # Then move the symlinks created by the ebuild to their proper place.
-       for l in "${ED}"/usr/bin/*tmp ; do
-               mv "${l}" "${l%tmp}" \
-                       || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
-       done
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "${DATA_DIR}"
-               chown -Rf postgres:postgres "${DATA_DIR}"
-               chmod 0700 "${DATA_DIR}"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       if ! use systemd; then
-               einfo "The PostgreSQL server, by default, will log events to:"
-               einfo "    ${DATA_DIR%/}/postmaster.log"
-               einfo
-       fi
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       elif use systemd; then
-               einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       else
-               einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}
diff --git a/dev-db/postgresql/postgresql-9.6.16.ebuild b/dev-db/postgresql/postgresql-9.6.16.ebuild
deleted file mode 100644 (file)
index db31e5a..0000000
+++ /dev/null
@@ -1,490 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
-                 zh_TW"
-
-inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
-               systemd user
-
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-
-SLOT=$(ver_cut 1-2)
-
-MY_PV=${PV/_/}
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
-
-LICENSE="POSTGRESQL GPL-2"
-DESCRIPTION="PostgreSQL RDBMS"
-HOMEPAGE="https://www.postgresql.org/"
-
-IUSE="debug doc kerberos kernel_linux ldap libressl nls pam perl
-         -pg_legacytimestamp python +readline selinux +server systemd ssl
-         static-libs tcl threads uuid xml zlib"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-CDEPEND="
->=app-eselect/eselect-postgresql-2.0
-sys-apps/less
-virtual/libintl
-kerberos? ( virtual/krb5 )
-ldap? ( net-nds/openldap )
-pam? ( sys-libs/pam )
-perl? ( >=dev-lang/perl-5.8:= )
-python? ( ${PYTHON_DEPS} )
-readline? ( sys-libs/readline:0= )
-ssl? (
-       !libressl? ( >=dev-libs/openssl-0.9.6-r1:0= )
-       libressl? ( dev-libs/libressl:= )
-)
-server? ( systemd? ( sys-apps/systemd ) )
-tcl? ( >=dev-lang/tcl-8:0= )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-"
-
-# uuid flags -- depend on sys-apps/util-linux for Linux libcs, or if no
-# supported libc in use depend on dev-libs/ossp-uuid. For BSD systems,
-# the libc includes UUID functions.
-UTIL_LINUX_LIBC=( elibc_{glibc,uclibc,musl} )
-BSD_LIBC=( elibc_{Free,Net,Open}BSD )
-
-nest_usedep() {
-       local front back
-       while [[ ${#} -gt 1 ]]; do
-               front+="${1}? ( "
-               back+=" )"
-               shift
-       done
-       echo "${front}${1}${back}"
-}
-
-IUSE+=" ${UTIL_LINUX_LIBC[@]} ${BSD_LIBC[@]}"
-CDEPEND+="
-uuid? (
-       ${UTIL_LINUX_LIBC[@]/%/? ( sys-apps/util-linux )}
-       $(nest_usedep ${UTIL_LINUX_LIBC[@]/#/!} ${BSD_LIBC[@]/#/!} dev-libs/ossp-uuid)
-)"
-
-DEPEND="${CDEPEND}
-!!<sys-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}" \
-               --includedir="${PO}/usr/include/postgresql-${SLOT}" \
-               --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
-               --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
-               --with-system-tzdata="${PO}/usr/share/zoneinfo" \
-               $(use_enable !alpha spinlocks) \
-               $(use_enable !pg_legacytimestamp integer-datetimes) \
-               $(use_enable debug) \
-               $(use_enable threads thread-safety) \
-               $(use_with kerberos gssapi) \
-               $(use_with ldap) \
-               $(use_with pam) \
-               $(use_with perl) \
-               $(use_with python) \
-               $(use_with readline) \
-               $(use_with ssl openssl) \
-               $(usex server "$(use_with systemd)" '--without-systemd') \
-               $(use_with tcl) \
-               ${uuid_config} \
-               $(use_with xml libxml) \
-               $(use_with xml libxslt) \
-               $(use_with zlib) \
-               $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
-       emake
-       emake -C contrib
-}
-
-src_install() {
-       emake DESTDIR="${D}" install
-       emake DESTDIR="${D}" install -C contrib
-
-       dodoc README HISTORY doc/{TODO,bug.template}
-
-       # man pages are already built, but if we have the target make them,
-       # they'll be generated from source before being installed so we
-       # manually install man pages.
-       # We use ${SLOT} instead of doman for postgresql.eselect
-       insinto /usr/share/postgresql-${SLOT}/man/
-       doins -r doc/src/sgml/man{1,3,7}
-       if ! use server; then
-               # Remove man pages for non-existent binaries
-               for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
-                       rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
-               done
-       fi
-       docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
-       # Create slot specific man pages
-       local bn f mansec slotted_name
-       for mansec in 1 3 7 ; do
-               local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
-               mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
-               pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
-               for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
-                       bn=$(basename "${f}")
-                       slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
-                       case ${bn} in
-                               TABLE.7|WITH.7)
-                                       echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
-                                       ;;
-                               *)
-                                       echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
-                                       ;;
-                       esac
-               done
-
-               popd > /dev/null
-       done
-
-       insinto /etc/postgresql-${SLOT}
-       newins src/bin/psql/psqlrc.sample psqlrc
-
-       # Don't delete libpg{port,common}.a (Bug #571046). They're always
-       # needed by extensions utilizing PGXS.
-       use static-libs || \
-               find "${ED}" -name '*.a' ! -name libpgport.a ! -name libpgcommon.a \
-                        -delete
-
-       local f bn
-       for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
-                                       -mindepth 1 -maxdepth 1)
-       do
-               bn=$(basename "${f}")
-               # Temporarily tack on tmp to workaround a file collision
-               # issue. This is only necessary for 9.7 and earlier. 10 never
-               # had this issue.
-               dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
-                         "/usr/bin/${bn}${SLOT/.}tmp"
-       done
-
-       if use doc ; then
-               docinto html
-               dodoc doc/src/sgml/html/*
-
-               docinto sgml
-               dodoc doc/src/sgml/*.{sgml,dsl}
-       fi
-
-       if use server; then
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
-               sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                       "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
-               if use systemd; then
-                       sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
-                               "${FILESDIR}/${PN}.service-9.6-r1" | \
-                               systemd_newunit - ${PN}-${SLOT}.service
-                       systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
-               fi
-
-               newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
-               use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
-               if use prefix ; then
-                       keepdir /run/postgresql
-                       fperms 1775 /run/postgresql
-               fi
-       fi
-}
-
-pkg_preinst() {
-       # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
-       # /usr/bin/psql96). They may have been created by the
-       # postgresql.eselect module, but they're handled within this ebuild
-       # now. It's alright if we momentarily delete /usr/bin/psql as it
-       # will be recreated by the eselect module in pkg_ppostinst(). This
-       # is only necessary for 9.7 and earlier. 10 and later were never
-       # handled in this manner.
-       local canonicalise
-       if type -p realpath > /dev/null; then
-               canonicalise=realpath
-       elif type -p readlink > /dev/null; then
-               canonicalise='readlink -f'
-       else
-               # can't die, subshell
-               die "No readlink nor realpath found, cannot canonicalise"
-       fi
-
-       local l
-       # First remove any symlinks in /usr/bin that may have been created
-       # by the old eselect
-       for l in $(find "${ROOT}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
-               if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
-                       rm "${l}" || ewarn "Couldn't remove ${l}"
-               fi
-       done
-
-       # Then move the symlinks created by the ebuild to their proper place.
-       for l in "${ED}"/usr/bin/*tmp ; do
-               mv "${l}" "${l%tmp}" \
-                       || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
-       done
-}
-
-pkg_postinst() {
-       use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
-       postgresql-config update
-
-       elog "If you need a global psqlrc-file, you can place it in:"
-       elog "    ${EROOT}/etc/postgresql-${SLOT}/"
-
-       if use server ; then
-               elog
-               elog "Gentoo specific documentation:"
-               elog "https://wiki.gentoo.org/wiki/PostgreSQL"
-               elog
-               elog "Official documentation:"
-               elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
-               elog
-               elog "The default location of the Unix-domain socket is:"
-               elog "    ${EROOT}/run/postgresql/"
-               elog
-               elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
-               elog "so that it contains your preferred locale in:"
-               elog "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-               elog
-               elog "Then, execute the following command to setup the initial database"
-               elog "environment:"
-               elog "    emerge --config =${CATEGORY}/${PF}"
-       fi
-}
-
-pkg_prerm() {
-       if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
-               ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
-               ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
-               ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
-               sleep 10
-               eend 0
-       fi
-}
-
-pkg_postrm() {
-       postgresql-config update
-}
-
-pkg_config() {
-       use server || die "USE flag 'server' not enabled. Nothing to configure."
-
-       [[ -f "${EROOT}/etc/conf.d/postgresql-${SLOT}" ]] \
-               && source "${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       [[ -z "${PGDATA}" ]] && PGDATA="${EROOT}/etc/postgresql-${SLOT}/"
-       [[ -z "${DATA_DIR}" ]] \
-               && DATA_DIR="${EROOT}/var/lib/postgresql/${SLOT}/data"
-
-       # environment.bz2 may not contain the same locale as the current system
-       # locale. Unset and source from the current system locale.
-       if [ -f "${EROOT}/etc/env.d/02locale" ]; then
-               unset LANG
-               unset LC_CTYPE
-               unset LC_NUMERIC
-               unset LC_TIME
-               unset LC_COLLATE
-               unset LC_MONETARY
-               unset LC_MESSAGES
-               unset LC_ALL
-               source "${EROOT}/etc/env.d/02locale"
-               [ -n "${LANG}" ] && export LANG
-               [ -n "${LC_CTYPE}" ] && export LC_CTYPE
-               [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
-               [ -n "${LC_TIME}" ] && export LC_TIME
-               [ -n "${LC_COLLATE}" ] && export LC_COLLATE
-               [ -n "${LC_MONETARY}" ] && export LC_MONETARY
-               [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
-               [ -n "${LC_ALL}" ] && export LC_ALL
-       fi
-
-       einfo "You can modify the paths and options passed to initdb by editing:"
-       einfo "    ${EROOT}/etc/conf.d/postgresql-${SLOT}"
-       einfo
-       einfo "Information on options that can be passed to initdb are found at:"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
-       einfo "    https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
-       einfo
-       einfo "PG_INITDB_OPTS is currently set to:"
-       if [[ -z "${PG_INITDB_OPTS}" ]] ; then
-               einfo "    (none)"
-       else
-               einfo "    ${PG_INITDB_OPTS}"
-       fi
-       einfo
-       einfo "Configuration files will be installed to:"
-       einfo "    ${PGDATA}"
-       einfo
-       einfo "The database cluster will be created in:"
-       einfo "    ${DATA_DIR}"
-       einfo
-
-       ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
-       sleep 5
-       eend 0
-
-       if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
-               eerror "The given directory, '${DATA_DIR}', is not empty."
-               eerror "Modify DATA_DIR to point to an empty directory."
-               die "${DATA_DIR} is not empty."
-       fi
-
-       einfo "Creating the data directory ..."
-       if [[ ${EUID} == 0 ]] ; then
-               mkdir -p "${DATA_DIR}"
-               chown -Rf postgres:postgres "${DATA_DIR}"
-               chmod 0700 "${DATA_DIR}"
-       fi
-
-       einfo "Initializing the database ..."
-
-       if [[ ${EUID} == 0 ]] ; then
-               su postgres -c "${EROOT}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
-       else
-               "${EROOT}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
-       fi
-
-       if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
-               mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
-               ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
-       fi
-
-       # unix_socket_directory has no effect in postgresql.conf as it's
-       # overridden in the initscript
-       sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
-       cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
-               # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
-               # On the off-chance that you might need to work with UTF-8 encoded
-               # characters in PL/Perl
-               plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
-       EOF
-
-       einfo "The autovacuum function, which was in contrib, has been moved to the main"
-       einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
-       einfo "by default. You can disable it in the cluster's:"
-       einfo "    ${PGDATA%/}/postgresql.conf"
-       einfo
-       if ! use systemd; then
-               einfo "The PostgreSQL server, by default, will log events to:"
-               einfo "    ${DATA_DIR%/}/postmaster.log"
-               einfo
-       fi
-       if use prefix ; then
-               einfo "The location of the configuration files have moved to:"
-               einfo "    ${PGDATA}"
-               einfo "To start the server:"
-               einfo "    pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
-               einfo "To stop:"
-               einfo "    pg_ctl stop -D ${DATA_DIR}"
-               einfo
-               einfo "Or move the configuration files back:"
-               einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
-       elif use systemd; then
-               einfo "You should use the 'postgresql-${SLOT}.service' unit to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       else
-               einfo "You should use the '${EROOT}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
-               einfo "instead of 'pg_ctl'."
-       fi
-}
-
-src_test() {
-       if use server && [[ ${UID} -ne 0 ]] ; then
-               emake check
-
-               einfo "If you think other tests besides the regression tests are necessary, please"
-               einfo "submit a bug including a patch for this ebuild to enable them."
-       else
-               use server || \
-                       ewarn 'Tests cannot be run without the "server" use flag enabled.'
-               [[ ${UID} -eq 0 ]] || \
-                       ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
-               ewarn 'Skipping.'
-       fi
-}