From nobody Fri Mar 29 16:23:49 2024 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4V5m1d42FKz5DgYS; Fri, 29 Mar 2024 16:23:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4V5m1d3WSSz4Sdg; Fri, 29 Mar 2024 16:23:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1711729429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bAobLfh5JUOXhLvvhDdMygfyMGEqk/sRBLtQsHVE3oA=; b=n6y3BiVsA++AriBh8YPgRkZ0EHKTfPjMinpqI7kJ/afuGCwG4OAmx/ojjcFIvtAYlq6qjR VGvugRn7lSiVPGPfNIR+EHPfmWehvkaMCYvFuUvP/IycaNpKcFQEtTIPzOghuL1HZHzF/H x+PHqAlul4c+fdFQZnczC01LVx42T9Q1axLuazPaGl8cLyIUPVzrLOh3+T0IMLfJm1zrQS 4a0+ax3KJJU7EPfBJHHRcvNepcpUVHesE395LyaEYhRL0+jqyQDuE2KFKYCb8c1AT6aeAF I8DJp1rg8zG63naeP0NF31CJN/gj3vAmBpyzHXKpiVVXVIIbsCZ1GbNcbX/XiQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1711729429; a=rsa-sha256; cv=none; b=upd45L45Yn84sIzHLUcTEIxGLOc6QFmbtZK8gCh6Kq1oCAd4DZctJbadMk8rpl5jVJ3C7d iZv0uV64NpBIbAD7EuNTOyTAEiacYdvEEKAd2I0hOIvsiOAR8kFyH39WdPDAbnJtTunlOm okalFO+eARdZsvUU6Unu5dOb/SiVUvS6eitE1xHqgHxfPYcLqiDRbth5rmzzkn3Z9gCMH2 7jwlUHeb3Z6vPni/uN7VXpwtkI5fDLoaJrVv5rhZvYahVI1Er8enA01intrANn8ASXUy8Y eZrLosjQkyyxHZaaCJRvc9vzZox6+xV4pUOjIZ29TgG76Fh/kshwvLG+tFX17Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1711729429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bAobLfh5JUOXhLvvhDdMygfyMGEqk/sRBLtQsHVE3oA=; b=Sk9quCykzTkZQuiISAjFK9qsRRDFbb27Ru7AxluWGITgZXh9TLO4JQkaScy8L+pghXwVUA n25TDiRcQtUGUVY4hK++vnyPGc6OjapTsAgC/QosAbRbTFWBuy4NbHDTEJoyRixT+DM5FX VOo97p9JpXI2SRqGPBVUAtgpJyV8z1I2sjPVMdM7ZJDPggHvYGwSlWQTemIm1yS04jlYus cZ3fjtfRxuC8bVp3Vhbj0hbVsU3X+CcuCxERWIuk4pTIcoT84CJ2fY3njk1lY7oMQWbagM LbAjDi6wqniEoV4HRMhDnVKHCfAhZmi9ybSCAzMzaEPjSoykwGeS8tKKRhPAtA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4V5m1d374yzJ59; Fri, 29 Mar 2024 16:23:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 42TGNnvP096169; Fri, 29 Mar 2024 16:23:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 42TGNnSH096167; Fri, 29 Mar 2024 16:23:49 GMT (envelope-from git) Date: Fri, 29 Mar 2024 16:23:49 GMT Message-Id: <202403291623.42TGNnSH096167@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Ryan Steinmetz Subject: git: e0cf1d89c0ea - main - databases/proxysql: New port! List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zi X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e0cf1d89c0ea475fdaf82dfce2d27c23b743dd3d Auto-Submitted: auto-generated The branch main has been updated by zi: URL: https://cgit.FreeBSD.org/ports/commit/?id=e0cf1d89c0ea475fdaf82dfce2d27c23b743dd3d commit e0cf1d89c0ea475fdaf82dfce2d27c23b743dd3d Author: Ryan Steinmetz AuthorDate: 2024-03-29 16:23:00 +0000 Commit: Ryan Steinmetz CommitDate: 2024-03-29 16:23:00 +0000 databases/proxysql: New port! ProxySQL is a high performance, high availability, protocol aware proxy for MySQL and forks (like Percona Server and MariaDB). With its ability to intelligently route queries, balance loads, and provide failover handling, ProxySQL empowers organizations to harness the full potential of their database infrastructure. Whether grappling with scalability challenges, striving to enhance performance, or seeking to ensure high availability, ProxySQL emerges as a versatile ally, capable of addressing diverse needs across various database environments. WWW: https://www.proxysql.com/ --- databases/Makefile | 1 + databases/proxysql/Makefile | 80 ++++++++++++++++++++++++ databases/proxysql/distinfo | 3 + databases/proxysql/files/proxysql.conf | 2 + databases/proxysql/files/proxysql.conf-newsyslog | 1 + databases/proxysql/files/proxysql.in | 62 ++++++++++++++++++ databases/proxysql/pkg-descr | 9 +++ databases/proxysql/pkg-message | 9 +++ databases/proxysql/pkg-plist | 10 +++ 9 files changed, 177 insertions(+) diff --git a/databases/Makefile b/databases/Makefile index 3a97008d17a3..e196510964d4 100644 --- a/databases/Makefile +++ b/databases/Makefile @@ -696,6 +696,7 @@ SUBDIR += proftpd-mod_sql_sqlite SUBDIR += proftpd-mod_sql_tds SUBDIR += prometheus-postgresql-adapter + SUBDIR += proxysql SUBDIR += pspg SUBDIR += puppetdb-terminus7 SUBDIR += puppetdb-terminus8 diff --git a/databases/proxysql/Makefile b/databases/proxysql/Makefile new file mode 100644 index 000000000000..b611737d97d8 --- /dev/null +++ b/databases/proxysql/Makefile @@ -0,0 +1,80 @@ +PORTNAME= proxysql +PORTVERSION= 2.6.1 +CATEGORIES= databases + +MAINTAINER= zi@FreeBSD.org +COMMENT= High performance, high availability, protocol-aware proxy for MySQL +WWW= https://www.proxysql.com/ + +LICENSE= GPLv3 +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= aclocal:devel/automake \ + autoreconf:devel/autoconf \ + bash:shells/bash \ + cmake:devel/cmake-core \ + ${LOCALBASE}/bin/grep:textproc/gnugrep \ + libgcrypt>0:security/libgcrypt \ + libtoolize:devel/libtool \ + e2fsprogs-libuuid>0:misc/e2fsprogs-libuuid \ + gnutls>0:security/gnutls +RUN_DEPENDS= libgcrypt>0:security/libgcrypt \ + e2fsprogs-libuuid>0:misc/e2fsprogs-libuuid \ + gnutls>0:security/gnutls + +USES= compiler:gcc-c++11-lib gmake libtool perl5 python:build shebangfix +USE_PERL5= build +USE_GCC= yes +MAKE_ENV= GIT_VERSION=${PORTVERSION} +USE_GITHUB= yes +ALL_TARGET= build_deps default +SHEBANG_FILES= deps/libssl/verify-bio_st-match.sh +MAKE_JOBS_UNSAFE=yes +LDFLAGS+= -L${LOCALBASE}/lib +CFLAGS+= -fPIC +CXXFLAGS+= -fPIC +BINARY_ALIAS= python3=${PYTHON_CMD} +USE_RC_SUBR= ${PORTNAME} + +USERS= ${PORTNAME} +GROUPS= ${PORTNAME} + +GH_ACCOUNT= sysown + +post-patch: + @${REINPLACE_CMD} -e 's,/etc/,${ETCDIR}/,g' ${WRKSRC}/lib/ProxySQL_GloVars.cpp + @${REINPLACE_CMD} \ + -e 's|strftime(__buffer, 25, "%Y-%m-%d %H:%M:%S", __tm_info);|snprintf(__buffer, 3, "%s", "");|g' \ + -e 's,"%s \[,"%s\[,g' \ + -e '/__timer/d' \ + -e '/__tm_info/d' \ + ${WRKSRC}/include/proxysql_debug.h + @${REINPLACE_CMD} \ + -e 's,/var/lib,/var/db,g' \ + -e '7s/^/errorlog="\/var\/log\/proxysql\/proxysql-error.log"\n\n/g' \ + -e '7s/^/pid="\/var\/run\/${PORTNAME}\/${PORTNAME}.pid"\n/g' \ + ${WRKSRC}/src/proxysql.cfg + @${REINPLACE_CMD} \ + -e 's,grep,${LOCALBASE}/bin/grep,g' \ + -e 's,ln -fsT,ln -fs,' \ + -e 's,PROXYSQLCLICKHOUSE=1 ,,g' \ + ${WRKSRC}/Makefile ${WRKSRC}/deps/Makefile \ + ${WRKSRC}/lib/Makefile ${WRKSRC}/src/Makefile + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/src/proxysql ${STAGEDIR}${LOCALBASE}/sbin + +post-install: + ${MKDIR} ${STAGEDIR}${ETCDIR} ${STAGEDIR}/var/db/${PORTNAME} \ + ${STAGEDIR}/var/run/${PORTNAME} \ + ${STAGEDIR}${LOCALBASE}/etc/syslog.d \ + ${STAGEDIR}${PREFIX}/etc/newsyslog.conf.d \ + ${STAGEDIR}/var/log/${PORTNAME} + ${INSTALL_DATA} ${FILESDIR}/${PORTNAME}.conf \ + ${STAGEDIR}${LOCALBASE}/etc/syslog.d + ${INSTALL_DATA} ${FILESDIR}/proxysql.conf-newsyslog \ + ${STAGEDIR}${PREFIX}/etc/newsyslog.conf.d/proxysql.conf.sample + ${INSTALL_DATA} ${WRKSRC}/src/proxysql.cfg \ + ${STAGEDIR}${ETCDIR}/proxysql.cfg.sample + +.include diff --git a/databases/proxysql/distinfo b/databases/proxysql/distinfo new file mode 100644 index 000000000000..663665b2cd2a --- /dev/null +++ b/databases/proxysql/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1711406812 +SHA256 (sysown-proxysql-2.6.1_GH0.tar.gz) = b4021fd4bd27ef2c506da91396ed995fa1d6ee8f3d421fcb200331716f9a8979 +SIZE (sysown-proxysql-2.6.1_GH0.tar.gz) = 50028685 diff --git a/databases/proxysql/files/proxysql.conf b/databases/proxysql/files/proxysql.conf new file mode 100644 index 000000000000..68fbfbcf23e8 --- /dev/null +++ b/databases/proxysql/files/proxysql.conf @@ -0,0 +1,2 @@ +!proxysql +*.* /var/log/proxysql.log diff --git a/databases/proxysql/files/proxysql.conf-newsyslog b/databases/proxysql/files/proxysql.conf-newsyslog new file mode 100644 index 000000000000..8a51ca3a6927 --- /dev/null +++ b/databases/proxysql/files/proxysql.conf-newsyslog @@ -0,0 +1 @@ +/var/log/proxysql.log root:wheel 640 10 1000 * JC diff --git a/databases/proxysql/files/proxysql.in b/databases/proxysql/files/proxysql.in new file mode 100644 index 000000000000..781d5b4bdf1f --- /dev/null +++ b/databases/proxysql/files/proxysql.in @@ -0,0 +1,62 @@ +#!/bin/sh + +# PROVIDE: proxysql +# REQUIRE: LOGIN mysql +# KEYWORD: shutdown +# +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +# proxysql_enable (bool): Set to NO by default. +# Set it to YES to enable proxysql. +# proxysql_user (string): Set user that proxysql will run under +# Default is "proxysql". +# proxysql_group (string): Set group that proxysql will run under +# Default is "proxysql". +# proxysql_config (string): Set path to config file +# Default is "%%ETCDIR%%/proxysql.cfg". +# proxysql_args (string): Set extra arguments to pass to proxysql +# Default is "". + +. /etc/rc.subr + +name=proxysql +rcvar=proxysql_enable + +load_rc_config $name + +: ${proxysql_enable:="NO"} +: ${proxysql_user:="proxysql"} +: ${proxysql_group:="proxysql"} +: ${proxysql_config:="%%ETCDIR%%/proxysql.cfg"} +: ${proxysql_socket:="/var/run/proxysql/proxysql.sock"} +: ${proxysql_datadir:="/var/db/proxysql"} +: ${proxysql_args:=""} +: ${proxysql_restart_delay:="10"} + + +pidfile="/var/run/proxysql/proxysql.pid" +command="/usr/sbin/daemon" +proxysql_command="%%PREFIX%%/sbin/proxysql" +command_args="-rP ${pidfile} -S -R ${proxysql_restart_delay} \ + -T ${name} ${proxysql_command} \ + -f -c ${proxysql_config} -S ${proxysql_socket} \ + -D ${proxysql_datadir} \ + --no-version-check ${proxysql_args}" +required_files="${proxysql_config}" +extra_commands="reload initialize" +reload_cmd=proxysql_reload +initialize_cmd=proxysql_initialize + +proxysql_initialize() +{ + su -m ${proxysql_user} -c "${proxysql_command} --initial" +} + +proxysql_reload() +{ + su -m ${proxysql_user} -c "${proxysql_command} --reload" +} + +load_rc_config $name +run_rc_command "$1" diff --git a/databases/proxysql/pkg-descr b/databases/proxysql/pkg-descr new file mode 100644 index 000000000000..265692c0bee4 --- /dev/null +++ b/databases/proxysql/pkg-descr @@ -0,0 +1,9 @@ +ProxySQL is a high performance, high availability, protocol aware proxy for +MySQL and forks (like Percona Server and MariaDB). + +With its ability to intelligently route queries, balance loads, and provide +failover handling, ProxySQL empowers organizations to harness the full +potential of their database infrastructure. Whether grappling with +scalability challenges, striving to enhance performance, or seeking to +ensure high availability, ProxySQL emerges as a versatile ally, capable of +addressing diverse needs across various database environments. diff --git a/databases/proxysql/pkg-message b/databases/proxysql/pkg-message new file mode 100644 index 000000000000..f8af81593652 --- /dev/null +++ b/databases/proxysql/pkg-message @@ -0,0 +1,9 @@ +[ +{ type: install + message: <