Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
net/haproxy28: copy net/haproxy under haproxy28 name in prepartion fo…
…r haproxy port update.
- Loading branch information
Dmitry Sivachenko
authored and
Dmitry Sivachenko
committed
Dec 30, 2023
1 parent
e86cc77
commit 1d50c21
Showing
7 changed files
with
336 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
PORTNAME= haproxy | ||
DISTVERSION= 2.8.5 | ||
PORTREVISION= 3 | ||
CATEGORIES= net www | ||
PKGNAMESUFFIX= 28 | ||
MASTER_SITES= http://www.haproxy.org/download/2.8/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= 28-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}${MAN1PREFIX}/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> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
TIMESTAMP = 1701983406 | ||
SHA256 (haproxy-2.8.5.tar.gz) = 3f5459c5a58e0b343a32eaef7ed5bed9d3fc29d8aa9e14b36c92c969fc2a60d9 | ||
SIZE (haproxy-2.8.5.tar.gz) = 4364802 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,130 @@ | ||
#!/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" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
--- 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; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
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 |