haproxy: remove obsoleted versions.

This commit is contained in:
Dmitry Sivachenko 2025-06-12 21:16:41 +00:00
parent 51b906b083
commit b742df0e73
31 changed files with 4 additions and 1516 deletions

View File

@ -245,13 +245,9 @@
SUBDIR += hanstunnel SUBDIR += hanstunnel
SUBDIR += haproxy SUBDIR += haproxy
SUBDIR += haproxy-devel SUBDIR += haproxy-devel
SUBDIR += haproxy22
SUBDIR += haproxy24 SUBDIR += haproxy24
SUBDIR += haproxy25
SUBDIR += haproxy26 SUBDIR += haproxy26
SUBDIR += haproxy27
SUBDIR += haproxy28 SUBDIR += haproxy28
SUBDIR += haproxy29
SUBDIR += hblock SUBDIR += hblock
SUBDIR += hexinject SUBDIR += hexinject
SUBDIR += hlmaster SUBDIR += hlmaster

View File

@ -22,7 +22,7 @@ lua_PKGNAMESUFFIX= -lua
wolfssl_CONFLICTS_INSTALL= haproxy-devel haproxy-lua wolfssl_CONFLICTS_INSTALL= haproxy-devel haproxy-lua
wolfssl_PKGNAMESUFFIX= -wolfssl wolfssl_PKGNAMESUFFIX= -wolfssl
CONFLICTS_INSTALL= haproxy haproxy17 haproxy18 haproxy20 haproxy22 haproxy23 haproxy24 haproxy25 haproxy26 CONFLICTS_INSTALL= haproxy haproxy24 haproxy26 haproxy28
ALL_TARGET= all admin/halog/halog ALL_TARGET= all admin/halog/halog
MAKE_ARGS= TARGET=freebsd DEFINE=-DFREEBSD_PORTS USE_GETADDRINFO=1 \ MAKE_ARGS= TARGET=freebsd DEFINE=-DFREEBSD_PORTS USE_GETADDRINFO=1 \

View File

