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.
Supporting tens of thousands of connections is clearly realistic with
todays hardware.
This commit is contained in:
morr 2011-10-31 10:49:31 +00:00
parent cb1ab8ce06
commit f859ab839e
6 changed files with 147 additions and 0 deletions

6
www/haproxy/DESCR Normal file
View file

@ -0,0 +1,6 @@
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.
Supporting tens of thousands of connections is clearly realistic with
todays hardware.

54
www/haproxy/Makefile Normal file
View file

@ -0,0 +1,54 @@
# $NetBSD: Makefile,v 1.1.1.1 2011/10/31 10:49:31 morr Exp $
DISTNAME= haproxy-1.4.18
CATEGORIES= www
MASTER_SITES= http://haproxy.1wt.eu/download/1.4/src/
MAINTAINER= morr@NetBSD.org
HOMEPAGE= http://haproxy.1wt.eu/
COMMENT= Reliable, high performance TCP/HTTP load balancer
LICENSE= gnu-gpl-v2
PKG_DESTDIR_SUPPORT= user-destdir
USE_TOOLS+= gmake
BUILD_MAKE_FLAGS+= TARGET=${TARGET}
INSTALL_MAKE_FLAGS+= TARGET=${TARGET}
INSTALL_MAKE_FLAGS+= PREFIX=${PREFIX}
INSTALL_MAKE_FLAGS+= DOCDIR=${PREFIX}/share/doc/${PKGBASE}
INSTALL_MAKE_FLAGS+= MANDIR=${PREFIX}/${PKGMANDIR}
EGDIR= ${PREFIX}/share/examples/${PKGBASE}
INSTALLATION_DIRS= ${EGDIR} share/examples/rc.d
.include "../../mk/bsd.prefs.mk"
.if ${OPSYS} == "NetBSD"
RCD_SCRIPTS= haproxy
INSTALLATION_DIRS+= share/examples/rc.d
.endif
.if ${OPSYS} == "NetBSD"
TARGET=netbsd
.elif ${OPSYS} == "FreeBSD"
TARGET=freebsd
.elif ${OPSYS} == "OpenBSD"
TARGET=openbsd
.elif ${OPSYS} == "Linux"
. if !empty(OS_VERSION:M2.6.*)
TARGET=linux26
. elif !empty(OS_VERSION:M2.4.*)
. if exists(/usr/include/linux/eventpoll.h)
TARGET=linux24e
. else
TARGET=linux24
. endif
. endif
.else
TARGET=generic
.endif
post-install:
${INSTALL_DATA} ${WRKSRC}/examples/haproxy.cfg ${DESTDIR}${EGDIR}/
.include "../../mk/bsd.pkg.mk"

9
www/haproxy/PLIST Normal file
View file

@ -0,0 +1,9 @@
@comment $NetBSD: PLIST,v 1.1.1.1 2011/10/31 10:49:31 morr Exp $
man/man1/haproxy.1
sbin/haproxy
share/doc/haproxy/architecture.txt
share/doc/haproxy/configuration.txt
share/doc/haproxy/haproxy-en.txt
share/doc/haproxy/haproxy-fr.txt
share/examples/haproxy/haproxy.cfg
share/examples/rc.d/haproxy

6
www/haproxy/distinfo Normal file
View file

@ -0,0 +1,6 @@
$NetBSD: distinfo,v 1.1.1.1 2011/10/31 10:49:31 morr Exp $
SHA1 (haproxy-1.4.18.tar.gz) = 191dbcb5880c711580693bd081ca5fdd8dde3012
RMD160 (haproxy-1.4.18.tar.gz) = 16729f0519a47123d88e849ae95d600c590c8583
Size (haproxy-1.4.18.tar.gz) = 820427 bytes
SHA1 (patch-aa) = 6012886156a54054cebf7f184d69a0cd0b1ad17b

View file

@ -0,0 +1,19 @@
#!@RCD_SCRIPTS_SHELL@
#
# $NetBSD: haproxy.sh,v 1.1.1.1 2011/10/31 10:49:31 morr Exp $
#
# PROVIDE: haproxy
# REQUIRE: network
$_rc_subr_loaded . /etc/rc.subr
name="haproxy"
rcvar=$name
command="/usr/pkg/sbin/${name}"
conf_file="/usr/pkg/etc/${name}.cfg"
required_files="${conf_file}"
command_args="-f $conf_file"
load_rc_config $name
run_rc_command "$1"

View file

@ -0,0 +1,53 @@
$NetBSD: patch-aa,v 1.1.1.1 2011/10/31 10:49:31 morr Exp $
Add support for NetBSD.
--- Makefile.orig 2011-03-09 08:00:16.000000000 +0000
+++ Makefile
@@ -71,7 +71,7 @@ DOCDIR = $(PREFIX)/doc/haproxy
# Use TARGET=<target_name> to optimize for a specifc target OS among the
# following list (use the default "generic" if uncertain) :
# generic, linux22, linux24, linux24e, linux26, solaris,
-# freebsd, openbsd, cygwin, custom
+# freebsd, netbsd, openbsd, cygwin, custom
TARGET =
#### TARGET CPU
@@ -89,7 +89,6 @@ ARCH =
#### Toolchain options.
# GCC is normally used both for compiling and linking.
-CC = gcc
LD = $(CC)
#### Debug flags (typically "-g").
@@ -228,6 +227,12 @@ ifeq ($(TARGET),freebsd)
USE_TPROXY = implicit
USE_LIBCRYPT = implicit
else
+ifeq ($(TARGET),netbsd)
+ # This is for NetBSD
+ USE_POLL = implicit
+ USE_KQUEUE = implicit
+ USE_TPROXY = implicit
+else
ifeq ($(TARGET),openbsd)
# This is for OpenBSD >= 3.0
USE_POLL = implicit
@@ -242,6 +247,7 @@ ifeq ($(TARGET),cygwin)
TARGET_CFLAGS = $(if $(filter 1.5.%, $(shell uname -r)), -DUSE_IPV6 -DAF_INET6=23 -DINET6_ADDRSTRLEN=46, )
endif # cygwin
endif # openbsd
+endif # netbsd
endif # freebsd
endif # solaris
endif # linux26
@@ -473,7 +479,7 @@ all:
@echo "Please choose the target among the following supported list :"
@echo
@echo " linux26, linux24, linux24e, linux22, solaris"
- @echo " freebsd, openbsd, cygwin, custom, generic"
+ @echo " freebsd, netbsd, openbsd, cygwin, custom, generic"
@echo
@echo "Use \"generic\" if you don't want any optimization, \"custom\" if you"
@echo "want to precisely tweak every option, or choose the target which"