diff options
author | Miroslav Šulc <fordfrog@gentoo.org> | 2021-08-09 07:17:59 +0200 |
---|---|---|
committer | Miroslav Šulc <fordfrog@gentoo.org> | 2021-08-09 07:17:59 +0200 |
commit | cdf2a14993f7fd186944abb737402b98b16faf00 (patch) | |
tree | dec4d9c3b857af8875ca5a789138dbf9749dcc28 | |
parent | app-cdr/mdf2iso: eapi7 (diff) | |
download | fordfrog-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/Manifest | 6 | ||||
-rw-r--r-- | dev-db/postgresql/files/postgresql-9.3-no-server.patch | 144 | ||||
-rw-r--r-- | dev-db/postgresql/files/postgresql-check-db-dir | 35 | ||||
-rw-r--r-- | dev-db/postgresql/files/postgresql.confd-9.3 | 65 | ||||
-rw-r--r-- | dev-db/postgresql/files/postgresql.init-9.3-r1 | 157 | ||||
-rw-r--r-- | dev-db/postgresql/postgresql-9.3.25.ebuild | 443 |
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 -} |