summaryrefslogtreecommitdiff
path: root/dev-db/pgpool2
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-04 16:47:34 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-04 16:47:34 -0500
commitdda948891d3731927b821ce31f9d9a2d03ba20c5 (patch)
tree99cd40be4cbb0606260da212cd81b8ab2db9da9b /dev-db/pgpool2
parenta3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7 (diff)
downloadbaldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.gz
baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.xz
baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.zip
Adding metadata
Diffstat (limited to 'dev-db/pgpool2')
-rw-r--r--dev-db/pgpool2/Manifest2
-rw-r--r--dev-db/pgpool2/files/pgpool-4.2.0-configure-memcached.patch60
-rw-r--r--dev-db/pgpool2/files/pgpool-4.2.0-configure-pthread.patch14
-rw-r--r--dev-db/pgpool2/files/pgpool-configure-pam.patch25
-rw-r--r--dev-db/pgpool2/files/pgpool2.confd17
-rw-r--r--dev-db/pgpool2/files/pgpool2.initd80
-rw-r--r--dev-db/pgpool2/metadata.xml16
-rw-r--r--dev-db/pgpool2/pgpool2-4.7.0.ebuild100
-rw-r--r--dev-db/pgpool2/pgpool2-4.7.1.ebuild100
9 files changed, 414 insertions, 0 deletions
diff --git a/dev-db/pgpool2/Manifest b/dev-db/pgpool2/Manifest
new file mode 100644
index 000000000000..3094ed5ddbaf
--- /dev/null
+++ b/dev-db/pgpool2/Manifest
@@ -0,0 +1,2 @@
+DIST pgpool-II-4.7.0.tar.gz 5608097 BLAKE2B 2f49c1eee0dd24953954aaee5b4052c16d74c9603576ab15fe550434c68283112ad57cba74a4a48d2fb5254238bb50041965dae96e4ffae46b7d429bf5c35d2b SHA512 0daf3f4f6420f73acdc91ca85addcac7b5f72d26d29b3172e6b8870a8657afc1752dcad80db4d7164be2c4dbe7ea023334277b937546c0ea26874454f28c45fc
+DIST pgpool-II-4.7.1.tar.gz 5644919 BLAKE2B 8fd780b3576c20f45b2327a57ce7a959ed16a40a8361a192d997d7a6fedc20610af3e3a7a3012f1458eaf1a18ab3aa26d2a7ecea7471a270936b6607c473056a SHA512 125578a08d5f6c804465329af68ac2f20ad9f622019355587093f47e743e9938861d60072820ae266ec4669232f3135ce6c83bdba45a496db912288c8044a83f
diff --git a/dev-db/pgpool2/files/pgpool-4.2.0-configure-memcached.patch b/dev-db/pgpool2/files/pgpool-4.2.0-configure-memcached.patch
new file mode 100644
index 000000000000..9854e45e3a22
--- /dev/null
+++ b/dev-db/pgpool2/files/pgpool-4.2.0-configure-memcached.patch
@@ -0,0 +1,60 @@
+diff -Naruw pgpool-II-4.2.0.orig/configure.ac pgpool-II-4.2.0/configure.ac
+--- pgpool-II-4.2.0.orig/configure.ac 2020-11-25 20:25:42.000000000 -0500
++++ pgpool-II-4.2.0/configure.ac 2020-12-16 06:36:26.051076452 -0500
+@@ -392,37 +392,24 @@
+ fi
+
+
+-AC_ARG_WITH(memcached,
+- [ --with-memcached=DIR site header files for libmemcached in DIR],
+- [
+- case "$withval" in
+- "" | y | ye | yes | n | no)
+- AC_MSG_ERROR([*** You must supply an argument to the --with-memcached option.])
+- ;;
+- *)
+-
+- MEMCACHED_INCLUDE_DIR="$withval"/include
+- MEMCACHED_LIB_DIR="$withval"/lib
+- OLD_CFLAGS="$CFLAGS"
+- CFLAGS="$CFLAGS -I$MEMCACHED_INCLUDE_DIR"
++AC_ARG_WITH([memcached],
++ AS_HELP_STRING([--with-memcached], [Build with memcached support]))
++AS_IF([test "x$with_memcached" = "xyes"], [
++ PKG_CHECK_MODULES([MEMCACHED], [libmemcached])
++ CFLAGS="$CFLAGS $MEMCACHED_CFLAGS"
++ LIBS="$LIBS $MEMCACHED_LIBS"
++
+ AC_CHECK_HEADERS(
+ [libmemcached/memcached.h],
+ [AC_DEFINE([USE_MEMCACHED], 1, [Define to 1 to build with memcached support])],
+- [AC_MSG_ERROR([header file <libmemcached/memcached.h> is required for memcached support])])
+- CFLAGS=$OLD_CFLAGS
+- AC_CHECK_LIB(memcached, memcached_create, [], [AC_MSG_ERROR(libmemcached is not installed)])
+- MEMCACHED_INCLUDE_OPT="-I $MEMCACHED_INCLUDE_DIR"
+- MEMCACHED_LINK_OPT="-L$MEMCACHED_LIB_DIR"
+- MEMCACHED_RPATH_OPT="-rpath $MEMCACHED_LIB_DIR"
+- ;;
+- esac
++ [AC_MSG_ERROR([Couldn't find <libmemcached/memcached.h>])])
++
++ AC_SEARCH_LIBS(memcached_create, [], [],
++ [AC_MSG_ERROR(libmemcached is not installed)])
+ ])
+
+ CFLAGS="$CFLAGS -fno-strict-aliasing"
+
+-AC_SUBST(MEMCACHED_INCLUDE_OPT)
+-AC_SUBST(MEMCACHED_LINK_OPT)
+-AC_SUBST(MEMCACHED_RPATH_OPT)
+
+ OLD_LDFLAGS="$LDFLAGS"
+ LDFLAGS="-L$PGSQL_LIB_DIR $LDFLAGS"
+@@ -435,7 +422,6 @@
+ AC_SUBST(PGSQL_INCLUDE_DIR)
+ AC_SUBST(PGSQL_LIB_DIR)
+ AC_SUBST(PGSQL_BIN_DIR)
+-AC_SUBST(MEMCACHED_DIR)
+
+ # --enable(disable)-rpath option
+ AC_ARG_ENABLE(rpath,
diff --git a/dev-db/pgpool2/files/pgpool-4.2.0-configure-pthread.patch b/dev-db/pgpool2/files/pgpool-4.2.0-configure-pthread.patch
new file mode 100644
index 000000000000..842fd5fbad73
--- /dev/null
+++ b/dev-db/pgpool2/files/pgpool-4.2.0-configure-pthread.patch
@@ -0,0 +1,14 @@
+diff -Naruw pgpool-II-4.2.0.orig/configure.ac pgpool-II-4.2.0/configure.ac
+--- pgpool-II-4.2.0.orig/configure.ac 2020-11-25 20:25:42.000000000 -0500
++++ pgpool-II-4.2.0/configure.ac 2020-12-16 06:40:11.150611861 -0500
+@@ -4,6 +4,10 @@
+ dnl Checks for programs.
+ AC_PROG_CC
+ AC_PROG_CC_C99()
++AX_PTHREAD
++LIBS="$PTHREAD_LIBS $LIBS"
++CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
++CC="$PTHREAD_CC"
+
+ # Error out if the compiler does not support C99, as the codebase
+ # relies on that.
diff --git a/dev-db/pgpool2/files/pgpool-configure-pam.patch b/dev-db/pgpool2/files/pgpool-configure-pam.patch
new file mode 100644
index 000000000000..3a8e89dde307
--- /dev/null
+++ b/dev-db/pgpool2/files/pgpool-configure-pam.patch
@@ -0,0 +1,25 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -330,11 +330,13 @@
+
+-AC_ARG_WITH(pam,
+- [ --with-pam build with PAM support],
+- [AC_DEFINE([USE_PAM], 1, [Define to 1 to build with PAM support. (--with-pam)])])
+-if test "$with_pam" = yes ; then
+- AC_CHECK_LIB(pam, pam_start, [], [AC_MSG_ERROR([library 'pam' is required for PAM])])
+- AC_CHECK_HEADERS(security/pam_appl.h, [],
+- [AC_CHECK_HEADERS(pam/pam_appl.h, [],
+- [AC_MSG_ERROR([header file <security/pam_appl.h> or <pam/pam_appl.h> is required for PAM.])])])
+-fi
++AC_ARG_WITH([pam], AS_HELP_STRING([--with-pam], [Build with PAM support]))
++
++AS_IF([test "x$with_pam" = "xyes"], [
++ AC_DEFINE([USE_PAM], 1, [Define to 1 to build with PAM support])
++ AC_CHECK_LIB(pam, pam_start, [], [AC_MSG_ERROR([library 'pam' is required for PAM])])
++ AC_CHECK_HEADERS(security/pam_appl.h,
++ [],
++ [AC_CHECK_HEADERS(pam/pam_appl.h, [],
++ [AC_MSG_ERROR([header file <security/pam_appl.h> or <pam/pam_appl.h> is required for PAM.])])])
++
++])
+
diff --git a/dev-db/pgpool2/files/pgpool2.confd b/dev-db/pgpool2/files/pgpool2.confd
new file mode 100644
index 000000000000..b2dd2a69e02e
--- /dev/null
+++ b/dev-db/pgpool2/files/pgpool2.confd
@@ -0,0 +1,17 @@
+# 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
+
+# Forecfully 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.
+# Set FORCE_QUIT to "YES" to enable. FORCE_TIMEOUT in seconds.
+FORCE_QUIT="NO"
+FORCE_TIMEOUT=2 \ No newline at end of file
diff --git a/dev-db/pgpool2/files/pgpool2.initd b/dev-db/pgpool2/files/pgpool2.initd
new file mode 100644
index 000000000000..73db4dd8b3c8
--- /dev/null
+++ b/dev-db/pgpool2/files/pgpool2.initd
@@ -0,0 +1,80 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_started_commands="reload"
+
+CONFIGFILE="/etc/pgpool2/pgpool.conf"
+LOGFILE="/var/log/pgpool2.log"
+
+depend() {
+ use net
+ use postgresql
+ after logger
+}
+
+get_config() {
+ [ -f ${CONFIGFILE} ] || return 1
+
+ eval echo $(sed -e 's:#.*::' ${CONFIGFILE} | \
+ awk '$1 == "'$1'" { print ($2 == "=" ? $3 : $2) }')
+}
+
+PIDFILE="$(get_config pid_file_name)"
+: ${PIDFILE:='/run/pgpool/pgpool.pid'}
+
+start_pre() {
+ # $logdir contains status file(s), not log files.
+ local logdir=$(get_config logdir)
+ local socket_dir=$(get_config socket_dir)
+ local pcp_socket_dir=$(get_config pcp_socket_dir)
+
+ checkpath -o pgpool:postgres -m 0770 -d $(dirname ${PIDFILE}) || return 1
+ checkpath -o pgpool:postgres -m 0770 -d ${logdir:-'/var/lib/pgpool'} || return 1
+ checkpath -o pgpool:postgres -m 0660 -f ${LOGFILE} || return 1
+ checkpath -o root:postgres -m 1775 \
+ -d ${socket_dir:-'/run/postgresql'} || return 1
+ checkpath -o pgpool:postgres -m 0770 \
+ -d ${pcp_socket_dir:-'/run/postgresql/pgpool'} || return 1
+}
+
+start() {
+ ebegin "Starting pgpool2"
+
+ start-stop-daemon --start \
+ --user pgpool:postgres \
+ --pidfile ${PIDFILE} \
+ --exec /usr/bin/pgpool
+
+ eend
+}
+
+stop() {
+ local seconds=$(( ${NICE_TIMEOUT} + ${RUDE_TIMEOUT} + ${FORCE_TIMEOUT} ))
+ ebegin "Stopping pgpool (this can take up to ${seconds} seconds)"
+
+ local retval
+ local retries=SIGTERM/${NICE_TIMEOUT}
+
+ if [ "${RUDE_QUIT}" != "NO" ] ; then
+ einfo "RUDE_QUIT enabled."
+ retries="${retries}/SIGINT/${RUDE_TIMEOUT}"
+ fi
+ if [ "${FORCE_QUIT}" = "YES" ] ; then
+ einfo "FORCE_QUIT enabled."
+ ewarn "A recover-run might be executed on next startup."
+ retries="${retries}/SIGQUIT/${FORCE_TIMEOUT}"
+ fi
+
+ # Loops through nice, rude, and force quit in one go.
+ start-stop-daemon --stop \
+ --pidfile ${PIDFILE} \
+ --retry ${retries}
+
+ eend
+}
+
+reload() {
+ start-stop-daemon --signal HUP \
+ --pidfile ${PIDFILE}
+}
diff --git a/dev-db/pgpool2/metadata.xml b/dev-db/pgpool2/metadata.xml
new file mode 100644
index 000000000000..73eac71a74a6
--- /dev/null
+++ b/dev-db/pgpool2/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>dev@liguros.net</email>
+ <name>Development</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>pgsql-bugs@gentoo.org</email>
+ <name>PostgreSQL and Related Package Development</name>
+ </maintainer>
+ <use>
+ <flag name="memcached">Use memcached for query caching.</flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/dev-db/pgpool2/pgpool2-4.7.0.ebuild b/dev-db/pgpool2/pgpool2-4.7.0.ebuild
new file mode 100644
index 000000000000..887ac89d2df7
--- /dev/null
+++ b/dev-db/pgpool2/pgpool2-4.7.0.ebuild
@@ -0,0 +1,100 @@
+# Copyright 2021-2025 Liguros Authors
+# Distributed under the terms of the GNU General Public License v2
+EAPI=8
+
+POSTGRES_COMPAT=( 14 15 16 17 18 )
+
+inherit autotools flag-o-matic postgres-multi
+
+MY_P="${PN/2/-II}-${PV}"
+
+DESCRIPTION="Connection pool server for PostgreSQL"
+HOMEPAGE="https://www.pgpool.net/"
+SRC_URI="https://www.pgpool.net/download.php?f=${MY_P}.tar.gz -> ${MY_P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc memcached pam ssl static-libs"
+
+RDEPEND="
+ ${POSTGRES_DEP}
+ net-libs/libnsl:0=
+ memcached? ( dev-libs/libmemcached )
+ pam? ( sys-auth/pambase )
+ ssl? (
+ dev-libs/openssl:0=
+
+ )
+ acct-user/pgpool
+ virtual/libcrypt
+"
+DEPEND="
+ ${RDEPEND}
+ sys-devel/bison
+ virtual/pkgconfig
+"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+ postgres-multi_pkg_setup
+}
+
+src_prepare() {
+ eapply \
+ "${FILESDIR}/pgpool-4.2.0-configure-memcached.patch" \
+ "${FILESDIR}/pgpool-configure-pam.patch" \
+ "${FILESDIR}/pgpool-4.2.0-configure-pthread.patch" \
+
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ # bug #946410
+ append-cflags -std=gnu17
+ # Usual always_inline problem
+ filter-flags -fno-semantic-interposition
+
+ postgres-multi_foreach econf \
+ --disable-rpath \
+ --sysconfdir="${EROOT}/etc/${PN}" \
+ --with-pgsql-includedir='/usr/include/postgresql-@PG_SLOT@' \
+ --with-pgsql-libdir="/usr/$(get_libdir)/postgresql-@PG_SLOT@/$(get_libdir)" \
+ $(use_enable static-libs static) \
+ $(use_with memcached) \
+ $(use_with pam) \
+ $(use_with ssl openssl)
+}
+
+src_compile() {
+ # Even though we're only going to do an install for the best slot
+ # available, the extension bits in src/sql need some things outside
+ # of that directory built, too.
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C src/sql
+}
+
+src_install() {
+ # We only need the best stuff installed
+ postgres-multi_forbest emake DESTDIR="${D}" install
+
+ # Except for the extension and .so files that each PostgreSQL slot needs
+ postgres-multi_foreach emake DESTDIR="${D}" -C src/sql install
+
+ newinitd "${FILESDIR}/${PN}.initd" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+
+ # Documentation!
+ dodoc NEWS TODO
+ doman doc/src/sgml/man{1,8}/*
+ use doc && dodoc -r doc/src/sgml/html
+
+ # mv some files that get installed to /usr/share/pgpool-II so that
+ # they all wind up in the same place
+ mv "${ED}/usr/share/${PN/2/-II}" "${ED}/usr/share/${PN}" || die
+
+ # One more thing: Evil la files!
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}
diff --git a/dev-db/pgpool2/pgpool2-4.7.1.ebuild b/dev-db/pgpool2/pgpool2-4.7.1.ebuild
new file mode 100644
index 000000000000..bcdf2ed128ad
--- /dev/null
+++ b/dev-db/pgpool2/pgpool2-4.7.1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 2021-2026 Liguros Authors
+# Distributed under the terms of the GNU General Public License v2
+EAPI=8
+
+POSTGRES_COMPAT=( 14 15 16 17 18 )
+
+inherit autotools flag-o-matic postgres-multi
+
+MY_P="${PN/2/-II}-${PV}"
+
+DESCRIPTION="Connection pool server for PostgreSQL"
+HOMEPAGE="https://www.pgpool.net/"
+SRC_URI="https://www.pgpool.net/download.php?f=${MY_P}.tar.gz -> ${MY_P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc memcached pam ssl static-libs"
+
+RDEPEND="
+ ${POSTGRES_DEP}
+ net-libs/libnsl:0=
+ memcached? ( dev-libs/libmemcached )
+ pam? ( sys-auth/pambase )
+ ssl? (
+ dev-libs/openssl:0=
+
+ )
+ acct-user/pgpool
+ virtual/libcrypt
+"
+DEPEND="
+ ${RDEPEND}
+ sys-devel/bison
+ virtual/pkgconfig
+"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+ postgres-multi_pkg_setup
+}
+
+src_prepare() {
+ eapply \
+ "${FILESDIR}/pgpool-4.2.0-configure-memcached.patch" \
+ "${FILESDIR}/pgpool-configure-pam.patch" \
+ "${FILESDIR}/pgpool-4.2.0-configure-pthread.patch" \
+
+ eautoreconf
+
+ postgres-multi_src_prepare
+}
+
+src_configure() {
+ # bug #946410
+ append-cflags -std=gnu17
+ # Usual always_inline problem
+ filter-flags -fno-semantic-interposition
+
+ postgres-multi_foreach econf \
+ --disable-rpath \
+ --sysconfdir="${EROOT}/etc/${PN}" \
+ --with-pgsql-includedir='/usr/include/postgresql-@PG_SLOT@' \
+ --with-pgsql-libdir="/usr/$(get_libdir)/postgresql-@PG_SLOT@/$(get_libdir)" \
+ $(use_enable static-libs static) \
+ $(use_with memcached) \
+ $(use_with pam) \
+ $(use_with ssl openssl)
+}
+
+src_compile() {
+ # Even though we're only going to do an install for the best slot
+ # available, the extension bits in src/sql need some things outside
+ # of that directory built, too.
+ postgres-multi_foreach emake
+ postgres-multi_foreach emake -C src/sql
+}
+
+src_install() {
+ # We only need the best stuff installed
+ postgres-multi_forbest emake DESTDIR="${D}" install
+
+ # Except for the extension and .so files that each PostgreSQL slot needs
+ postgres-multi_foreach emake DESTDIR="${D}" -C src/sql install
+
+ newinitd "${FILESDIR}/${PN}.initd" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd" ${PN}
+
+ # Documentation!
+ dodoc NEWS TODO
+ doman doc/src/sgml/man{1,8}/*
+ use doc && dodoc -r doc/src/sgml/html
+
+ # mv some files that get installed to /usr/share/pgpool-II so that
+ # they all wind up in the same place
+ mv "${ED}/usr/share/${PN/2/-II}" "${ED}/usr/share/${PN}" || die
+
+ # One more thing: Evil la files!
+ find "${ED}" -name '*.la' -exec rm -f {} +
+}