@ -1,68 +0,0 @@
PORTNAME= haproxy
DISTVERSION= 2.2.31
PORTREVISION= 1
CATEGORIES= net www
PKGNAMESUFFIX= 22
MASTER_SITES= http://www.haproxy.org/download/2.2/src/
MAINTAINER= demon@FreeBSD.org
COMMENT= Reliable, high performance TCP/HTTP load balancer
WWW= https://www.haproxy.org
LICENSE= GPLv2 LGPL21
LICENSE_COMB= multi
DEPRECATED= Upstream EOL reaches on 2025-06-30
EXPIRATION_DATE= 2025-06-30
BROKEN_FreeBSD_14= build process runsaway
BROKEN_FreeBSD_15= build process runsaway
CONFLICTS_INSTALL= haproxy-devel haproxy17 haproxy18 haproxy20
USES= compiler:c++11-lang cpe gmake
USE_RC_SUBR= haproxy
MAKE_ARGS= TARGET=freebsd DEFINE=-DFREEBSD_PORTS USE_GETADDRINFO=1 \
USE_ZLIB=1 USE_CPU_AFFINITY=1 USE_ACCEPT4=1 \
CC="${CC}" DEBUG_CFLAGS="" CPU_CFLAGS="${CFLAGS}"
OPTIONS_DEFINE= DOCS EXAMPLES LUA OPENSSL DEVICEATLAS PROMEX
OPTIONS_RADIO= PCRE
OPTIONS_RADIO_PCRE= DPCRE SPCRE
DPCRE_DESC= Link dynamically
SPCRE_DESC= Link statically
DEVICEATLAS_DESC= DeviceAtlas Device Detection support
PROMEX_DESC= Enable Prometheus exporter
OPTIONS_DEFAULT= SPCRE OPENSSL PROMEX
DPCRE_LIB_DEPENDS= libpcre.so:devel/pcre
DPCRE_MAKE_ARGS= USE_PCRE=1 USE_PCRE_JIT=1
SPCRE_LIB_DEPENDS= libpcre.so:devel/pcre
SPCRE_MAKE_ARGS= USE_PCRE=1 USE_STATIC_PCRE=1 USE_PCRE_JIT=1
DEVICEATLAS_LIB_DEPENDS= libda.so:net/deviceatlas-enterprise-c
DEVICEATLAS_MAKE_ARGS= USE_DEVICEATLAS=1 DEVICEATLAS_LIB=${LOCALBASE}/lib DEVICEATLAS_INC=${LOCALBASE}/include
PROMEX_MAKE_ARGS= EXTRA_OBJS="contrib/prometheus-exporter/service-prometheus.o"
OPENSSL_USES= ssl
OPENSSL_MAKE_ARGS= USE_OPENSSL=1 SSL_LIB=${OPENSSLLIB} SSL_INC=${OPENSSLINC}
LUA_USES= lua:53
LUA_MAKE_ARGS= USE_LUA=1 LUA_INC=${LUA_INCDIR} LUA_LIB=${LUA_LIBDIR} LUA_LIB_NAME=lua-${LUA_VER}
.include <bsd.port.pre.mk>
.if ${ARCH} == "amd64" || ${ARCH} == "i386"
MAKE_ARGS+= USE_REGPARM=1
.endif
post-build:
cd ${WRKSRC}/contrib/halog && ${MAKE_CMD} ${MAKE_ENV}
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/haproxy ${STAGEDIR}${PREFIX}/sbin/
${INSTALL_PROGRAM} ${WRKSRC}/contrib/halog/halog ${STAGEDIR}${PREFIX}/sbin/
${INSTALL_MAN} ${WRKSRC}/doc/haproxy.1 ${STAGEDIR}${PREFIX}/share/man/man1
${MKDIR} ${STAGEDIR}${DOCSDIR}
(cd ${WRKSRC}/doc/ && ${COPYTREE_SHARE} \* ${STAGEDIR}${DOCSDIR})
${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
(cd ${WRKSRC}/examples/ && ${COPYTREE_SHARE} \* ${STAGEDIR}${EXAMPLESDIR})
.include <bsd.port.post.mk>

View File

@ -1,3 +0,0 @@
TIMESTAMP = 1692991585
SHA256 (haproxy-2.2.31.tar.gz) = 94b099e0142c3e5689b2a1a4943eafa02a453b342e6527cd108b722f8d0a82f6
SIZE (haproxy-2.2.31.tar.gz) = 2977031

View File

@ -1,131 +0,0 @@
#!/bin/sh
# PROVIDE: haproxy
# REQUIRE: DAEMON LOGIN
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to enable haproxy:
#
# haproxy_enable (bool): default: "NO"
# Set to "YES" to enable haproxy
# haproxy_pidfile (str): default: /var/run/haproxy.pid
# Set to the full path of the pid file
# haproxy_config (str): default: %%PREFIX%%/etc/haproxy.conf
# Set to the full path of the config file
# haproxy_flags (str): default: Autogenerated using pidfile and config options
# Set to override with your own options
# haproxy_profiles (str): default: empty
# Set to space-separated list of profiles: for each profile separate haproxy
# process will be spawned, with haproxy-${profile}.conf config file.
# You can override default pidfile and config file for each profile with
# haproxy_${profile}_config and haproxy_${profile}_pidfile.
. /etc/rc.subr
name="haproxy"
rcvar=haproxy_enable
command="%%PREFIX%%/sbin/haproxy"
extra_commands="reload configtest hardstop hardreload softreload"
reload_cmd="haproxy_reload"
hardreload_cmd="haproxy_reload"
hardreload_precmd="def_hardreload_option"
softreload_cmd="haproxy_reload"
softreload_precmd="def_softreload_option"
stop_cmd="haproxy_stop"
hardstop_cmd="haproxy_stop"
hardstop_precmd="def_hardstop_signal"
: ${haproxy_enable:="NO"}
: ${haproxy_config:="%%PREFIX%%/etc/${name}.conf"}
: ${haproxy_socket:="/var/run/${name}/socket"}
pidfile=${haproxy_pidfile:-"/var/run/haproxy.pid"}
def_hardreload_option()
{
reload_opt="-st"
}
def_softreload_option()
{
reload_opt="-x ${haproxy_socket} -sf"
}
def_hardstop_signal()
{
sig_stop="TERM"
}
load_rc_config $name
is_valid_profile() {
local profile
for profile in $haproxy_profiles; do
if [ "$profile" = "$1" ]; then
return 0
fi
done
return 1
}
if [ -n "$2" ]; then
profile=$2
if ! is_valid_profile $profile; then
echo "$0: no such profile ($profile) defined in ${name}_profiles."
exit 1
fi
eval haproxy_config="\${haproxy_${profile}_config:-%%PREFIX%%/etc/haproxy-${profile}.conf}"
eval haproxy_fib="\${haproxy_${profile}_fib:${haproxy_fib}}"
eval pidfile="\${haproxy_${profile}_pidfile:-/var/run/haproxy-${profile}.pid}"
else
if [ "x${haproxy_profiles}" != "x" -a "x$1" != "x" ]; then
for profile in ${haproxy_profiles}; do
echo "===> ${name} profile: ${profile}"
%%PREFIX%%/etc/rc.d/haproxy $1 ${profile}
retcode="$?"
if [ ${retcode} -ne 0 ]; then
failed="${profile} (${retcode}) ${failed:-}"
else
success="${profile} ${success:-}"
fi
done
exit 0
fi
fi
: ${haproxy_flags:="-q -f ${haproxy_config} -p ${pidfile}"}
configtest_cmd="$command -c -f $haproxy_config"
start_precmd="$command -q -c -f $haproxy_config"
required_files=$haproxy_config
sig_stop=SIGUSR1
reload_opt="-sf"
haproxy_reload()
{
${command} -q -c -f ${haproxy_config}
if [ $? -ne 0 ]; then
err 1 "Error found in ${haproxy_config} - not reloading current process!"
fi
rc_pid=$(check_pidfile ${pidfile} ${command})
if [ $rc_pid ]; then
${command} ${haproxy_flags} $reload_opt $(cat ${pidfile})
else
_run_rc_notrunning
return 1
fi
}
haproxy_stop()
{
rc_pid=$(check_pidfile ${pidfile} ${command})
if [ $rc_pid ]; then
rc_pid=$(cat ${pidfile})
kill -$sig_stop $rc_pid
wait_for_pids $rc_pid
else
_run_rc_notrunning
return 1
fi
}
run_rc_command "$1"

View File

@ -1,4 +0,0 @@
HAProxy is a free, very fast and reliable solution offering high
availability, load balancing, and proxying for TCP and HTTP-based
applications. It is particularly suited for web sites crawling under
very high loads while needing persistence or Layer7 processing.

View File

@ -1,98 +0,0 @@
share/man/man1/haproxy.1.gz
sbin/halog
sbin/haproxy
%%PORTDOCS%%%%DOCSDIR%%/51Degrees-device-detection.txt
%%PORTDOCS%%%%DOCSDIR%%/DeviceAtlas-device-detection.txt
%%PORTDOCS%%%%DOCSDIR%%/SOCKS4.protocol.txt
%%PORTDOCS%%%%DOCSDIR%%/SPOE.txt
%%PORTDOCS%%%%DOCSDIR%%/WURFL-device-detection.txt
%%PORTDOCS%%%%DOCSDIR%%/acl.fig
%%PORTDOCS%%%%DOCSDIR%%/architecture.txt
%%PORTDOCS%%%%DOCSDIR%%/close-options.txt
%%PORTDOCS%%%%DOCSDIR%%/coding-style.txt
%%PORTDOCS%%%%DOCSDIR%%/configuration.txt
%%PORTDOCS%%%%DOCSDIR%%/cookie-options.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/backends-v0.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/backends.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/be-fe-changes.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/binding-possibilities.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/config-language.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/connection-reuse.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/connection-sharing.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/dynamic-buffers.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/entities-v2.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/how-it-works.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/http2.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/http_load_time.url
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/rate-shaping.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/sess_par_sec.txt
%%PORTDOCS%%%%DOCSDIR%%/gpl.txt
%%PORTDOCS%%%%DOCSDIR%%/haproxy.1
%%PORTDOCS%%%%DOCSDIR%%/internals/acl.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/body-parsing.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/buffer-api.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/connect-status.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/connection-header.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/connection-scale.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/entities-v2.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/entities.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/entities.pdf
%%PORTDOCS%%%%DOCSDIR%%/internals/entities.svg
%%PORTDOCS%%%%DOCSDIR%%/internals/entities.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/filters.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/hashing.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/header-parser-speed.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/header-tree.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/http-cookies.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/http-docs.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/http-parsing.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/htx-api.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/initcalls.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/list.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/listener-states.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/listener-states.png
%%PORTDOCS%%%%DOCSDIR%%/internals/lua_socket.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/lua_socket.pdf
%%PORTDOCS%%%%DOCSDIR%%/internals/naming.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/notes-layers.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/pattern.dia
%%PORTDOCS%%%%DOCSDIR%%/internals/pattern.pdf
%%PORTDOCS%%%%DOCSDIR%%/internals/polling-states.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/repartition-be-fe-fi.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/sequence.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/ssl_cert.dia
%%PORTDOCS%%%%DOCSDIR%%/internals/stats-v2.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/stream-sock-states.fig
%%PORTDOCS%%%%DOCSDIR%%/intro.txt
%%PORTDOCS%%%%DOCSDIR%%/lgpl.txt
%%PORTDOCS%%%%DOCSDIR%%/linux-syn-cookies.txt
%%PORTDOCS%%%%DOCSDIR%%/lua-api/Makefile
%%PORTDOCS%%%%DOCSDIR%%/lua-api/_static/channel.fig
%%PORTDOCS%%%%DOCSDIR%%/lua-api/_static/channel.png
%%PORTDOCS%%%%DOCSDIR%%/lua-api/conf.py
%%PORTDOCS%%%%DOCSDIR%%/lua-api/index.rst
%%PORTDOCS%%%%DOCSDIR%%/lua.txt
%%PORTDOCS%%%%DOCSDIR%%/management.txt
%%PORTDOCS%%%%DOCSDIR%%/netscaler-client-ip-insertion-protocol.txt
%%PORTDOCS%%%%DOCSDIR%%/network-namespaces.txt
%%PORTDOCS%%%%DOCSDIR%%/peers.txt
%%PORTDOCS%%%%DOCSDIR%%/peers-v2.0.txt
%%PORTDOCS%%%%DOCSDIR%%/proxy-protocol.txt
%%PORTDOCS%%%%DOCSDIR%%/queuing.fig
%%PORTDOCS%%%%DOCSDIR%%/regression-testing.txt
%%PORTDOCS%%%%DOCSDIR%%/seamless_reload.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/acl-content-sw.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/content-sw-sample.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/400.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/403.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/408.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/500.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/502.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/503.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/504.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/README
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/haproxy.init
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/option-http_proxy.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/socks4.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/transparent_proxy.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wurfl-example.cfg

View File

@ -18,7 +18,7 @@ default_CONFLICTS_INSTALL= haproxy-lua
lua_CONFLICTS_INSTALL= haproxy lua_CONFLICTS_INSTALL= haproxy
lua_PKGNAMESUFFIX= 24-lua lua_PKGNAMESUFFIX= 24-lua
CONFLICTS_INSTALL= haproxy-devel haproxy17 haproxy18 haproxy20 CONFLICTS_INSTALL= haproxy haproxy-devel haproxy26 haproxy28
USES= compiler:c++11-lang cpe gmake USES= compiler:c++11-lang cpe gmake
USE_RC_SUBR= haproxy USE_RC_SUBR= haproxy

View File

@ -1,76 +0,0 @@
PORTNAME= haproxy
DISTVERSION= 2.5.14
PORTREVISION= 2
CATEGORIES= net www
PKGNAMESUFFIX= 25
MASTER_SITES= http://www.haproxy.org/download/2.5/src/
MAINTAINER= demon@FreeBSD.org
COMMENT= Reliable, high performance TCP/HTTP load balancer
WWW= https://www.haproxy.org
LICENSE= GPLv2 LGPL21
LICENSE_COMB= multi
FLAVORS= default lua
FLAVOR?= ${FLAVORS:[1]}
USES= compiler:c++11-lang cpe gmake
USE_RC_SUBR= haproxy
default_CONFLICTS_INSTALL= haproxy-lua
lua_CONFLICTS_INSTALL= haproxy
lua_PKGNAMESUFFIX= 25-lua
CONFLICTS_INSTALL= haproxy-devel haproxy17 haproxy18 haproxy20 haproxy22 haproxy23 haproxy24
ALL_TARGET= all admin/halog/halog
MAKE_ARGS= TARGET=freebsd DEFINE=-DFREEBSD_PORTS USE_GETADDRINFO=1 \
USE_ZLIB=1 USE_CPU_AFFINITY=1 USE_ACCEPT4=1 \
CC="${CC}" DEBUG_CFLAGS="" CPU_CFLAGS="${CFLAGS}" \
${MAKE_ARGS_${ARCH}}
MAKE_ARGS_i386= USE_LIBATOMIC=
MAKE_ARGS_powerpc= USE_LIBATOMIC=
OPTIONS_DEFINE= DOCS EXAMPLES LUA OPENSSL DEVICEATLAS PROMEX
OPTIONS_RADIO= PCRE
OPTIONS_RADIO_PCRE= DPCRE DPCRE2 SPCRE SPCRE2
DPCRE_DESC= Link pcre(1) dynamically
DPCRE2_DESC= Link pcre2 dynamically
SPCRE_DESC= Link pcre(1) statically
SPCRE2_DESC= Link pcre2 statically
DEVICEATLAS_DESC= DeviceAtlas Device Detection support
PROMEX_DESC= Enable Prometheus exporter
OPTIONS_DEFAULT= DPCRE2 OPENSSL PROMEX
DPCRE_LIB_DEPENDS= libpcre.so:devel/pcre
DPCRE_MAKE_ARGS= USE_PCRE=1 USE_PCRE_JIT=1
DPCRE2_LIB_DEPENDS= libpcre2-8.so:devel/pcre2
DPCRE2_MAKE_ARGS= USE_PCRE2=1 USE_PCRE2_JIT=1
SPCRE_BUILD_DEPENDS= ${LOCALBASE}/lib/libpcre.a:devel/pcre
SPCRE_MAKE_ARGS= USE_PCRE=1 USE_STATIC_PCRE=1 USE_PCRE_JIT=1
SPCRE2_BUILD_DEPENDS= ${LOCALBASE}/lib/libpcre2-8.a:devel/pcre2
SPCRE2_MAKE_ARGS= USE_PCRE2=1 USE_STATIC_PCRE2=1 USE_PCRE2_JIT=1
DEVICEATLAS_LIB_DEPENDS= libda.so:net/deviceatlas-enterprise-c
DEVICEATLAS_MAKE_ARGS= USE_DEVICEATLAS=1 DEVICEATLAS_LIB=${LOCALBASE}/lib DEVICEATLAS_INC=${LOCALBASE}/include
PROMEX_MAKE_ARGS= USE_PROMEX=1
OPENSSL_USES= ssl
OPENSSL_MAKE_ARGS= USE_OPENSSL=1 SSL_LIB=${OPENSSLLIB} SSL_INC=${OPENSSLINC}
LUA_USES= lua:53
LUA_MAKE_ARGS= USE_LUA=1 LUA_INC=${LUA_INCDIR} LUA_LIB=${LUA_LIBDIR} LUA_LIB_NAME=lua-${LUA_VER}
.if ${FLAVOR:U} == lua
OPTIONS_DEFAULT+= LUA
.endif
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/haproxy ${STAGEDIR}${PREFIX}/sbin/
${INSTALL_PROGRAM} ${WRKSRC}/admin/halog/halog ${STAGEDIR}${PREFIX}/sbin/
${INSTALL_MAN} ${WRKSRC}/doc/haproxy.1 ${STAGEDIR}${PREFIX}/share/man/man1
${MKDIR} ${STAGEDIR}${DOCSDIR}
(cd ${WRKSRC}/doc/ && ${COPYTREE_SHARE} \* ${STAGEDIR}${DOCSDIR})
${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
(cd ${WRKSRC}/examples/ && ${COPYTREE_SHARE} \* ${STAGEDIR}${EXAMPLESDIR})
.include <bsd.port.mk>

View File

@ -1,3 +0,0 @@
TIMESTAMP = 1683037657
SHA256 (haproxy-2.5.14.tar.gz) = a0a44945687de3778a5c389f64fbede7be82f1ff2645eb1cc098822af8f4652a
SIZE (haproxy-2.5.14.tar.gz) = 3871579

View File

@ -1,131 +0,0 @@
#!/bin/sh
# PROVIDE: haproxy
# REQUIRE: DAEMON LOGIN
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to enable haproxy:
#
# haproxy_enable (bool): default: "NO"
# Set to "YES" to enable haproxy
# haproxy_pidfile (str): default: /var/run/haproxy.pid
# Set to the full path of the pid file
# haproxy_config (str): default: %%PREFIX%%/etc/haproxy.conf
# Set to the full path of the config file
# haproxy_flags (str): default: Autogenerated using pidfile and config options
# Set to override with your own options
# haproxy_profiles (str): default: empty
# Set to space-separated list of profiles: for each profile separate haproxy
# process will be spawned, with haproxy-${profile}.conf config file.
# You can override default pidfile and config file for each profile with
# haproxy_${profile}_config and haproxy_${profile}_pidfile.
. /etc/rc.subr
name="haproxy"
rcvar=haproxy_enable
command="%%PREFIX%%/sbin/haproxy"
extra_commands="reload configtest hardstop hardreload softreload"
reload_cmd="haproxy_reload"
hardreload_cmd="haproxy_reload"
hardreload_precmd="def_hardreload_option"
softreload_cmd="haproxy_reload"
softreload_precmd="def_softreload_option"
stop_cmd="haproxy_stop"
hardstop_cmd="haproxy_stop"
hardstop_precmd="def_hardstop_signal"
: ${haproxy_enable:="NO"}
: ${haproxy_config:="%%PREFIX%%/etc/${name}.conf"}
: ${haproxy_socket:="/var/run/${name}/socket"}
pidfile=${haproxy_pidfile:-"/var/run/haproxy.pid"}
def_hardreload_option()
{
reload_opt="-st"
}
def_softreload_option()
{
reload_opt="-x ${haproxy_socket} -sf"
}
def_hardstop_signal()
{
sig_stop="TERM"
}
load_rc_config $name
is_valid_profile() {
local profile
for profile in $haproxy_profiles; do
if [ "$profile" = "$1" ]; then
return 0
fi
done
return 1
}
if [ -n "$2" ]; then
profile=$2
if ! is_valid_profile $profile; then
echo "$0: no such profile ($profile) defined in ${name}_profiles."
exit 1
fi
eval haproxy_config="\${haproxy_${profile}_config:-%%PREFIX%%/etc/haproxy-${profile}.conf}"
eval haproxy_fib="\${haproxy_${profile}_fib:${haproxy_fib}}"
eval pidfile="\${haproxy_${profile}_pidfile:-/var/run/haproxy-${profile}.pid}"
else
if [ "x${haproxy_profiles}" != "x" -a "x$1" != "x" ]; then
for profile in ${haproxy_profiles}; do
echo "===> ${name} profile: ${profile}"
%%PREFIX%%/etc/rc.d/haproxy $1 ${profile}
retcode="$?"
if [ ${retcode} -ne 0 ]; then
failed="${profile} (${retcode}) ${failed:-}"
else
success="${profile} ${success:-}"
fi
done
exit 0
fi
fi
: ${haproxy_flags:="-q -f ${haproxy_config} -p ${pidfile}"}
configtest_cmd="$command -c -f $haproxy_config"
start_precmd="$command -q -c -f $haproxy_config"
required_files=$haproxy_config
sig_stop=SIGUSR1
reload_opt="-sf"
haproxy_reload()
{
${command} -q -c -f ${haproxy_config}
if [ $? -ne 0 ]; then
err 1 "Error found in ${haproxy_config} - not reloading current process!"
fi
rc_pid=$(check_pidfile ${pidfile} ${command})
if [ $rc_pid ]; then
${command} ${haproxy_flags} $reload_opt $(cat ${pidfile})
else
_run_rc_notrunning
return 1
fi
}
haproxy_stop()
{
rc_pid=$(check_pidfile ${pidfile} ${command})
if [ $rc_pid ]; then
rc_pid=$(cat ${pidfile})
kill -$sig_stop $rc_pid
wait_for_pids $rc_pid
else
_run_rc_notrunning
return 1
fi
}
run_rc_command "$1"

View File

@ -1,14 +0,0 @@
--- src/cpuset.c.orig 2021-12-23 16:47:51 UTC
+++ src/cpuset.c
@@ -53,7 +53,11 @@ void ha_cpuset_and(struct hap_cpuset *dst, const struc
CPU_AND(&dst->cpuset, &dst->cpuset, &src->cpuset);
#elif defined(CPUSET_USE_FREEBSD_CPUSET)
+#if defined(CPU_ALLOC)
+ CPU_AND(&dst->cpuset, &dst->cpuset, &src->cpuset);
+#else
CPU_AND(&dst->cpuset, &src->cpuset);
+#endif
#elif defined(CPUSET_USE_ULONG)
dst->cpuset &= src->cpuset;

View File

@ -1,62 +0,0 @@
From c03a02388257e21810c534d50a93658e61a83494 Mon Sep 17 00:00:00 2001
From: Brooks Davis <brooks@one-eyed-alien.net>
Date: Wed, 28 Feb 2024 18:12:40 +0000
Subject: [PATCH] MINOR: tools: use public interface for FreeBSD
get_exec_path()
Where possible (FreeBSD 13+), use the public, documented interface to
the ELF auxiliary argument vector: elf_aux_info().
__elf_aux_vector is a private interface exported so that the runtime
linker can set its value during process startup and not intended for
public consumption. In FreeBSD 15 it has been removed from libc and
moved to libsys.
---
src/tools.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/tools.c b/src/tools.c
index e1ba241..4759222 100644
--- src/tools.c
+++ src/tools.c
@@ -17,9 +17,14 @@
#endif
#if defined(__FreeBSD__)
+#include <sys/param.h>
+#if __FreeBSD_version < 1300058
#include <elf.h>
#include <dlfcn.h>
extern void *__elf_aux_vector;
+#else
+#include <sys/auxv.h>
+#endif
#endif
#if defined(__NetBSD__)
@@ -5018,6 +5023,7 @@ const char *get_exec_path()
if (execfn && execfn != ENOENT)
ret = (const char *)execfn;
#elif defined(__FreeBSD__)
+#if __FreeBSD_version < 1300058
Elf_Auxinfo *auxv;
for (auxv = __elf_aux_vector; auxv->a_type != AT_NULL; ++auxv) {
if (auxv->a_type == AT_EXECPATH) {
@@ -5025,6 +5031,14 @@ const char *get_exec_path()
break;
}
}
+#else
+ static char execpath[MAXPATHLEN];
+
+ if (execpath[0] == '\0')
+ elf_aux_info(AT_EXECPATH, execpath, MAXPATHLEN);
+ if (execpath[0] != '\0')
+ ret = execpath;
+#endif
#elif defined(__NetBSD__)
AuxInfo *auxv;
for (auxv = _dlauxinfo(); auxv->a_type != AT_NULL; ++auxv) {
--
1.7.10.4

View File

@ -1,4 +0,0 @@
HAProxy is a free, very fast and reliable solution offering high
availability, load balancing, and proxying for TCP and HTTP-based
applications. It is particularly suited for web sites crawling under
very high loads while needing persistence or Layer7 processing.

View File

@ -1,113 +0,0 @@
share/man/man1/haproxy.1.gz
sbin/halog
sbin/haproxy
%%PORTDOCS%%%%DOCSDIR%%/51Degrees-device-detection.txt
%%PORTDOCS%%%%DOCSDIR%%/DeviceAtlas-device-detection.txt
%%PORTDOCS%%%%DOCSDIR%%/SOCKS4.protocol.txt
%%PORTDOCS%%%%DOCSDIR%%/SPOE.txt
%%PORTDOCS%%%%DOCSDIR%%/WURFL-device-detection.txt
%%PORTDOCS%%%%DOCSDIR%%/acl.fig
%%PORTDOCS%%%%DOCSDIR%%/architecture.txt
%%PORTDOCS%%%%DOCSDIR%%/close-options.txt
%%PORTDOCS%%%%DOCSDIR%%/coding-style.txt
%%PORTDOCS%%%%DOCSDIR%%/configuration.txt
%%PORTDOCS%%%%DOCSDIR%%/cookie-options.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/backends-v0.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/backends.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/be-fe-changes.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/binding-possibilities.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/config-language.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/connection-reuse.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/connection-sharing.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/dynamic-buffers.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/entities-v2.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/how-it-works.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/http2.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/http_load_time.url
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/rate-shaping.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/sess_par_sec.txt
%%PORTDOCS%%%%DOCSDIR%%/gpl.txt
%%PORTDOCS%%%%DOCSDIR%%/haproxy.1
%%PORTDOCS%%%%DOCSDIR%%/internals/acl.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/buffer-api.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/filters.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/htx-api.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/initcalls.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/ist.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/list.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/scheduler.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/body-parsing.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/connect-status.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/connection-header.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/connection-scale.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/entities-v2.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/entities.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/entities.pdf
%%PORTDOCS%%%%DOCSDIR%%/internals/entities.svg
%%PORTDOCS%%%%DOCSDIR%%/internals/entities.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/fd-migration.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/hashing.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/header-parser-speed.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/header-tree.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/http-cookies.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/http-docs.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/http-parsing.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/list.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/list.png
%%PORTDOCS%%%%DOCSDIR%%/internals/listener-states.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/listener-states.png
%%PORTDOCS%%%%DOCSDIR%%/internals/lua_socket.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/lua_socket.pdf
%%PORTDOCS%%%%DOCSDIR%%/internals/muxes.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/muxes.pdf
%%PORTDOCS%%%%DOCSDIR%%/internals/muxes.png
%%PORTDOCS%%%%DOCSDIR%%/internals/muxes.svg
%%PORTDOCS%%%%DOCSDIR%%/internals/naming.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/notes-layers.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/pattern.dia
%%PORTDOCS%%%%DOCSDIR%%/internals/pattern.pdf
%%PORTDOCS%%%%DOCSDIR%%/internals/polling-states.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/repartition-be-fe-fi.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/sequence.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/sched.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/sched.pdf
%%PORTDOCS%%%%DOCSDIR%%/internals/sched.png
%%PORTDOCS%%%%DOCSDIR%%/internals/sched.svg
%%PORTDOCS%%%%DOCSDIR%%/internals/ssl_cert.dia
%%PORTDOCS%%%%DOCSDIR%%/internals/stats-v2.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/stream-sock-states.fig
%%PORTDOCS%%%%DOCSDIR%%/intro.txt
%%PORTDOCS%%%%DOCSDIR%%/lgpl.txt
%%PORTDOCS%%%%DOCSDIR%%/linux-syn-cookies.txt
%%PORTDOCS%%%%DOCSDIR%%/lua-api/Makefile
%%PORTDOCS%%%%DOCSDIR%%/lua-api/_static/channel.fig
%%PORTDOCS%%%%DOCSDIR%%/lua-api/_static/channel.png
%%PORTDOCS%%%%DOCSDIR%%/lua-api/conf.py
%%PORTDOCS%%%%DOCSDIR%%/lua-api/index.rst
%%PORTDOCS%%%%DOCSDIR%%/lua.txt
%%PORTDOCS%%%%DOCSDIR%%/management.txt
%%PORTDOCS%%%%DOCSDIR%%/netscaler-client-ip-insertion-protocol.txt
%%PORTDOCS%%%%DOCSDIR%%/network-namespaces.txt
%%PORTDOCS%%%%DOCSDIR%%/peers.txt
%%PORTDOCS%%%%DOCSDIR%%/peers-v2.0.txt
%%PORTDOCS%%%%DOCSDIR%%/proxy-protocol.txt
%%PORTDOCS%%%%DOCSDIR%%/queuing.fig
%%PORTDOCS%%%%DOCSDIR%%/regression-testing.txt
%%PORTDOCS%%%%DOCSDIR%%/seamless_reload.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/acl-content-sw.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/basic-config-edge.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/content-sw-sample.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/400.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/403.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/408.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/500.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/502.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/503.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/504.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/README
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/haproxy.init
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/option-http_proxy.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/quick-test.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/socks4.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/transparent_proxy.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wurfl-example.cfg

View File

@ -21,7 +21,7 @@ default_CONFLICTS_INSTALL= haproxy-lua
lua_CONFLICTS_INSTALL= haproxy lua_CONFLICTS_INSTALL= haproxy
lua_PKGNAMESUFFIX= 26-lua lua_PKGNAMESUFFIX= 26-lua
CONFLICTS_INSTALL= haproxy haproxy-devel haproxy17 haproxy18 haproxy20 haproxy22 haproxy23 haproxy24 haproxy25 CONFLICTS_INSTALL= haproxy haproxy-devel haproxy24 haproxy28
ALL_TARGET= all admin/halog/halog ALL_TARGET= all admin/halog/halog
MAKE_ARGS= TARGET=freebsd DEFINE=-DFREEBSD_PORTS USE_GETADDRINFO=1 \ MAKE_ARGS= TARGET=freebsd DEFINE=-DFREEBSD_PORTS USE_GETADDRINFO=1 \

View File

@ -1,76 +0,0 @@
PORTNAME= haproxy
DISTVERSION= 2.7.11
PORTREVISION= 1
CATEGORIES= net www
PKGNAMESUFFIX= 27
MASTER_SITES= http://www.haproxy.org/download/2.7/src/
MAINTAINER= demon@FreeBSD.org
COMMENT= Reliable, high performance TCP/HTTP load balancer
WWW= https://www.haproxy.org
LICENSE= GPLv2 LGPL21
LICENSE_COMB= multi
FLAVORS= default lua
FLAVOR?= ${FLAVORS:[1]}
USES= compiler:c++11-lang cpe gmake
USE_RC_SUBR= haproxy
default_CONFLICTS_INSTALL= haproxy-lua
lua_CONFLICTS_INSTALL= haproxy
lua_PKGNAMESUFFIX= 27-lua
CONFLICTS_INSTALL= haproxy-devel haproxy17 haproxy18 haproxy20 haproxy22 haproxy23 haproxy24 haproxy25 haproxy26
ALL_TARGET= all admin/halog/halog
MAKE_ARGS= TARGET=freebsd DEFINE=-DFREEBSD_PORTS USE_GETADDRINFO=1 \
USE_ZLIB=1 USE_CPU_AFFINITY=1 USE_ACCEPT4=1 \
CC="${CC}" DEBUG_CFLAGS="" CPU_CFLAGS="${CFLAGS}" \
${MAKE_ARGS_${ARCH}}
MAKE_ARGS_i386= USE_LIBATOMIC=
MAKE_ARGS_powerpc= USE_LIBATOMIC=
OPTIONS_DEFINE= DOCS EXAMPLES LUA OPENSSL DEVICEATLAS PROMEX
OPTIONS_RADIO= PCRE
OPTIONS_RADIO_PCRE= DPCRE DPCRE2 SPCRE SPCRE2
DPCRE_DESC= Link pcre(1) dynamically
DPCRE2_DESC= Link pcre2 dynamically
SPCRE_DESC= Link pcre(1) statically
SPCRE2_DESC= Link pcre2 statically
DEVICEATLAS_DESC= DeviceAtlas Device Detection support
PROMEX_DESC= Enable Prometheus exporter
OPTIONS_DEFAULT= DPCRE2 OPENSSL PROMEX
DPCRE_LIB_DEPENDS= libpcre.so:devel/pcre
DPCRE_MAKE_ARGS= USE_PCRE=1 USE_PCRE_JIT=1
DPCRE2_LIB_DEPENDS= libpcre2-8.so:devel/pcre2
DPCRE2_MAKE_ARGS= USE_PCRE2=1 USE_PCRE2_JIT=1
SPCRE_BUILD_DEPENDS= ${LOCALBASE}/lib/libpcre.a:devel/pcre
SPCRE_MAKE_ARGS= USE_PCRE=1 USE_STATIC_PCRE=1 USE_PCRE_JIT=1
SPCRE2_BUILD_DEPENDS= ${LOCALBASE}/lib/libpcre2-8.a:devel/pcre2
SPCRE2_MAKE_ARGS= USE_PCRE2=1 USE_STATIC_PCRE2=1 USE_PCRE2_JIT=1
DEVICEATLAS_LIB_DEPENDS= libda.so:net/deviceatlas-enterprise-c
DEVICEATLAS_MAKE_ARGS= USE_DEVICEATLAS=1 DEVICEATLAS_LIB=${LOCALBASE}/lib DEVICEATLAS_INC=${LOCALBASE}/include
PROMEX_MAKE_ARGS= USE_PROMEX=1
OPENSSL_USES= ssl
OPENSSL_MAKE_ARGS= USE_OPENSSL=1 SSL_LIB=${OPENSSLLIB} SSL_INC=${OPENSSLINC}
LUA_USES= lua:53
LUA_MAKE_ARGS= USE_LUA=1 LUA_INC=${LUA_INCDIR} LUA_LIB=${LUA_LIBDIR} LUA_LIB_NAME=lua-${LUA_VER}
.if ${FLAVOR:U} == lua
OPTIONS_DEFAULT+= LUA
.endif
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/haproxy ${STAGEDIR}${PREFIX}/sbin/
${INSTALL_PROGRAM} ${WRKSRC}/admin/halog/halog ${STAGEDIR}${PREFIX}/sbin/
${INSTALL_MAN} ${WRKSRC}/doc/haproxy.1 ${STAGEDIR}${PREFIX}/share/man/man1
${MKDIR} ${STAGEDIR}${DOCSDIR}
(cd ${WRKSRC}/doc/ && ${COPYTREE_SHARE} \* ${STAGEDIR}${DOCSDIR})
${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
(cd ${WRKSRC}/examples/ && ${COPYTREE_SHARE} \* ${STAGEDIR}${EXAMPLESDIR})
.include <bsd.port.mk>

View File

@ -1,3 +0,0 @@
TIMESTAMP = 1701983628
SHA256 (haproxy-2.7.11.tar.gz) = b064c5cd64615899ab39e518ff900b71c6e321d5f883d32dd871c31b372ebbc4
SIZE (haproxy-2.7.11.tar.gz) = 4213212

View File

@ -1,130 +0,0 @@
#!/bin/sh
# PROVIDE: haproxy
# REQUIRE: DAEMON LOGIN
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to enable haproxy:
#
# haproxy_enable (bool): default: "NO"
# Set to "YES" to enable haproxy
# haproxy_pidfile (str): default: /var/run/haproxy.pid
# Set to the full path of the pid file
# haproxy_config (str): default: %%PREFIX%%/etc/haproxy.conf
# Set to the full path of the config file
# haproxy_flags (str): default: Autogenerated using pidfile and config options
# Set to override with your own options
# haproxy_profiles (str): default: empty
# Set to space-separated list of profiles: for each profile separate haproxy
# process will be spawned, with haproxy-${profile}.conf config file.
# You can override default pidfile and config file for each profile with
# haproxy_${profile}_config and haproxy_${profile}_pidfile.
. /etc/rc.subr
name="haproxy"
rcvar=haproxy_enable
command="%%PREFIX%%/sbin/haproxy"
extra_commands="reload configtest hardstop hardreload softreload"
reload_cmd="haproxy_reload"
hardreload_cmd="haproxy_reload"
hardreload_precmd="def_hardreload_option"
softreload_cmd="haproxy_reload"
softreload_precmd="def_softreload_option"
stop_cmd="haproxy_stop"
hardstop_cmd="haproxy_stop"
hardstop_precmd="def_hardstop_signal"
: ${haproxy_enable:="NO"}
: ${haproxy_config:="%%PREFIX%%/etc/${name}.conf"}
: ${haproxy_socket:="/var/run/${name}/socket"}
pidfile=${haproxy_pidfile:-"/var/run/haproxy.pid"}
def_hardreload_option()
{
reload_opt="-st"
}
def_softreload_option()
{
reload_opt="-x ${haproxy_socket} -sf"
}
def_hardstop_signal()
{
sig_stop="TERM"
}
load_rc_config $name
is_valid_profile() {
local profile
for profile in $haproxy_profiles; do
if [ "$profile" = "$1" ]; then
return 0
fi
done
return 1
}
if [ -n "$2" ]; then
profile=$2
if ! is_valid_profile $profile; then
echo "$0: no such profile ($profile) defined in ${name}_profiles."
exit 1
fi
eval haproxy_config="\${haproxy_${profile}_config:-%%PREFIX%%/etc/haproxy-${profile}.conf}"
eval pidfile="\${haproxy_${profile}_pidfile:-/var/run/haproxy-${profile}.pid}"
else
if [ "x${haproxy_profiles}" != "x" -a "x$1" != "x" ]; then
for profile in ${haproxy_profiles}; do
echo "===> ${name} profile: ${profile}"
%%PREFIX%%/etc/rc.d/haproxy $1 ${profile}
retcode="$?"
if [ ${retcode} -ne 0 ]; then
failed="${profile} (${retcode}) ${failed:-}"
else
success="${profile} ${success:-}"
fi
done
exit 0
fi
fi
: ${haproxy_flags:="-q -f ${haproxy_config} -p ${pidfile}"}
configtest_cmd="$command -c -f $haproxy_config"
start_precmd="$command -q -c -f $haproxy_config"
required_files=$haproxy_config
sig_stop=SIGUSR1
reload_opt="-sf"
haproxy_reload()
{
${command} -q -c -f ${haproxy_config}
if [ $? -ne 0 ]; then
err 1 "Error found in ${haproxy_config} - not reloading current process!"
fi
rc_pid=$(check_pidfile ${pidfile} ${command})
if [ $rc_pid ]; then
${command} ${haproxy_flags} $reload_opt $(cat ${pidfile})
else
_run_rc_notrunning
return 1
fi
}
haproxy_stop()
{
rc_pid=$(check_pidfile ${pidfile} ${command})
if [ $rc_pid ]; then
rc_pid=$(cat ${pidfile})
kill -$sig_stop $rc_pid
wait_for_pids $rc_pid
else
_run_rc_notrunning
return 1
fi
}
run_rc_command "$1"

View File

@ -1,14 +0,0 @@
--- src/cpuset.c.orig 2021-12-23 16:47:51 UTC
+++ src/cpuset.c
@@ -53,7 +53,11 @@ void ha_cpuset_and(struct hap_cpuset *dst, const struc
CPU_AND(&dst->cpuset, &dst->cpuset, &src->cpuset);
#elif defined(CPUSET_USE_FREEBSD_CPUSET)
+#if defined(CPU_ALLOC)
+ CPU_AND(&dst->cpuset, &dst->cpuset, &src->cpuset);
+#else
CPU_AND(&dst->cpuset, &src->cpuset);
+#endif
#elif defined(CPUSET_USE_ULONG)
dst->cpuset &= src->cpuset;

View File

@ -1,62 +0,0 @@
From c03a02388257e21810c534d50a93658e61a83494 Mon Sep 17 00:00:00 2001
From: Brooks Davis <brooks@one-eyed-alien.net>
Date: Wed, 28 Feb 2024 18:12:40 +0000
Subject: [PATCH] MINOR: tools: use public interface for FreeBSD
get_exec_path()
Where possible (FreeBSD 13+), use the public, documented interface to
the ELF auxiliary argument vector: elf_aux_info().
__elf_aux_vector is a private interface exported so that the runtime
linker can set its value during process startup and not intended for
public consumption. In FreeBSD 15 it has been removed from libc and
moved to libsys.
---
src/tools.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/tools.c b/src/tools.c
index e1ba241..4759222 100644
--- src/tools.c
+++ src/tools.c
@@ -17,9 +17,14 @@
#endif
#if defined(__FreeBSD__)
+#include <sys/param.h>
+#if __FreeBSD_version < 1300058
#include <elf.h>
#include <dlfcn.h>
extern void *__elf_aux_vector;
+#else
+#include <sys/auxv.h>
+#endif
#endif
#if defined(__NetBSD__)
@@ -5018,6 +5023,7 @@ const char *get_exec_path()
if (execfn && execfn != ENOENT)
ret = (const char *)execfn;
#elif defined(__FreeBSD__)
+#if __FreeBSD_version < 1300058
Elf_Auxinfo *auxv;
for (auxv = __elf_aux_vector; auxv->a_type != AT_NULL; ++auxv) {
if (auxv->a_type == AT_EXECPATH) {
@@ -5025,6 +5031,14 @@ const char *get_exec_path()
break;
}
}
+#else
+ static char execpath[MAXPATHLEN];
+
+ if (execpath[0] == '\0')
+ elf_aux_info(AT_EXECPATH, execpath, MAXPATHLEN);
+ if (execpath[0] != '\0')
+ ret = execpath;
+#endif
#elif defined(__NetBSD__)
AuxInfo *auxv;
for (auxv = _dlauxinfo(); auxv->a_type != AT_NULL; ++auxv) {
--
1.7.10.4

View File

@ -1,4 +0,0 @@
HAProxy is a free, very fast and reliable solution offering high
availability, load balancing, and proxying for TCP and HTTP-based
applications. It is particularly suited for web sites crawling under
very high loads while needing persistence or Layer7 processing.

View File

@ -1,116 +0,0 @@
share/man/man1/haproxy.1.gz
sbin/halog
sbin/haproxy
%%PORTDOCS%%%%DOCSDIR%%/51Degrees-device-detection.txt
%%PORTDOCS%%%%DOCSDIR%%/DeviceAtlas-device-detection.txt
%%PORTDOCS%%%%DOCSDIR%%/SOCKS4.protocol.txt
%%PORTDOCS%%%%DOCSDIR%%/SPOE.txt
%%PORTDOCS%%%%DOCSDIR%%/WURFL-device-detection.txt
%%PORTDOCS%%%%DOCSDIR%%/acl.fig
%%PORTDOCS%%%%DOCSDIR%%/architecture.txt
%%PORTDOCS%%%%DOCSDIR%%/close-options.txt
%%PORTDOCS%%%%DOCSDIR%%/coding-style.txt
%%PORTDOCS%%%%DOCSDIR%%/configuration.txt
%%PORTDOCS%%%%DOCSDIR%%/cookie-options.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/backends-v0.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/backends.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/be-fe-changes.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/binding-possibilities.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/config-language.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/connection-reuse.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/connection-sharing.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/dynamic-buffers.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/entities-v2.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/how-it-works.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/http2.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/http_load_time.url
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/pool-debugging.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/rate-shaping.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/sess_par_sec.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/thread-group.txt
%%PORTDOCS%%%%DOCSDIR%%/gpl.txt
%%PORTDOCS%%%%DOCSDIR%%/haproxy.1
%%PORTDOCS%%%%DOCSDIR%%/internals/acl.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/appctx.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/buffer-api.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/filters.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/htx-api.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/initcalls.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/ist.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/layers.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/list.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/pools.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/scheduler.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/body-parsing.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/connect-status.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/connection-header.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/connection-scale.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/entities-v2.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/entities.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/fd-migration.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/hashing.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/header-parser-speed.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/header-tree.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/http-cookies.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/http-docs.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/http-parsing.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/list.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/list.png
%%PORTDOCS%%%%DOCSDIR%%/internals/listener-states.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/listener-states.png
%%PORTDOCS%%%%DOCSDIR%%/internals/lua_socket.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/lua_socket.pdf
%%PORTDOCS%%%%DOCSDIR%%/internals/muxes.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/muxes.pdf
%%PORTDOCS%%%%DOCSDIR%%/internals/muxes.png
%%PORTDOCS%%%%DOCSDIR%%/internals/muxes.svg
%%PORTDOCS%%%%DOCSDIR%%/internals/naming.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/notes-layers.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/notes-poll-connect.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/notes-pollhup.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/notes-polling.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/pattern.dia
%%PORTDOCS%%%%DOCSDIR%%/internals/pattern.pdf
%%PORTDOCS%%%%DOCSDIR%%/internals/polling-states.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/repartition-be-fe-fi.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/sched.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/sched.pdf
%%PORTDOCS%%%%DOCSDIR%%/internals/sched.png
%%PORTDOCS%%%%DOCSDIR%%/internals/sched.svg
%%PORTDOCS%%%%DOCSDIR%%/internals/ssl_cert.dia
%%PORTDOCS%%%%DOCSDIR%%/internals/stats-v2.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/stream-sock-states.fig
%%PORTDOCS%%%%DOCSDIR%%/intro.txt
%%PORTDOCS%%%%DOCSDIR%%/lgpl.txt
%%PORTDOCS%%%%DOCSDIR%%/linux-syn-cookies.txt
%%PORTDOCS%%%%DOCSDIR%%/lua-api/Makefile
%%PORTDOCS%%%%DOCSDIR%%/lua-api/_static/channel.fig
%%PORTDOCS%%%%DOCSDIR%%/lua-api/_static/channel.png
%%PORTDOCS%%%%DOCSDIR%%/lua-api/conf.py
%%PORTDOCS%%%%DOCSDIR%%/lua-api/index.rst
%%PORTDOCS%%%%DOCSDIR%%/lua.txt
%%PORTDOCS%%%%DOCSDIR%%/management.txt
%%PORTDOCS%%%%DOCSDIR%%/netscaler-client-ip-insertion-protocol.txt
%%PORTDOCS%%%%DOCSDIR%%/network-namespaces.txt
%%PORTDOCS%%%%DOCSDIR%%/peers.txt
%%PORTDOCS%%%%DOCSDIR%%/peers-v2.0.txt
%%PORTDOCS%%%%DOCSDIR%%/proxy-protocol.txt
%%PORTDOCS%%%%DOCSDIR%%/queuing.fig
%%PORTDOCS%%%%DOCSDIR%%/regression-testing.txt
%%PORTDOCS%%%%DOCSDIR%%/seamless_reload.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/basic-config-edge.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/content-sw-sample.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/400.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/403.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/408.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/500.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/502.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/503.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/504.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/README
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/haproxy.init
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/option-http_proxy.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/quick-test.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/socks4.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/transparent_proxy.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wurfl-example.cfg

View File

@ -21,7 +21,7 @@ default_CONFLICTS_INSTALL= haproxy-lua
lua_CONFLICTS_INSTALL= haproxy lua_CONFLICTS_INSTALL= haproxy
lua_PKGNAMESUFFIX= 28-lua lua_PKGNAMESUFFIX= 28-lua
CONFLICTS_INSTALL= haproxy-devel haproxy17 haproxy18 haproxy20 haproxy22 haproxy23 haproxy24 haproxy25 haproxy26 haproxy27 CONFLICTS_INSTALL= haproxy-devel haproxy haproxy24 haproxy26
ALL_TARGET= all admin/halog/halog ALL_TARGET= all admin/halog/halog
MAKE_ARGS= TARGET=freebsd DEFINE=-DFREEBSD_PORTS USE_GETADDRINFO=1 \ MAKE_ARGS= TARGET=freebsd DEFINE=-DFREEBSD_PORTS USE_GETADDRINFO=1 \

View File

@ -1,83 +0,0 @@
PORTNAME= haproxy
DISTVERSION= 2.9.14
CATEGORIES= net www
PKGNAMESUFFIX= 29
MASTER_SITES= http://www.haproxy.org/download/2.9/src/
MAINTAINER= demon@FreeBSD.org
COMMENT= Reliable, high performance TCP/HTTP load balancer
WWW= https://www.haproxy.org
LICENSE= GPLv2 LGPL21
LICENSE_COMB= multi
FLAVORS= default lua
FLAVOR?= ${FLAVORS:[1]}
USES= compiler:c++11-lang cpe gmake
USE_RC_SUBR= haproxy
default_CONFLICTS_INSTALL= haproxy-lua
lua_CONFLICTS_INSTALL= haproxy
lua_PKGNAMESUFFIX= 29-lua
CONFLICTS_INSTALL= haproxy-devel haproxy17 haproxy18 haproxy20 haproxy22 haproxy23 haproxy24 haproxy25 haproxy26 haproxy27
ALL_TARGET= all admin/halog/halog
MAKE_ARGS= TARGET=freebsd DEFINE=-DFREEBSD_PORTS USE_GETADDRINFO=1 \
USE_ZLIB=1 USE_CPU_AFFINITY=1 USE_ACCEPT4=1 \
CC="${CC}" DEBUG_CFLAGS="" CPU_CFLAGS="${CFLAGS}" \
${MAKE_ARGS_${ARCH}}
MAKE_ARGS_i386= USE_LIBATOMIC=
MAKE_ARGS_powerpc= USE_LIBATOMIC=
OPTIONS_DEFINE= DOCS EXAMPLES LUA OPENSSL DEVICEATLAS PROMEX
OPTIONS_RADIO= PCRE
OPTIONS_RADIO_PCRE= DPCRE DPCRE2 SPCRE SPCRE2
DPCRE_DESC= Link pcre(1) dynamically
DPCRE2_DESC= Link pcre2 dynamically
SPCRE_DESC= Link pcre(1) statically
SPCRE2_DESC= Link pcre2 statically
DEVICEATLAS_DESC= DeviceAtlas Device Detection support
PROMEX_DESC= Enable Prometheus exporter
OPTIONS_DEFAULT= DPCRE2 OPENSSL PROMEX
DPCRE_LIB_DEPENDS= libpcre.so:devel/pcre
DPCRE_MAKE_ARGS= USE_PCRE=1 USE_PCRE_JIT=1
DPCRE2_LIB_DEPENDS= libpcre2-8.so:devel/pcre2
DPCRE2_MAKE_ARGS= USE_PCRE2=1 USE_PCRE2_JIT=1
SPCRE_BUILD_DEPENDS= ${LOCALBASE}/lib/libpcre.a:devel/pcre
SPCRE_MAKE_ARGS= USE_PCRE=1 USE_STATIC_PCRE=1 USE_PCRE_JIT=1
SPCRE2_BUILD_DEPENDS= ${LOCALBASE}/lib/libpcre2-8.a:devel/pcre2
SPCRE2_MAKE_ARGS= USE_PCRE2=1 USE_STATIC_PCRE2=1 USE_PCRE2_JIT=1
DEVICEATLAS_LIB_DEPENDS= libda.so:net/deviceatlas-enterprise-c
DEVICEATLAS_MAKE_ARGS= USE_DEVICEATLAS=1 DEVICEATLAS_LIB=${LOCALBASE}/lib DEVICEATLAS_INC=${LOCALBASE}/include
PROMEX_MAKE_ARGS= USE_PROMEX=1
OPENSSL_USES= ssl
OPENSSL_MAKE_ARGS= USE_OPENSSL=1 SSL_LIB=${OPENSSLLIB} SSL_INC=${OPENSSLINC}
LUA_USES= lua:53
LUA_MAKE_ARGS= USE_LUA=1 LUA_INC=${LUA_INCDIR} LUA_LIB=${LUA_LIBDIR} LUA_LIB_NAME=lua-${LUA_VER}
.if ${FLAVOR:U} == lua
OPTIONS_DEFAULT+= LUA
.endif
.include <bsd.port.pre.mk>
.if ${SSL_DEFAULT:Mlibressl*} || ${SSL_DEFAULT:M*quictls}
OPENSSL_MAKE_ARGS+= USE_QUIC=1
.else
OPENSSL_MAKE_ARGS+= USE_QUIC=1 USE_QUIC_OPENSSL_COMPAT=1
.endif
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/haproxy ${STAGEDIR}${PREFIX}/sbin/
${INSTALL_PROGRAM} ${WRKSRC}/admin/halog/halog ${STAGEDIR}${PREFIX}/sbin/
${INSTALL_MAN} ${WRKSRC}/doc/haproxy.1 ${STAGEDIR}${PREFIX}/share/man/man1
${MKDIR} ${STAGEDIR}${DOCSDIR}
(cd ${WRKSRC}/doc/ && ${COPYTREE_SHARE} \* ${STAGEDIR}${DOCSDIR})
${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
(cd ${WRKSRC}/examples/ && ${COPYTREE_SHARE} \* ${STAGEDIR}${EXAMPLESDIR})
.include <bsd.port.post.mk>

View File

@ -1,3 +0,0 @@
TIMESTAMP = 1738233364
SHA256 (haproxy-2.9.14.tar.gz) = f4481c40f23d5ebfb7c182f07d3631c28dce4702ebe2f9bffe460585a2df6a7b
SIZE (haproxy-2.9.14.tar.gz) = 4557688

View File

@ -1,130 +0,0 @@
#!/bin/sh
# PROVIDE: haproxy
# REQUIRE: DAEMON LOGIN
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to enable haproxy:
#
# haproxy_enable (bool): default: "NO"
# Set to "YES" to enable haproxy
# haproxy_pidfile (str): default: /var/run/haproxy.pid
# Set to the full path of the pid file
# haproxy_config (str): default: %%PREFIX%%/etc/haproxy.conf
# Set to the full path of the config file
# haproxy_flags (str): default: Autogenerated using pidfile and config options
# Set to override with your own options
# haproxy_profiles (str): default: empty
# Set to space-separated list of profiles: for each profile separate haproxy
# process will be spawned, with haproxy-${profile}.conf config file.
# You can override default pidfile and config file for each profile with
# haproxy_${profile}_config and haproxy_${profile}_pidfile.
. /etc/rc.subr
name="haproxy"
rcvar=haproxy_enable
command="%%PREFIX%%/sbin/haproxy"
extra_commands="reload configtest hardstop hardreload softreload"
reload_cmd="haproxy_reload"
hardreload_cmd="haproxy_reload"
hardreload_precmd="def_hardreload_option"
softreload_cmd="haproxy_reload"
softreload_precmd="def_softreload_option"
stop_cmd="haproxy_stop"
hardstop_cmd="haproxy_stop"
hardstop_precmd="def_hardstop_signal"
: ${haproxy_enable:="NO"}
: ${haproxy_config:="%%PREFIX%%/etc/${name}.conf"}
: ${haproxy_socket:="/var/run/${name}/socket"}
pidfile=${haproxy_pidfile:-"/var/run/haproxy.pid"}
def_hardreload_option()
{
reload_opt="-st"
}
def_softreload_option()
{
reload_opt="-x ${haproxy_socket} -sf"
}
def_hardstop_signal()
{
sig_stop="TERM"
}
load_rc_config $name
is_valid_profile() {
local profile
for profile in $haproxy_profiles; do
if [ "$profile" = "$1" ]; then
return 0
fi
done
return 1
}
if [ -n "$2" ]; then
profile=$2
if ! is_valid_profile $profile; then
echo "$0: no such profile ($profile) defined in ${name}_profiles."
exit 1
fi
eval haproxy_config="\${haproxy_${profile}_config:-%%PREFIX%%/etc/haproxy-${profile}.conf}"
eval pidfile="\${haproxy_${profile}_pidfile:-/var/run/haproxy-${profile}.pid}"
else
if [ "x${haproxy_profiles}" != "x" -a "x$1" != "x" ]; then
for profile in ${haproxy_profiles}; do
echo "===> ${name} profile: ${profile}"
%%PREFIX%%/etc/rc.d/haproxy $1 ${profile}
retcode="$?"
if [ ${retcode} -ne 0 ]; then
failed="${profile} (${retcode}) ${failed:-}"
else
success="${profile} ${success:-}"
fi
done
exit 0
fi
fi
: ${haproxy_flags:="-q -f ${haproxy_config} -p ${pidfile}"}
configtest_cmd="$command -c -f $haproxy_config"
start_precmd="$command -q -c -f $haproxy_config"
required_files=$haproxy_config
sig_stop=SIGUSR1
reload_opt="-sf"
haproxy_reload()
{
${command} -q -c -f ${haproxy_config}
if [ $? -ne 0 ]; then
err 1 "Error found in ${haproxy_config} - not reloading current process!"
fi
rc_pid=$(check_pidfile ${pidfile} ${command})
if [ $rc_pid ]; then
${command} ${haproxy_flags} $reload_opt $(cat ${pidfile})
else
_run_rc_notrunning
return 1
fi
}
haproxy_stop()
{
rc_pid=$(check_pidfile ${pidfile} ${command})
if [ $rc_pid ]; then
rc_pid=$(cat ${pidfile})
kill -$sig_stop $rc_pid
wait_for_pids $rc_pid
else
_run_rc_notrunning
return 1
fi
}
run_rc_command "$1"

View File

@ -1,14 +0,0 @@
--- src/cpuset.c.orig 2021-12-23 16:47:51 UTC
+++ src/cpuset.c
@@ -53,7 +53,11 @@ void ha_cpuset_and(struct hap_cpuset *dst, const struc
CPU_AND(&dst->cpuset, &dst->cpuset, &src->cpuset);
#elif defined(CPUSET_USE_FREEBSD_CPUSET)
+#if defined(CPU_ALLOC)
+ CPU_AND(&dst->cpuset, &dst->cpuset, &src->cpuset);
+#else
CPU_AND(&dst->cpuset, &src->cpuset);
+#endif
#elif defined(CPUSET_USE_ULONG)
dst->cpuset &= src->cpuset;

View File

@ -1,62 +0,0 @@
From c03a02388257e21810c534d50a93658e61a83494 Mon Sep 17 00:00:00 2001
From: Brooks Davis <brooks@one-eyed-alien.net>
Date: Wed, 28 Feb 2024 18:12:40 +0000
Subject: [PATCH] MINOR: tools: use public interface for FreeBSD
get_exec_path()
Where possible (FreeBSD 13+), use the public, documented interface to
the ELF auxiliary argument vector: elf_aux_info().
__elf_aux_vector is a private interface exported so that the runtime
linker can set its value during process startup and not intended for
public consumption. In FreeBSD 15 it has been removed from libc and
moved to libsys.
---
src/tools.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/tools.c b/src/tools.c
index e1ba241..4759222 100644
--- src/tools.c
+++ src/tools.c
@@ -17,9 +17,14 @@
#endif
#if defined(__FreeBSD__)
+#include <sys/param.h>
+#if __FreeBSD_version < 1300058
#include <elf.h>
#include <dlfcn.h>
extern void *__elf_aux_vector;
+#else
+#include <sys/auxv.h>
+#endif
#endif
#if defined(__NetBSD__)
@@ -5018,6 +5023,7 @@ const char *get_exec_path()
if (execfn && execfn != ENOENT)
ret = (const char *)execfn;
#elif defined(__FreeBSD__)
+#if __FreeBSD_version < 1300058
Elf_Auxinfo *auxv;
for (auxv = __elf_aux_vector; auxv->a_type != AT_NULL; ++auxv) {
if (auxv->a_type == AT_EXECPATH) {
@@ -5025,6 +5031,14 @@ const char *get_exec_path()
break;
}
}
+#else
+ static char execpath[MAXPATHLEN];
+
+ if (execpath[0] == '\0')
+ elf_aux_info(AT_EXECPATH, execpath, MAXPATHLEN);
+ if (execpath[0] != '\0')
+ ret = execpath;
+#endif
#elif defined(__NetBSD__)
AuxInfo *auxv;
for (auxv = _dlauxinfo(); auxv->a_type != AT_NULL; ++auxv) {
--
1.7.10.4

View File

@ -1,4 +0,0 @@
HAProxy is a free, very fast and reliable solution offering high
availability, load balancing, and proxying for TCP and HTTP-based
applications. It is particularly suited for web sites crawling under
very high loads while needing persistence or Layer7 processing.

View File

@ -1,100 +0,0 @@
share/man/man1/haproxy.1.gz
sbin/halog
sbin/haproxy
%%PORTDOCS%%%%DOCSDIR%%/51Degrees-device-detection.txt
%%PORTDOCS%%%%DOCSDIR%%/DeviceAtlas-device-detection.txt
%%PORTDOCS%%%%DOCSDIR%%/SOCKS4.protocol.txt
%%PORTDOCS%%%%DOCSDIR%%/SPOE.txt
%%PORTDOCS%%%%DOCSDIR%%/WURFL-device-detection.txt
%%PORTDOCS%%%%DOCSDIR%%/acl.fig
%%PORTDOCS%%%%DOCSDIR%%/architecture.txt
%%PORTDOCS%%%%DOCSDIR%%/coding-style.txt
%%PORTDOCS%%%%DOCSDIR%%/configuration.txt
%%PORTDOCS%%%%DOCSDIR%%/cookie-options.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/binding-possibilities.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/connection-reuse.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/http_load_time.url
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/pool-debugging.txt
%%PORTDOCS%%%%DOCSDIR%%/design-thoughts/thread-group.txt
%%PORTDOCS%%%%DOCSDIR%%/gpl.txt
%%PORTDOCS%%%%DOCSDIR%%/haproxy.1
%%PORTDOCS%%%%DOCSDIR%%/internals/acl.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/appctx.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/buffer-api.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/event_hdl.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/filters.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/htx-api.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/initcalls.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/ist.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/layers.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/list.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/pools.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/api/scheduler.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/body-parsing.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/connect-status.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/connection-header.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/connection-scale.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/fd-migration.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/hashing.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/list.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/list.png
%%PORTDOCS%%%%DOCSDIR%%/internals/listener-states.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/listener-states.png
%%PORTDOCS%%%%DOCSDIR%%/internals/lua_socket.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/lua_socket.pdf
%%PORTDOCS%%%%DOCSDIR%%/internals/muxes.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/muxes.pdf
%%PORTDOCS%%%%DOCSDIR%%/internals/muxes.png
%%PORTDOCS%%%%DOCSDIR%%/internals/muxes.svg
%%PORTDOCS%%%%DOCSDIR%%/internals/notes-layers.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/notes-poll-connect.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/notes-pollhup.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/notes-polling.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/pattern.dia
%%PORTDOCS%%%%DOCSDIR%%/internals/pattern.pdf
%%PORTDOCS%%%%DOCSDIR%%/internals/polling-states.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/sched.fig
%%PORTDOCS%%%%DOCSDIR%%/internals/sched.pdf
%%PORTDOCS%%%%DOCSDIR%%/internals/sched.png
%%PORTDOCS%%%%DOCSDIR%%/internals/sched.svg
%%PORTDOCS%%%%DOCSDIR%%/internals/ssl_cert.dia
%%PORTDOCS%%%%DOCSDIR%%/internals/stats-v2.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/stconn-close.txt
%%PORTDOCS%%%%DOCSDIR%%/internals/stream-sock-states.fig
%%PORTDOCS%%%%DOCSDIR%%/intro.txt
%%PORTDOCS%%%%DOCSDIR%%/lgpl.txt
%%PORTDOCS%%%%DOCSDIR%%/linux-syn-cookies.txt
%%PORTDOCS%%%%DOCSDIR%%/lua-api/Makefile
%%PORTDOCS%%%%DOCSDIR%%/lua-api/_static/channel.fig
%%PORTDOCS%%%%DOCSDIR%%/lua-api/_static/channel.png
%%PORTDOCS%%%%DOCSDIR%%/lua-api/conf.py
%%PORTDOCS%%%%DOCSDIR%%/lua-api/index.rst
%%PORTDOCS%%%%DOCSDIR%%/lua.txt
%%PORTDOCS%%%%DOCSDIR%%/management.txt
%%PORTDOCS%%%%DOCSDIR%%/netscaler-client-ip-insertion-protocol.txt
%%PORTDOCS%%%%DOCSDIR%%/network-namespaces.txt
%%PORTDOCS%%%%DOCSDIR%%/peers.txt
%%PORTDOCS%%%%DOCSDIR%%/peers-v2.0.txt
%%PORTDOCS%%%%DOCSDIR%%/proxy-protocol.txt
%%PORTDOCS%%%%DOCSDIR%%/queuing.fig
%%PORTDOCS%%%%DOCSDIR%%/regression-testing.txt
%%PORTDOCS%%%%DOCSDIR%%/seamless_reload.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/basic-config-edge.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/content-sw-sample.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/400.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/403.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/408.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/500.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/502.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/503.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/504.http
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/errorfiles/README
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/haproxy.init
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lua/README
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lua/event_handler.lua
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/lua/mailers.lua
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/option-http_proxy.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/quick-test.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/socks4.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/transparent_proxy.cfg
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wurfl-example.cfg