diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-04 16:47:34 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-04 16:47:34 -0500 |
| commit | dda948891d3731927b821ce31f9d9a2d03ba20c5 (patch) | |
| tree | 99cd40be4cbb0606260da212cd81b8ab2db9da9b /dev-db/pgpool2 | |
| parent | a3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7 (diff) | |
| download | baldeagleos-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/Manifest | 2 | ||||
| -rw-r--r-- | dev-db/pgpool2/files/pgpool-4.2.0-configure-memcached.patch | 60 | ||||
| -rw-r--r-- | dev-db/pgpool2/files/pgpool-4.2.0-configure-pthread.patch | 14 | ||||
| -rw-r--r-- | dev-db/pgpool2/files/pgpool-configure-pam.patch | 25 | ||||
| -rw-r--r-- | dev-db/pgpool2/files/pgpool2.confd | 17 | ||||
| -rw-r--r-- | dev-db/pgpool2/files/pgpool2.initd | 80 | ||||
| -rw-r--r-- | dev-db/pgpool2/metadata.xml | 16 | ||||
| -rw-r--r-- | dev-db/pgpool2/pgpool2-4.7.0.ebuild | 100 | ||||
| -rw-r--r-- | dev-db/pgpool2/pgpool2-4.7.1.ebuild | 100 |
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 {} + +} |
