databases/proxysql: Update to 3.0.6

This commit is contained in:
Ryan Steinmetz
2026-03-19 10:58:40 -04:00
parent e5e62a8253
commit 4e305910ee
10 changed files with 113 additions and 47 deletions
+21 -7
View File
@@ -1,6 +1,5 @@
PORTNAME= proxysql
PORTVERSION= 2.6.6
PORTREVISION= 1
PORTVERSION= 3.0.6
CATEGORIES= databases
MAINTAINER= zi@FreeBSD.org
@@ -17,19 +16,18 @@ BUILD_DEPENDS= aclocal:devel/automake \
ggrep:textproc/gnugrep \
libgcrypt>0:security/libgcrypt \
libtoolize:devel/libtool \
libevent>0:devel/libevent \
gnutls>0:security/gnutls
LIB_DEPENDS= libuuid.so:misc/libuuid
RUN_DEPENDS= libgcrypt>0:security/libgcrypt \
gnutls>0:security/gnutls
USES= compiler:c++11-lang gmake libtool perl5 python:build shebangfix
USES= bison:build compiler:c++11-lang gmake libtool perl5 pkgconfig python:build ssl
USE_PERL5= build
USE_GCC= yes
MAKE_ENV= GIT_VERSION=${PORTVERSION}
MAKE_ENV= GIT_VERSION="${PORTVERSION}" SOURCE_DATE_EPOCH="$$(date +%s)"
USE_GITHUB= yes
ALL_TARGET= build_deps default
SHEBANG_FILES= deps/libssl/verify-bio_st-match.sh
CFLAGS+= -DEV_USE_INOTIFY=0
LDFLAGS+= -L${LOCALBASE}/lib
BINARY_ALIAS= python3=${PYTHON_CMD}
USE_RC_SUBR= ${PORTNAME}
@@ -39,6 +37,12 @@ GROUPS= ${PORTNAME}
GH_ACCOUNT= sysown
.include <bsd.port.pre.mk>
.if (${OSVERSION} < 1400000 && ${SSL_DEFAULT} == "base")
IGNORE= requires OpenSSL 3.x or greater
.endif
post-patch:
@${REINPLACE_CMD} -e 's,/etc/,${ETCDIR}/,g' ${WRKSRC}/lib/ProxySQL_GloVars.cpp
@${REINPLACE_CMD} \
@@ -50,8 +54,18 @@ post-patch:
-e 's,grep -P,g&,' \
-e '/ export C/d' \
-e 's,PROXYSQLCLICKHOUSE=1 ,,g' \
-e '/cd curl/s,$${MAKE},${GMAKE},' \
-e '/cd libmicrohttpd/s,$${MAKE},${GMAKE},' \
-e '/cd lz4/s,$${MAKE},${GMAKE},' \
-e '/cd libhttpserver.*MAKE/s,CC,MAKE=${GMAKE} CC,' \
-e '/cd libhttpserver/s,$${MAKE},${GMAKE},' \
-e '/get_result_from_pgconn/s,-p0,-p0 -l,' \
-e 's,without-readline,without-readline --without-icu,g' \
-e 's,--enable-fastopen=false ,--enable-fastopen=false --enable-shared=no ,g' \
${WRKSRC}/Makefile ${WRKSRC}/deps/Makefile
@${REINPLACE_CMD} -e 's,grep -oP,ggrep -oP,g' ${WRKSRC}/common_mk/*.mk
@${REINPLACE_CMD} -e 's,ENABLE_EPOLL := -DENABLE_EPOLL,ENABLE_EPOLL :=,g' \
${WRKSRC}/lib/Makefile
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/src/proxysql ${STAGEDIR}${LOCALBASE}/sbin
@@ -66,4 +80,4 @@ post-install:
${INSTALL_DATA} ${WRKSRC}/src/proxysql.cfg \
${STAGEDIR}${ETCDIR}/proxysql.cfg.sample
.include <bsd.port.mk>
.include <bsd.port.post.mk>
+3 -3
View File
@@ -1,3 +1,3 @@
TIMESTAMP = 1727108943
SHA256 (sysown-proxysql-2.6.6_GH0.tar.gz) = c447ac0c4532c6654cc648416e3dd1560824f67406f510efe52c4c6291a1ef4a
SIZE (sysown-proxysql-2.6.6_GH0.tar.gz) = 50425374
TIMESTAMP = 1773849369
SHA256 (sysown-proxysql-3.0.6_GH0.tar.gz) = a56fc549406dcc6c525f5757f60e9b68a7df8b513f8042f5d9fdcd839f270d30
SIZE (sysown-proxysql-3.0.6_GH0.tar.gz) = 62876841
@@ -1,14 +0,0 @@
--- include/MySQL_HostGroups_Manager.h.orig 2025-11-05 18:26:00 UTC
+++ include/MySQL_HostGroups_Manager.h
@@ -1250,9 +1250,9 @@ T j_get_srv_default_int_val(
return val;
} else {
proxy_error(
- "Invalid value %ld supplied for 'mysql_hostgroup_attributes.servers_defaults.%s' for hostgroup %d."
+ "Invalid value %lld supplied for 'mysql_hostgroup_attributes.servers_defaults.%s' for hostgroup %d."
" Value NOT UPDATED.\n",
- static_cast<int64_t>(val), key.c_str(), hid
+ static_cast<long long int>(val), key.c_str(), hid
);
}
} else {
@@ -0,0 +1,14 @@
--- include/PgSQL_Thread.h.orig 2025-11-08 01:19:28 UTC
+++ include/PgSQL_Thread.h
@@ -212,10 +212,10 @@ class __attribute__((aligned(64))) PgSQL_Thread : publ
//PtrArray* mysql_sessions;
PtrArray* mirror_queue_mysql_sessions;
PtrArray* mirror_queue_mysql_sessions_cache;
+ CopyCmdMatcher *copy_cmd_matcher;
#ifdef IDLE_THREADS
PtrArray* idle_mysql_sessions;
PtrArray* resume_mysql_sessions;
- CopyCmdMatcher *copy_cmd_matcher;
pgsql_conn_exchange_t myexchange;
#endif // IDLE_THREADS
@@ -0,0 +1,22 @@
--- include/proxysql_utils.h.orig 2025-11-08 01:40:32 UTC
+++ include/proxysql_utils.h
@@ -25,19 +25,11 @@
#define ETIME ETIMEDOUT
#endif
-#ifdef CXX17
template<class...> struct conjunction : std::true_type { };
-template<class B1> struct std::conjunction<B1> : B1 { };
-template<class B1, class... Bn>
-struct std::conjunction<B1, Bn...>
- : std::conditional<bool(B1::value), std::conjunction<Bn...>, B1>::type {};
-#else
-template<class...> struct conjunction : std::true_type { };
template<class B1> struct conjunction<B1> : B1 { };
template<class B1, class... Bn>
struct conjunction<B1, Bn...>
: std::conditional<bool(B1::value), conjunction<Bn...>, B1>::type {};
-#endif // CXX17
/**
* @brief Stores the result of formatting the first parameter with the provided
* arguments, into the std::string reference provided in the second parameter.
@@ -0,0 +1,14 @@
--- lib/PgSQL_Monitor.cpp.orig 2025-11-08 02:06:01 UTC
+++ lib/PgSQL_Monitor.cpp
@@ -17,6 +17,11 @@
#include <vector>
#include <list>
+#ifdef __FreeBSD__
+#include <sys/limits.h>
+#define ULONG_LONG_MAX ULLONG_MAX
+#endif
+
using std::function;
using std::unique_ptr;
using std::vector;
@@ -1,11 +1,13 @@
--- lib/ProxySQL_Admin.cpp.orig 2025-11-05 18:44:48 UTC
--- lib/ProxySQL_Admin.cpp.orig 2026-03-18 17:48:48 UTC
+++ lib/ProxySQL_Admin.cpp
@@ -332,7 +332,7 @@ char rand_del[6];
char rand_del[6];
//static int http_handler(void *cls, struct MHD_Connection *connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **ptr) {
-MHD_Result http_handler(void *cls, struct MHD_Connection *connection, const char *url, const char *method, const char *version, const char *upload_data, long unsigned int *upload_data_size, void **ptr) {
+MHD_Result http_handler(void *cls, struct MHD_Connection *connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **ptr) {
return (MHD_Result) GloAdmin->AdminHTTPServer->handler(cls, connection, url, method, version, upload_data, upload_data_size, ptr);
}
@@ -2726,8 +2726,10 @@ ProxySQL_Admin::ProxySQL_Admin() :
// processlist configuration
variables.mysql_processlist.show_extended = 0;
variables.pgsql_processlist.show_extended = 0;
+#ifdef IDLE_THREADS
variables.mysql_processlist.show_idle_session = true;
variables.pgsql_processlist.show_idle_session = true;
+#endif
variables.mysql_processlist.max_query_length = PROCESSLIST_MAX_QUERY_LEN_DEFAULT;
variables.pgsql_processlist.max_query_length = PROCESSLIST_MAX_QUERY_LEN_DEFAULT;
@@ -1,14 +0,0 @@
--- lib/ProxySQL_GloVars.cpp.orig 2025-11-05 18:21:29 UTC
+++ lib/ProxySQL_GloVars.cpp
@@ -334,7 +334,10 @@ void update_ulong_var_if_set(uint64_t& cur_val, ez::ez
void update_ulong_var_if_set(uint64_t& cur_val, ez::ezOptionParser* opt, const char* cmd_opt) {
if (opt->isSet(cmd_opt)) {
- opt->get(cmd_opt)->getULong(cur_val);
+ unsigned long new_val = cur_val;
+
+ opt->get(cmd_opt)->getULong(new_val);
+ cur_val = new_val;
}
}
@@ -0,0 +1,12 @@
--- lib/proxy_protocol_info.cpp.orig 2025-11-08 01:35:22 UTC
+++ lib/proxy_protocol_info.cpp
@@ -3,6 +3,9 @@
#include <stdio.h>
#include <assert.h>
#include <iostream>
+#ifdef __FreeBSD__
+#include <sys/socket.h>
+#endif
static bool DEBUG_ProxyProtocolInfo = false;
@@ -0,0 +1,16 @@
--- lib/proxysql_utils.cpp.orig 2026-01-16 09:33:05 UTC
+++ lib/proxysql_utils.cpp
@@ -19,7 +19,13 @@
#include <unistd.h>
#include <dirent.h>
#include <sys/syscall.h>
+#ifdef __linux__
#include <linux/close_range.h>
+#endif
+#ifdef __FreeBSD__
+#include <sys/socket.h>
+#include <netinet/in.h>
+#endif
using std::function;
using std::string;