summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiroslav Šulc <fordfrog@gentoo.org>2021-08-09 07:17:59 +0200
committerMiroslav Šulc <fordfrog@gentoo.org>2021-08-09 07:17:59 +0200
commitcdf2a14993f7fd186944abb737402b98b16faf00 (patch)
treedec4d9c3b857af8875ca5a789138dbf9749dcc28
parentapp-cdr/mdf2iso: eapi7 (diff)
downloadfordfrog-cdf2a14993f7fd186944abb737402b98b16faf00.tar.gz
fordfrog-cdf2a14993f7fd186944abb737402b98b16faf00.tar.bz2
fordfrog-cdf2a14993f7fd186944abb737402b98b16faf00.zip
dev-db/postgresql: dropped
Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
-rw-r--r--dev-db/postgresql/Manifest6
-rw-r--r--dev-db/postgresql/files/postgresql-9.3-no-server.patch144
-rw-r--r--dev-db/postgresql/files/postgresql-check-db-dir35
-rw-r--r--dev-db/postgresql/files/postgresql.confd-9.365
-rw-r--r--dev-db/postgresql/files/postgresql.init-9.3-r1157
-rw-r--r--dev-db/postgresql/postgresql-9.3.25.ebuild443
6 files changed, 0 insertions, 850 deletions
diff --git a/dev-db/postgresql/Manifest b/dev-db/postgresql/Manifest
deleted file mode 100644
index e31c6f563..000000000
--- a/dev-db/postgresql/Manifest
+++ /dev/null
@@ -1,6 +0,0 @@
-AUX postgresql-9.3-no-server.patch 3809 BLAKE2B 9022fe8000bff070ee5a4752fcbf9db06e6f83fec9451e5b3a391336a50a9a394a3ab2bfcde21f9462126973e83451e684110c1a1446dc0d6fb4ad7016c90df6 SHA512 5a8e6c5989f27e6b9a55ccc696578b109bc7d2b6c39f8364ceffed07add13f741d21803fa8eebfa6814eb7f997740c1831201b688487710d9275e212c3760d21
-AUX postgresql-check-db-dir 1010 BLAKE2B 9a9143f4f6481a09374fc306b4a20a90249293d24888e02a3d4150e8618c59a11b2b71f8a52c6304f478ead2bcb63400bb897f4913212e5f1a1c82b3a3da5104 SHA512 39708ac9870239429cd247e05dc83476339b1b69398b9919aad4ae67e5bbeb8cfb75211bc50744c0f47150346f8cc1c800d5769d99a3f8e1c6d8971334c97df0
-AUX postgresql.confd-9.3 2477 BLAKE2B 0d42eedb99c951c8c60ed02abb5d4526bc288e8dd50b048cb3ab374239f1929aa80d10306037e45188a81593163121c029b91f9149365bff02ff7bfd0fe52ac4 SHA512 6c9e7c2de31eace2b3ce771a29eb354b143ea81f85d9d7ef601f302b7ae71c1c3badde8765fb7757dadcf0c49dcfa1116977e8b7f1e238350d3732962267147f
-AUX postgresql.init-9.3-r1 4996 BLAKE2B 60a3669a8566700babaa7ffa3e45a6954017a71da9d587814c6b5312c3596c1e2d4ecb3e83b67016292ed72ec3ed3366048c22df3988b82ff335765debddb7e8 SHA512 16c6d88b695575f5ca8f708abb0706845901f2445600cf4e28315add9c3e819df42e1112859e9f9529bc22fe0b2d1bdcff0ab6f9c39ce29d1fbaca1a91a065d1
-DIST postgresql-9.3.25.tar.bz2 17067593 BLAKE2B fd9ca5685e5511dcaa72da882b674846dcd5a16227e5b33ae06701fe7881df71847666c37925033c6cb01c916111a8f76df134491645f4d1e1dd48a008bd2831 SHA512 319e12b73853b74f5ef2c520d64795bb586ffd495ceab6518f7844de6e0a054aea821976c470108d346f8090c7d3949920d9c435432e33004b7caa7a77a5cdca
-EBUILD postgresql-9.3.25.ebuild 13453 BLAKE2B 2f556d62f18a17987d1cd07801aac53da56495d978aa754faad9906624dd1f5d60358d5f009dd53b03f7c95ba874829a2fc34be84e3c63733f7cdecc9e93ff33 SHA512 0d8442e132118067b6ac98b5f462a52790f12a88c3dfce46bdd6d28f0e3b917466c1d779bd5817cbc87b94b4da05f2c318e71dd646f9193207315bb52448c0c7
diff --git a/dev-db/postgresql/files/postgresql-9.3-no-server.patch b/dev-db/postgresql/files/postgresql-9.3-no-server.patch
deleted file mode 100644
index 48e5377f2..000000000
--- a/dev-db/postgresql/files/postgresql-9.3-no-server.patch
+++ /dev/null
@@ -1,144 +0,0 @@
---- a/contrib/Makefile
-+++ b/contrib/Makefile
-@@ -5,61 +5,10 @@
- include $(top_builddir)/src/Makefile.global
-
- SUBDIRS = \
-- adminpack \
-- auth_delay \
-- auto_explain \
-- btree_gin \
-- btree_gist \
-- chkpass \
-- citext \
-- cube \
-- dblink \
-- dict_int \
-- dict_xsyn \
-- dummy_seclabel \
-- earthdistance \
-- file_fdw \
-- fuzzystrmatch \
-- hstore \
-- intagg \
-- intarray \
-- isn \
-- lo \
-- ltree \
- oid2name \
-- pageinspect \
-- passwordcheck \
-- pg_archivecleanup \
-- pg_buffercache \
-- pg_freespacemap \
-- pg_standby \
-- pg_stat_statements \
-- pg_test_fsync \
-- pg_test_timing \
-- pg_trgm \
-- pg_upgrade \
-- pg_upgrade_support \
- pgbench \
-- pgcrypto \
-- pgrowlocks \
-- pgstattuple \
-- pg_xlogdump \
-- postgres_fdw \
-- seg \
-- spi \
-- tablefunc \
-- tcn \
-- test_parser \
-- tsearch2 \
-- unaccent \
-- vacuumlo \
-- worker_spi
-+ vacuumlo
-
--ifeq ($(with_openssl),yes)
--SUBDIRS += sslinfo
--else
--ALWAYS_SUBDIRS += sslinfo
--endif
-
- ifeq ($(with_ossp_uuid),yes)
- SUBDIRS += uuid-ossp
---- a/src/backend/Makefile
-+++ b/src/backend/Makefile
-@@ -47,7 +47,7 @@
-
- ##########################################################################
-
--all: submake-libpgport submake-schemapg postgres $(POSTGRES_IMP)
-+all: someheaders
-
- ifneq ($(PORTNAME), cygwin)
- ifneq ($(PORTNAME), win32)
-@@ -116,7 +116,7 @@
- endif # aix
-
- # Update the commonly used headers before building the subdirectories
--$(SUBDIRS:%=%-recursive): $(top_builddir)/src/include/parser/gram.h $(top_builddir)/src/include/catalog/schemapg.h $(top_builddir)/src/include/utils/fmgroids.h $(top_builddir)/src/include/utils/errcodes.h $(top_builddir)/src/include/utils/probes.h
-+someheaders $(SUBDIRS:%=%-recursive): $(top_builddir)/src/include/parser/gram.h $(top_builddir)/src/include/catalog/schemapg.h $(top_builddir)/src/include/utils/fmgroids.h $(top_builddir)/src/include/utils/errcodes.h $(top_builddir)/src/include/utils/probes.h
-
- # run this unconditionally to avoid needing to know its dependencies here:
- submake-schemapg:
-@@ -209,23 +209,8 @@
-
- ##########################################################################
-
--install: all installdirs install-bin
--ifeq ($(PORTNAME), cygwin)
--ifeq ($(MAKE_DLL), true)
-- $(INSTALL_DATA) libpostgres.a '$(DESTDIR)$(libdir)/libpostgres.a'
--endif
--endif
--ifeq ($(PORTNAME), win32)
--ifeq ($(MAKE_DLL), true)
-- $(INSTALL_DATA) libpostgres.a '$(DESTDIR)$(libdir)/libpostgres.a'
--endif
--endif
-- $(MAKE) -C catalog install-data
-- $(MAKE) -C tsearch install-data
-- $(INSTALL_DATA) $(srcdir)/libpq/pg_hba.conf.sample '$(DESTDIR)$(datadir)/pg_hba.conf.sample'
-- $(INSTALL_DATA) $(srcdir)/libpq/pg_ident.conf.sample '$(DESTDIR)$(datadir)/pg_ident.conf.sample'
-- $(INSTALL_DATA) $(srcdir)/utils/misc/postgresql.conf.sample '$(DESTDIR)$(datadir)/postgresql.conf.sample'
-- $(INSTALL_DATA) $(srcdir)/access/transam/recovery.conf.sample '$(DESTDIR)$(datadir)/recovery.conf.sample'
-+install:
-+
-
- install-bin: postgres $(POSTGRES_IMP) installdirs
- $(INSTALL_PROGRAM) postgres$(X) '$(DESTDIR)$(bindir)/postgres$(X)'
---- a/src/bin/Makefile
-+++ b/src/bin/Makefile
-@@ -13,8 +13,7 @@
- top_builddir = ../..
- include $(top_builddir)/src/Makefile.global
-
--SUBDIRS = initdb pg_ctl pg_dump \
-- psql scripts pg_config pg_controldata pg_resetxlog pg_basebackup
-+SUBDIRS = pg_dump psql scripts pg_config
-
- ifeq ($(PORTNAME), win32)
- SUBDIRS += pgevent
---- a/src/Makefile
-+++ b/src/Makefile
-@@ -15,17 +15,11 @@
- SUBDIRS = \
- common \
- port \
-- timezone \
- backend \
-- backend/utils/mb/conversion_procs \
-- backend/snowball \
- include \
- interfaces \
-- backend/replication/libpqwalreceiver \
- bin \
-- pl \
-- makefiles \
-- test/regress
-+ makefiles
-
- # There are too many interdependencies between the subdirectories, so
- # don't attempt parallel make here.
diff --git a/dev-db/postgresql/files/postgresql-check-db-dir b/dev-db/postgresql/files/postgresql-check-db-dir
deleted file mode 100644
index 15b2cb569..000000000
--- a/dev-db/postgresql/files/postgresql-check-db-dir
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-eerror() {
- echo "$@" >&2
-}
-
-# Check that DATA_DIR has been set
-if [ -z ${DATA_DIR} ] ; then
- eerror "DATA_DIR not set"
- exit 1
-fi
-
-# Check that DATA_DIR exists
-if [ ! -d ${DATA_DIR} ] ; then
- eerror "Directory not found: ${DATA_DIR}"
- eerror "HINT: Ensure that DATA_DIR points to the right path."
- eerror "HINT: Or perhaps you need to create the database cluster:"
- eerror " emerge --config dev-db/postgresql:@SLOT@"
- exit 1
-fi
-
-# Check for the existence of PostgreSQL's config files, and set the
-# proper mode and ownership.
-# Only three files should be checked as potentially other files
-# may be in PGDATA that should not be touched.
-for file in postgresql pg_hba pg_ident ; do
- file="${PGDATA%/}/${file}.conf"
- if [ ! -f ${file} ] ; then
- eerror "${file} not found"
- eerror "HINT: mv ${DATA_DIR%/}/*.conf ${PGDATA}"
- exit 1
- fi
-done
diff --git a/dev-db/postgresql/files/postgresql.confd-9.3 b/dev-db/postgresql/files/postgresql.confd-9.3
deleted file mode 100644
index 38bf113d3..000000000
--- a/dev-db/postgresql/files/postgresql.confd-9.3
+++ /dev/null
@@ -1,65 +0,0 @@
-# Comma-separated list of directories that contain a unix
-# socket. Created and controlled by the related initscript. The
-# directories created will be owned root:postgres with mode 1775.
-#
-# /run/postgresql is the default directory.
-PG_SOCKET_DIRECTORIES="/run/postgresql"
-
-# Which port and socket to bind PostgreSQL
-PGPORT="5432"
-
-# How long to wait for server to start in seconds
-START_TIMEOUT=10
-
-# NICE_QUIT ignores new connections and wait for clients to disconnect from
-# server before shutting down. NICE_TIMEOUT in seconds determines how long to
-# wait for this to succeed.
-NICE_TIMEOUT=60
-
-# Forcefully disconnect clients from server and shut down. This is performed
-# after NICE_QUIT. Terminated client connections have their open transactions
-# rolled back.
-# Set RUDE_QUIT to "NO" to disable. RUDE_TIMEOUT in seconds.
-RUDE_QUIT="YES"
-RUDE_TIMEOUT=30
-
-# If the server still fails to shutdown, you can force it to quit by setting
-# this to YES and a recover-run will execute on the next startup.
-# Set FORCE_QUIT to "YES" to enable. FORCE_TIMEOUT in seconds.
-FORCE_QUIT="NO"
-FORCE_TIMEOUT=2
-
-# Extra options to run postmaster with, e.g.:
-# -N is the maximal number of client connections
-# -B is the number of shared buffers and has to be at least 2x the value for -N
-# Please read the man-page to postmaster for more options. Many of these
-# options can be set directly in the configuration file.
-#PGOPTS="-N 512 -B 1024"
-
-# Pass extra environment variables. If you have to export environment variables
-# for the database process, this can be done here.
-# Don't forget to escape quotes.
-#PG_EXTRA_ENV="PGPASSFILE=\"/path/to/.pgpass\""
-
-##############################################################################
-#
-# The following values should not be arbitrarily changed.
-#
-# `emerge --config dev-db/postgresql:@SLOT@' uses these values to
-# determine where to create the data directory, where to place the
-# configuration files, and any additional options to pass to initdb.
-#
-# The initscript also uses these variables to inform PostgreSQL where to find
-# its data directory and configuration files.
-#
-##############################################################################
-
-# Location of configuration files
-PGDATA="/etc/postgresql-@SLOT@/"
-
-# Where the data directory is located/to be created
-DATA_DIR="/var/lib/postgresql/@SLOT@/data"
-
-# Additional options to pass to initdb.
-# See `man initdb' for available options.
-PG_INITDB_OPTS="--encoding=UTF8"
diff --git a/dev-db/postgresql/files/postgresql.init-9.3-r1 b/dev-db/postgresql/files/postgresql.init-9.3-r1
deleted file mode 100644
index 9d145f68d..000000000
--- a/dev-db/postgresql/files/postgresql.init-9.3-r1
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-extra_started_commands="reload promote"
-
-PG_CTL="/usr/@LIBDIR@/postgresql-@SLOT@/bin/pg_ctl"
-
-description="PostgreSQL @SLOT@ -- the world's most advanced open source database --
-${RC_SERVICE} is a wrapper around pg_ctl with additional administrative checks
-and convenience"
-
-get_config() {
- [ -f "${PGDATA%/}/postgresql.conf" ] || return 1
-
- eval echo $(sed -e 's:#.*::' "${PGDATA%/}/postgresql.conf" \
- | awk '$1 == "'$1'" { print ($2 == "=" ? $3 : $2) }')
-}
-
-depend() {
- use net
- provide postgresql
-
- if [ "$(get_config log_destination)" = "syslog" ]; then
- use logger
- fi
-}
-
-configured_port=$(get_config port)
-: ${configured_port:=${PGPORT}}
-
-checkconfig() {
- # Check that DATA_DIR has been set
- if [ -z "${DATA_DIR}" ] ; then
- eerror "DATA_DIR not set"
- eerror "HINT: Perhaps you need to update /etc/conf.d/postgresql-@SLOT@"
- return 1
- fi
-
- # Check that DATA_DIR exists
- if [ ! -d "${DATA_DIR}" ] ; then
- eerror "Directory not found: ${DATA_DIR}"
- eerror "HINT: Ensure that DATA_DIR points to the right path."
- eerror "HINT: Or perhaps you need to create the database cluster:"
- eerror " emerge --config dev-db/postgresql:@SLOT@"
- return 1
- fi
-
- # Check for the existence of PostgreSQL's config files, and set the
- # proper mode and ownership.
- # Only three files should be checked as potentially other files
- # may be in PGDATA that should not be touched.
- local file
- for file in postgresql pg_hba pg_ident ; do
- file="${PGDATA%/}/${file}.conf"
- if [ -f "${file}" ] ; then
- checkpath -f -m 0600 -o postgres:postgres "${file}"
- else
- eerror "${file} not found"
- eerror "HINT: mv ${DATA_DIR%/}/*.conf ${PGDATA}"
- return 1
- fi
- done
-
- # Set the proper permission for the socket paths and create it if
- # it doesn't exist.
- set -f; IFS=','
- local s
- for s in ${PG_SOCKET_DIRECTORIES}; do
- checkpath -d -m 1775 -o root:postgres "${s}"
- if [ -e "${s%/}/.s.PGSQL.${configured_port}" ] ; then
- eerror "Socket conflict."
- eerror "A server is already listening on:"
- eerror " ${s%/}/.s.PGSQL.${configured_port}"
- eerror "HINT: Change PGPORT to listen on a different socket."
- return 1
- fi
- done
- set +f; unset IFS
-}
-
-start() {
- checkconfig || return 1
-
- ebegin "Starting PostgreSQL @SLOT@"
-
- rm -f "${DATA_DIR%/}/postmaster.pid"
-
- su - postgres -c \
- "PGPORT=${configured_port} ${PG_EXTRA_ENV} ${PG_CTL} start \
- -s -w -t ${START_TIMEOUT} -l ${DATA_DIR%/}/postmaster.log \
- -D ${PGDATA} \
- -o '--data-directory=${DATA_DIR} \
- --unix-socket-directories=${PG_SOCKET_DIRECTORIES} \
- ${PGOPTS}'"
-
- local retval=$?
-
- if [ $retval -ne 0 ] ; then
- eerror "Check the log for a possible explanation of the above error."
- eerror "The log may be located at:"
- eerror " ${DATA_DIR%/}/postmaster.log"
- eerror "Or wherever you configured PostgreSQL @SLOT@ to log."
- fi
-
- eend $retval
-}
-
-stop() {
- local seconds=$(( ${NICE_TIMEOUT} + ${RUDE_TIMEOUT} + ${FORCE_TIMEOUT} ))
- ebegin "Stopping PostgreSQL @SLOT@ (this can take up to ${seconds} seconds)"
-
- su - postgres -c \
- "${PG_CTL} stop -t ${NICE_TIMEOUT} -s -D ${DATA_DIR} -m smart"
- local retval=$?
-
- if [ "${RUDE_QUIT}" != "NO" -a ${retval} -ne 0 ] ; then
- einfo "Previous attempt failed. Trying RUDE_QUIT."
- su - postgres -c \
- "${PG_CTL} stop -t ${RUDE_TIMEOUT} -s -D ${DATA_DIR} -m fast"
- retval=$?
- fi
-
- if [ "${FORCE_QUIT}" = "YES" -a ${retval} -ne 0 ] ; then
- einfo "Previous step failed. Trying FORCE_QUIT."
- ewarn "A recover-run might be executed on next startup."
- su - postgres -c \
- "${PG_CTL} stop -t ${FORCE_TIMEOUT} -s -D ${DATA_DIR} -m immediate"
- retval=$?
- fi
-
- eend ${retval}
-}
-
-status() {
- ebegin "Checking PostgreSQL @SLOT@ status"
- su - postgres -c "${PG_CTL} status -D ${DATA_DIR}"
- eend $?
-}
-
-description_reload="Simply sends the postgres process a SIGHUP signal, causing
- it to reread its configuration files (postgresql.conf, pg_hba.conf,
- etc.). This allows changing of configuration-file options that do not
- require a complete restart to take effect."
-reload() {
- ebegin "Reloading PostgreSQL @SLOT@ configuration"
- su - postgres -c "${PG_CTL} reload -s -D ${DATA_DIR}"
- eend $?
-}
-
-description_promote="If the server is in standby, it is commanded to exit
- recovery and begin read-write operations."
-promote() {
- ebegin "Promoting PostgreSQL @SLOT@"
- su - postgres -c "${PG_CTL} promote -s -D ${DATA_DIR}"
- eend $?
-}
diff --git a/dev-db/postgresql/postgresql-9.3.25.ebuild b/dev-db/postgresql/postgresql-9.3.25.ebuild
deleted file mode 100644
index 98a368d0c..000000000
--- a/dev-db/postgresql/postgresql-9.3.25.ebuild
+++ /dev/null
@@ -1,443 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-PYTHON_COMPAT=( python2_7 python3_{7,8,9} )
-
-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=""
-
-SLOT="$(get_version_component_range 1-2)"
-
-SRC_URI="https://ftp.postgresql.org/pub/source/v${PV}/${P}.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= )
-uuid? ( dev-libs/ossp-uuid )
-xml? ( dev-libs/libxml2 dev-libs/libxslt )
-zlib? ( sys-libs/zlib )
-"
-
-DEPEND="${CDEPEND}
-!!<sys-apps/sandbox-2.0
-sys-devel/bison
-sys-devel/flex
-nls? ( sys-devel/gettext )
-xml? ( virtual/pkgconfig )
-"
-
-RDEPEND="${CDEPEND}
-!dev-db/postgresql-docs:${SLOT}
-!dev-db/postgresql-base:${SLOT}
-!dev-db/postgresql-server:${SLOT}
-selinux? ( sec-policy/selinux-postgresql )
-"
-
-pkg_setup() {
- use server && CONFIG_CHECK="~SYSVIPC" linux-info_pkg_setup
-
- enewgroup postgres 70
- enewuser postgres 70 /bin/sh /var/lib/postgresql postgres
-
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- # Work around PPC{,64} compilation bug where bool is already defined
- sed '/#ifndef __cplusplus/a #undef bool' -i src/include/c.h || die
-
- # Set proper run directory
- sed "s|\(PGSOCKET_DIR\s\+\)\"/tmp\"|\1\"${EPREFIX}/run/postgresql\"|" \
- -i src/include/pg_config_manual.h || die
-
- # Rely on $PATH being in the proper order so that the correct
- # install program is used for modules utilizing PGXS in both
- # hardened and non-hardened environments. (Bug #528786)
- sed 's/@install_bin@/install -c/' -i src/Makefile.global.in || die
-
- use server || eapply "${FILESDIR}/${PN}-${SLOT}-no-server.patch"
-
- if use pam ; then
- sed -e "s/\(#define PGSQL_PAM_SERVICE \"postgresql\)/\1-${SLOT}/" \
- -i src/backend/libpq/auth.c || \
- die 'PGSQL_PAM_SERVICE rename failed.'
- fi
-
- eapply_user
-}
-
-src_configure() {
- case ${CHOST} in
- *-darwin*|*-solaris*)
- use nls && append-libs intl
- ;;
- esac
-
- export LDFLAGS_SL="${LDFLAGS}"
- export LDFLAGS_EX="${LDFLAGS}"
-
- local PO="${EPREFIX%/}"
-
- econf \
- --prefix="${PO}/usr/$(get_libdir)/postgresql-${SLOT}" \
- --datadir="${PO}/usr/share/postgresql-${SLOT}" \
- --docdir="${PO}/usr/share/doc/${PF}" \
- --includedir="${PO}/usr/include/postgresql-${SLOT}" \
- --mandir="${PO}/usr/share/postgresql-${SLOT}/man" \
- --sysconfdir="${PO}/etc/postgresql-${SLOT}" \
- --with-system-tzdata="${PO}/usr/share/zoneinfo" \
- $(use_enable !pg_legacytimestamp integer-datetimes) \
- $(use_enable threads thread-safety) \
- $(use_with kerberos gssapi) \
- $(use_with kerberos krb5) \
- $(use_with ldap) \
- $(use_with pam) \
- $(use_with perl) \
- $(use_with python) \
- $(use_with readline) \
- $(use_with ssl openssl) \
- $(use_with tcl) \
- $(use_with uuid ossp-uuid) \
- $(use_with xml libxml) \
- $(use_with xml libxslt) \
- $(use_with zlib) \
- $(use_enable nls nls "'$(l10n_get_locales)'")
-}
-
-src_compile() {
- emake
- emake -C contrib
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- emake DESTDIR="${D}" install -C contrib
-
- dodoc README HISTORY doc/{TODO,bug.template}
-
- # man pages are already built, but if we have the target make them,
- # they'll be generated from source before being installed so we
- # manually install man pages.
- # We use ${SLOT} instead of doman for postgresql.eselect
- insinto /usr/share/postgresql-${SLOT}/man/
- doins -r doc/src/sgml/man{1,3,7}
- if ! use server; then
- # Remove man pages for non-existent binaries
- for m in {initdb,pg_{controldata,ctl,resetxlog},post{gres,master}}; do
- rm "${ED}/usr/share/postgresql-${SLOT}/man/man1/${m}.1"
- done
- fi
- docompress /usr/share/postgresql-${SLOT}/man/man{1,3,7}
-
- # Create slot specific man pages
- local bn f mansec slotted_name
- for mansec in 1 3 7 ; do
- local rel_manpath="../../postgresql-${SLOT}/man/man${mansec}"
-
- mkdir -p "${ED}"/usr/share/man/man${mansec} || die "making man dir"
- pushd "${ED}"/usr/share/man/man${mansec} > /dev/null || die "pushd failed"
-
- for f in "${ED}/usr/share/postgresql-${SLOT}/man/man${mansec}"/* ; do
- bn=$(basename "${f}")
- slotted_name=${bn%.${mansec}}${SLOT/.}.${mansec}
- case ${bn} in
- TABLE.7|WITH.7)
- echo ".so ${rel_manpath}/SELECT.7" > ${slotted_name}
- ;;
- *)
- echo ".so ${rel_manpath}/${bn}" > ${slotted_name}
- ;;
- esac
- done
-
- popd > /dev/null
- done
-
- insinto /etc/postgresql-${SLOT}
- newins src/bin/psql/psqlrc.sample psqlrc
-
- use static-libs || find "${ED}" -name '*.a' -delete
-
- local f bn
- for f in $(find "${ED}/usr/$(get_libdir)/postgresql-${SLOT}/bin" \
- -mindepth 1 -maxdepth 1)
- do
- bn=$(basename "${f}")
- # Temporarily tack on tmp to workaround a file collision
- # issue. This is only necessary for 9.7 and earlier. 10 never
- # had this issue.
- dosym "../$(get_libdir)/postgresql-${SLOT}/bin/${bn}" \
- "/usr/bin/${bn}${SLOT/.}tmp"
- done
-
- if use doc ; then
- docinto html
- dodoc doc/src/sgml/html/*
-
- docinto sgml
- dodoc doc/src/sgml/*.{sgml,dsl}
- fi
-
- if use server; then
- sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
- "${FILESDIR}/${PN}.confd-9.3" | newconfd - ${PN}-${SLOT}
-
- sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
- "${FILESDIR}/${PN}.init-9.3-r1" | newinitd - ${PN}-${SLOT}
-
- if use systemd; then
- sed -e "s|@SLOT@|${SLOT}|g" -e "s|@LIBDIR@|$(get_libdir)|g" \
- "${FILESDIR}/${PN}.service-9.2" | \
- systemd_newunit - ${PN}-${SLOT}.service
- systemd_newtmpfilesd "${FILESDIR}"/${PN}.tmpfiles ${PN}-${SLOT}.conf
- fi
-
- newbin "${FILESDIR}"/${PN}-check-db-dir ${PN}-${SLOT}-check-db-dir
-
- use pam && pamd_mimic system-auth ${PN}-${SLOT} auth account session
-
- if use prefix ; then
- keepdir /run/postgresql
- fperms 1775 /run/postgresql
- fi
- fi
-}
-
-pkg_preinst() {
- # Find all of the slot-specific symlinks, if any, in /usr/bin (e.g.,
- # /usr/bin/psql96). They may have been created by the
- # postgresql.eselect module, but they're handled within this ebuild
- # now. It's alright if we momentarily delete /usr/bin/psql as it
- # will be recreated by the eselect module in pkg_ppostinst(). This
- # is only necessary for 9.7 and earlier. 10 and later were never
- # handled in this manner.
- local canonicalise
- if type -p realpath > /dev/null; then
- canonicalise=realpath
- elif type -p readlink > /dev/null; then
- canonicalise='readlink -f'
- else
- # can't die, subshell
- die "No readlink nor realpath found, cannot canonicalise"
- fi
-
- local l
- # First remove any symlinks in /usr/bin that may have been created
- # by the old eselect
- for l in $(find "${ROOT%/}/usr/bin" -mindepth 1 -maxdepth 1 -type l) ; do
- if [[ $(${canonicalise} "${l}") == *postgresql-${SLOT}* ]] ; then
- rm "${l}" || ewarn "Couldn't remove ${l}"
- fi
- done
-
- # Then move the symlinks created by the ebuild to their proper place.
- for l in "${ED}"/usr/bin/*tmp ; do
- mv "${l}" "${l%tmp}" \
- || ewarn "Couldn't rename $(basename ${l}) to $(basename ${l%tmp})"
- done
-}
-
-pkg_postinst() {
- use server && use systemd && systemd_tmpfiles_create ${PN}-${SLOT}.conf
- postgresql-config update
-
- elog "If you need a global psqlrc-file, you can place it in:"
- elog " ${EROOT%/}/etc/postgresql-${SLOT}/"
-
- if use server ; then
- elog
- elog "Gentoo specific documentation:"
- elog "https://wiki.gentoo.org/wiki/PostgreSQL"
- elog
- elog "Official documentation:"
- elog "https://www.postgresql.org/docs/${SLOT}/static/index.html"
- elog
- elog "The default location of the Unix-domain socket is:"
- elog " ${EROOT%/}/run/postgresql/"
- elog
- elog "Before initializing the database, you may want to edit PG_INITDB_OPTS"
- elog "so that it contains your preferred locale in:"
- elog " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
- elog
- elog "Then, execute the following command to setup the initial database"
- elog "environment:"
- elog " emerge --config =${CATEGORY}/${PF}"
- fi
-}
-
-pkg_prerm() {
- if use server && [[ -z ${REPLACED_BY_VERSION} ]] ; then
- ewarn "Have you dumped and/or migrated the ${SLOT} database cluster?"
- ewarn "\thttps://wiki.gentoo.org/wiki/PostgreSQL/QuickStart#Migrating_PostgreSQL"
-
- ebegin "Resuming removal in 10 seconds (Control-C to cancel)"
- sleep 10
- eend 0
- fi
-}
-
-pkg_postrm() {
- postgresql-config update
-}
-
-pkg_config() {
- use server || die "USE flag 'server' not enabled. Nothing to configure."
-
- [[ -f "${EROOT%/}/etc/conf.d/postgresql-${SLOT}" ]] \
- && source "${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
- [[ -z "${PGDATA}" ]] && PGDATA="${EROOT%/}/etc/postgresql-${SLOT}/"
- [[ -z "${DATA_DIR}" ]] \
- && DATA_DIR="${EROOT%/}/var/lib/postgresql/${SLOT}/data"
-
- # environment.bz2 may not contain the same locale as the current system
- # locale. Unset and source from the current system locale.
- if [ -f "${EROOT%/}/etc/env.d/02locale" ]; then
- unset LANG
- unset LC_CTYPE
- unset LC_NUMERIC
- unset LC_TIME
- unset LC_COLLATE
- unset LC_MONETARY
- unset LC_MESSAGES
- unset LC_ALL
- source "${EROOT%/}/etc/env.d/02locale"
- [ -n "${LANG}" ] && export LANG
- [ -n "${LC_CTYPE}" ] && export LC_CTYPE
- [ -n "${LC_NUMERIC}" ] && export LC_NUMERIC
- [ -n "${LC_TIME}" ] && export LC_TIME
- [ -n "${LC_COLLATE}" ] && export LC_COLLATE
- [ -n "${LC_MONETARY}" ] && export LC_MONETARY
- [ -n "${LC_MESSAGES}" ] && export LC_MESSAGES
- [ -n "${LC_ALL}" ] && export LC_ALL
- fi
-
- einfo "You can modify the paths and options passed to initdb by editing:"
- einfo " ${EROOT%/}/etc/conf.d/postgresql-${SLOT}"
- einfo
- einfo "Information on options that can be passed to initdb are found at:"
- einfo " https://www.postgresql.org/docs/${SLOT}/static/creating-cluster.html"
- einfo " https://www.postgresql.org/docs/${SLOT}/static/app-initdb.html"
- einfo
- einfo "PG_INITDB_OPTS is currently set to:"
- if [[ -z "${PG_INITDB_OPTS}" ]] ; then
- einfo " (none)"
- else
- einfo " ${PG_INITDB_OPTS}"
- fi
- einfo
- einfo "Configuration files will be installed to:"
- einfo " ${PGDATA}"
- einfo
- einfo "The database cluster will be created in:"
- einfo " ${DATA_DIR}"
- einfo
-
- ebegin "Continuing initialization in 5 seconds (Control-C to cancel)"
- sleep 5
- eend 0
-
- if [ -n "$(ls -A ${DATA_DIR} 2> /dev/null)" ] ; then
- eerror "The given directory, '${DATA_DIR}', is not empty."
- eerror "Modify DATA_DIR to point to an empty directory."
- die "${DATA_DIR} is not empty."
- fi
-
- einfo "Creating the data directory ..."
- if [[ ${EUID} == 0 ]] ; then
- mkdir -p "${DATA_DIR}"
- chown -Rf postgres:postgres "${DATA_DIR}"
- chmod 0700 "${DATA_DIR}"
- fi
-
- einfo "Initializing the database ..."
-
- if [[ ${EUID} == 0 ]] ; then
- su postgres -c "${EROOT%/}/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -D \"${DATA_DIR}\" ${PG_INITDB_OPTS}"
- else
- "${EROOT%/}"/usr/$(get_libdir)/postgresql-${SLOT}/bin/initdb -U postgres -D "${DATA_DIR}" ${PG_INITDB_OPTS}
- fi
-
- if [[ "${DATA_DIR%/}" != "${PGDATA%/}" ]] ; then
- mv "${DATA_DIR%/}"/{pg_{hba,ident},postgresql}.conf "${PGDATA}"
- ln -s "${PGDATA%/}"/{pg_{hba,ident},postgresql}.conf "${DATA_DIR%/}"
- fi
-
- # unix_socket_directory has no effect in postgresql.conf as it's
- # overridden in the initscript
- sed '/^#unix_socket_directories/,+1d' -i "${PGDATA%/}"/postgresql.conf
-
- cat <<- EOF >> "${PGDATA%/}"/postgresql.conf
- # This is here because of https://bugs.gentoo.org/show_bug.cgi?id=518522
- # On the off-chance that you might need to work with UTF-8 encoded
- # characters in PL/Perl
- plperl.on_init = 'use utf8; use re; package utf8; require "utf8_heavy.pl";'
- EOF
-
- einfo "The autovacuum function, which was in contrib, has been moved to the main"
- einfo "PostgreSQL functions starting with 8.1, and starting with 8.4 is now enabled"
- einfo "by default. You can disable it in the cluster's:"
- einfo " ${PGDATA%/}/postgresql.conf"
- einfo
- einfo "The PostgreSQL server, by default, will log events to:"
- einfo " ${DATA_DIR%/}/postmaster.log"
- einfo
- if use prefix ; then
- einfo "The location of the configuration files have moved to:"
- einfo " ${PGDATA}"
- einfo "To start the server:"
- einfo " pg_ctl start -D ${DATA_DIR} -o '-D ${PGDATA} --data-directory=${DATA_DIR}'"
- einfo "To stop:"
- einfo " pg_ctl stop -D ${DATA_DIR}"
- einfo
- einfo "Or move the configuration files back:"
- einfo "mv ${PGDATA}*.conf ${DATA_DIR}"
- else
- einfo "You should use the '${EROOT%/}/etc/init.d/postgresql-${SLOT}' script to run PostgreSQL"
- einfo "instead of 'pg_ctl'."
- fi
-}
-
-src_test() {
- if use server && [[ ${UID} -ne 0 ]] ; then
- emake check
-
- einfo "If you think other tests besides the regression tests are necessary, please"
- einfo "submit a bug including a patch for this ebuild to enable them."
- else
- use server || \
- ewarn 'Tests cannot be run without the "server" use flag enabled.'
- [[ ${UID} -eq 0 ]] || \
- ewarn 'Tests cannot be run as root. Enable "userpriv" in FEATURES.'
-
- ewarn 'Skipping.'
- fi
-}