From c24500779ef2423ad1c3807afd83980a7a957764 Mon Sep 17 00:00:00 2001 From: morr Date: Mon, 31 Oct 2011 23:34:07 +0000 Subject: 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. --- net/haproxy/DESCR | 6 +++++ net/haproxy/Makefile | 54 ++++++++++++++++++++++++++++++++++++++++++++ net/haproxy/PLIST | 9 ++++++++ net/haproxy/distinfo | 6 +++++ net/haproxy/files/haproxy.sh | 19 ++++++++++++++++ net/haproxy/patches/patch-aa | 53 +++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 147 insertions(+) create mode 100644 net/haproxy/DESCR create mode 100644 net/haproxy/Makefile create mode 100644 net/haproxy/PLIST create mode 100644 net/haproxy/distinfo create mode 100644 net/haproxy/files/haproxy.sh create mode 100644 net/haproxy/patches/patch-aa (limited to 'net/haproxy') diff --git a/net/haproxy/DESCR b/net/haproxy/DESCR new file mode 100644 index 00000000000..f2e3c282e29 --- /dev/null +++ b/net/haproxy/DESCR @@ -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. diff --git a/net/haproxy/Makefile b/net/haproxy/Makefile new file mode 100644 index 00000000000..97df2d2ce00 --- /dev/null +++ b/net/haproxy/Makefile @@ -0,0 +1,54 @@ +# $NetBSD: Makefile,v 1.1.1.1 2011/10/31 23:34:07 morr Exp $ + +DISTNAME= haproxy-1.4.18 +CATEGORIES= net 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" diff --git a/net/haproxy/PLIST b/net/haproxy/PLIST new file mode 100644 index 00000000000..f57bc8b8b04 --- /dev/null +++ b/net/haproxy/PLIST @@ -0,0 +1,9 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2011/10/31 23:34:07 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 diff --git a/net/haproxy/distinfo b/net/haproxy/distinfo new file mode 100644 index 00000000000..0ce4b29a008 --- /dev/null +++ b/net/haproxy/distinfo @@ -0,0 +1,6 @@ +$NetBSD: distinfo,v 1.1.1.1 2011/10/31 23:34:07 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 diff --git a/net/haproxy/files/haproxy.sh b/net/haproxy/files/haproxy.sh new file mode 100644 index 00000000000..bc2b733f9f3 --- /dev/null +++ b/net/haproxy/files/haproxy.sh @@ -0,0 +1,19 @@ +#!@RCD_SCRIPTS_SHELL@ +# +# $NetBSD: haproxy.sh,v 1.1.1.1 2011/10/31 23:34:07 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" diff --git a/net/haproxy/patches/patch-aa b/net/haproxy/patches/patch-aa new file mode 100644 index 00000000000..1a87d31d193 --- /dev/null +++ b/net/haproxy/patches/patch-aa @@ -0,0 +1,53 @@ +$NetBSD: patch-aa,v 1.1.1.1 2011/10/31 23:34:07 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= 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" -- cgit v1.2.3