git: 6741435a4889 - main - databases/pgpool-II-45: New port

From: Muhammad Moinur Rahman <bofh_at_FreeBSD.org>
Date: Thu, 29 Feb 2024 19:53:04 UTC
The branch main has been updated by bofh:

URL: https://cgit.FreeBSD.org/ports/commit/?id=6741435a48892bb8a4dcbab2bf8ce66fdb327911

commit 6741435a48892bb8a4dcbab2bf8ce66fdb327911
Author:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
AuthorDate: 2024-02-29 17:09:14 +0000
Commit:     Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2024-02-29 19:52:20 +0000

    databases/pgpool-II-45: New port
    
    pgpool is a connection pool server for PostgreSQL. pgpool runs between
    PostgreSQL's clients(front ends) and servers(back ends). A PostgreSQL
    client can connect to pgpool as if it were a standard PostgreSQL server.
    
    pgpool caches the connection to PostgreSQL server to reduce the overhead
    to establish the connection to it.
    
    This is the 4.5.X series of the port.
    
    WWW: https://pgpool.net
---
 databases/Makefile                     |  1 +
 databases/pgpool-II-45/Makefile        | 50 ++++++++++++++++++++++++++++++++++
 databases/pgpool-II-45/distinfo        |  3 ++
 databases/pgpool-II-45/files/pgpool.in | 48 ++++++++++++++++++++++++++++++++
 databases/pgpool-II-45/pkg-descr       |  6 ++++
 databases/pgpool-II-45/pkg-message     | 15 ++++++++++
 databases/pgpool-II-45/pkg-plist       | 43 +++++++++++++++++++++++++++++
 7 files changed, 166 insertions(+)

diff --git a/databases/Makefile b/databases/Makefile
index fa3aae96d0d4..65bee2e0b2e6 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -564,6 +564,7 @@
     SUBDIR += pgpool-II-42
     SUBDIR += pgpool-II-43
     SUBDIR += pgpool-II-44
+    SUBDIR += pgpool-II-45
     SUBDIR += pgreplay
     SUBDIR += pgroonga
     SUBDIR += pgrouting
diff --git a/databases/pgpool-II-45/Makefile b/databases/pgpool-II-45/Makefile
new file mode 100644
index 000000000000..ca282f2ef646
--- /dev/null
+++ b/databases/pgpool-II-45/Makefile
@@ -0,0 +1,50 @@
+PORTNAME=	pgpool-II
+PORTVERSION=	4.5.0
+CATEGORIES=	databases
+MASTER_SITES=	http://www.pgpool.net/mediawiki/images/
+PKGNAMESUFFIX=	-45
+
+MAINTAINER=	bofh@FreeBSD.org
+COMMENT=	Connection pool server for PostgreSQL (4.4.X branch)
+WWW=		https://pgpool.net/
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+USES=		gmake libtool pgsql:12+
+USE_LDCONFIG=	yes
+USE_RC_SUBR=	pgpool
+
+GNU_CONFIGURE=	yes
+
+CONFLICTS_INSTALL=	pgpool-II-[0-9][0-9] pgpool-II[0-9][0-9] # etc/escalation.sh.sample etc/failover.sh.sample etc/pcp.conf.sample
+
+PORTSCOUT=	limit:^4.4.[0-9]*
+
+PORTDOCS=	*
+
+OPTIONS_DEFINE=		DOCS MEMCACHED PAM SSL
+OPTIONS_DEFAULT=	SSL
+
+MEMCACHED_DESC=	Use memcached for in memory query cache
+PAM_DESC=	Build with PAM support
+SSL_DESC=	Build with OpenSSL support
+
+MEMCACHED_LIB_DEPENDS=	libmemcached.so:databases/libmemcached
+MEMCACHED_CONFIGURE_ON=	--with-memcached=${LOCALBASE}/include
+PAM_CONFIGURE_ON=	--with-pam
+SSL_USES=		ssl
+SSL_CONFIGURE_WITH=	openssl
+
+post-install:
+	@${MKDIR} ${STAGEDIR}/var/run/pgpool
+	${INSTALL_LIB} ${WRKSRC}/src/libs/pcp/.libs/libpcp.so.2.0.0 ${STAGEDIR}${PREFIX}/lib
+
+post-install-DOCS-on:
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
+	cd ${WRKSRC} && ${COPYTREE_SHARE} doc ${STAGEDIR}${DOCSDIR} "-not -name Makefile.\*"
+.for f in AUTHORS ChangeLog NEWS TODO
+	${INSTALL_DATA} ${WRKSRC}/$f ${STAGEDIR}${DOCSDIR}
+.endfor
+
+.include <bsd.port.mk>
diff --git a/databases/pgpool-II-45/distinfo b/databases/pgpool-II-45/distinfo
new file mode 100644
index 000000000000..c2c9106a1322
--- /dev/null
+++ b/databases/pgpool-II-45/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1709226440
+SHA256 (pgpool-II-4.5.0.tar.gz) = 5984aecdf2520872900356aced0c9aa6e96537c2e82297c6593ed9019118451a
+SIZE (pgpool-II-4.5.0.tar.gz) = 5138556
diff --git a/databases/pgpool-II-45/files/pgpool.in b/databases/pgpool-II-45/files/pgpool.in
new file mode 100644
index 000000000000..cb76557e2e57
--- /dev/null
+++ b/databases/pgpool-II-45/files/pgpool.in
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+# PROVIDE: pgpool
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# pgpool_enable (bool):         Set to NO by default.
+#                               Set it to YES to enable pgpool.
+# pgpool_conf (file):           Set location of your config.
+#                               Default is "%%PREFIX%%/etc/pgpool.conf"
+# pgpool_hba (file):           Set location of your pool hba file.
+#               Default is "%%PREFIX%%/etc/pool_hba.conf"
+# pgpool_pcp (file):           Set location of your pcp conf file.
+#               Default is "%%PREFIX%%/etc/pcp.conf"
+# pgpool_user (uid):            User ID to run as (default nobody)
+# pgpool_stop_mode (string):    Shutdown mode
+#                               Default is "smart"
+#                               Possibilities are "smart", "fast", or "immediate"
+#
+
+. /etc/rc.subr
+
+name=pgpool
+rcvar=pgpool_enable
+
+load_rc_config $name
+
+: ${pgpool_enable="NO"}
+: ${pgpool_conf="%%PREFIX%%/etc/pgpool.conf"}
+: ${pgpool_hba="%%PREFIX%%/etc/pool_hba.conf"}
+: ${pgpool_pcp="%%PREFIX%%/etc/pcp.conf"}
+: ${pgpool_user="nobody"}
+: ${pgpool_stop_mode="smart"}
+
+command="%%PREFIX%%/bin/pgpool"
+command_args="-f ${pgpool_conf} -a ${pgpool_hba} -F ${pgpool_pcp}"
+stop_cmd="${command} -m ${pgpool_stop_mode} ${command_args} stop"
+reload_cmd="${command} ${command_args} reload"
+extra_commands="reload"
+
+required_files="${pgpool_conf}"
+
+
+run_rc_command "$1"
+
diff --git a/databases/pgpool-II-45/pkg-descr b/databases/pgpool-II-45/pkg-descr
new file mode 100644
index 000000000000..59d385596b8e
--- /dev/null
+++ b/databases/pgpool-II-45/pkg-descr
@@ -0,0 +1,6 @@
+pgpool is a connection pool server for PostgreSQL. pgpool runs between
+PostgreSQL's clients(front ends) and servers(back ends). A PostgreSQL client can
+connect to pgpool as if it were a standard PostgreSQL server.
+
+pgpool caches the connection to PostgreSQL server to reduce the overhead to
+establish the connection to it.
diff --git a/databases/pgpool-II-45/pkg-message b/databases/pgpool-II-45/pkg-message
new file mode 100644
index 000000000000..1df287cd433a
--- /dev/null
+++ b/databases/pgpool-II-45/pkg-message
@@ -0,0 +1,15 @@
+[
+{ type: install
+  message: <<EOM
+In order to start pgpool you need some more configuration:
+
+# sysrc -f /etc/rc.conf pgpool_enable="YES"
+# sysrc -f /etc/rc.conf pgpool_user="root"
+
+Please consider the usage of another user. The user is
+required to have read/write access to /var/run/pgpool.
+
+Using the root user is - as always - an security issue.
+EOM
+}
+]
diff --git a/databases/pgpool-II-45/pkg-plist b/databases/pgpool-II-45/pkg-plist
new file mode 100644
index 000000000000..b36861c8ffe1
--- /dev/null
+++ b/databases/pgpool-II-45/pkg-plist
@@ -0,0 +1,43 @@
+bin/pcp_attach_node
+bin/pcp_detach_node
+bin/pcp_health_check_stats
+bin/pcp_node_count
+bin/pcp_node_info
+bin/pcp_pool_status
+bin/pcp_proc_count
+bin/pcp_proc_info
+bin/pcp_promote_node
+bin/pcp_recovery_node
+bin/pcp_reload_config
+bin/pcp_stop_pgpool
+bin/pcp_watchdog_info
+bin/pg_enc
+bin/pg_md5
+bin/pgpool
+bin/pgpool_setup
+bin/pgproto
+bin/watchdog_setup
+bin/wd_cli
+@sample etc/aws_eip_if_cmd.sh.sample
+@sample etc/aws_rtb_if_cmd.sh.sample
+@sample etc/escalation.sh.sample
+@sample etc/failover.sh.sample
+@sample etc/follow_primary.sh.sample
+@sample etc/pcp.conf.sample
+@sample etc/pgpool.conf.sample
+@sample etc/pgpool_remote_start.sample
+@sample etc/pool_hba.conf.sample
+@sample etc/replication_mode_recovery_1st_stage.sample
+@sample etc/replication_mode_recovery_2nd_stage.sample
+etc/recovery_1st_stage.sample
+include/libpcp_ext.h
+include/pcp.h
+include/pool_process_reporting.h
+include/pool_type.h
+lib/libpcp.a
+lib/libpcp.so
+lib/libpcp.so.2
+lib/libpcp.so.2.0.0
+%%DATADIR%%/insert_lock.sql
+%%DATADIR%%/pgpool.pam
+@dir /var/run/pgpool