summaryrefslogtreecommitdiff
path: root/net/haproxy
diff options
context:
space:
mode:
authorfhajny <fhajny@pkgsrc.org>2014-07-14 15:30:10 +0000
committerfhajny <fhajny@pkgsrc.org>2014-07-14 15:30:10 +0000
commit32fb52b406ebd32571b0242f3d6c0046fe77669a (patch)
tree9d6c350266c0352106c7da1d1260298982f95734 /net/haproxy
parent86c0bced2ee6b25109f021bc607c17368ed7936d (diff)
downloadpkgsrc-32fb52b406ebd32571b0242f3d6c0046fe77669a.tar.gz
Update haproxy to 1.5.2. Introduce support for OpenSSL, PCRE and Zlib.
1.5.2 ----- Two extra important issues were discovered since 1.5.1 which were fixed in 1.5.2. The first one can cause some sample fetch combinations to fail together in a same expression, and one artificial case (but totally useless) may even crash the process. The second one is an incomplete fix in 1.5-dev23 for the request body forwarding. Hash-based balancing algorithms and http-send-name-header may fail if a request contains a body which starts to be forwarded before the contents are used. A few other bugs were fixed, and the max syslog line length is now configurable per logger. 1.5.1 ----- Version 1.5.1 fixes a few bugs from 1.5.0 among which a really annoying one which can cause some file descriptor leak when dealing with clients which disappear from the net, resulting in the impossibility to accept new connections after some time. 1.5.0 ----- 1.5 expands 1.4 with many new features and performance improvements, including native SSL support on both sides with SNI/NPN/ALPN and OCSP stapling, IPv6 and UNIX sockets are supported everywhere, full HTTP keep-alive for better support of NTLM and improved efficiency in static farms, HTTP/1.1 compression (deflate, gzip) to save bandwidth, PROXY protocol versions 1 and 2 on both sides, data sampling on everything in request or response, including payload, ACLs can use any matching method with any input sample maps and dynamic ACLs updatable from the CLI stick-tables support counters to track activity on any input sample custom format for logs, unique-id, header rewriting, and redirects, improved health checks (SSL, scripted TCP, check agent, ...), much more scalable configuration supports hundreds of thousands of backends and certificates without sweating. Full changelog for the 1.5 branch: http://www.haproxy.org/download/1.5/src/CHANGELOG
Diffstat (limited to 'net/haproxy')
-rw-r--r--net/haproxy/Makefile13
-rw-r--r--net/haproxy/PLIST3
-rw-r--r--net/haproxy/distinfo12
-rw-r--r--net/haproxy/options.mk23
-rw-r--r--net/haproxy/patches/patch-aa24
-rw-r--r--net/haproxy/patches/patch-ab19
-rw-r--r--net/haproxy/patches/patch-standard_h30
7 files changed, 81 insertions, 43 deletions
diff --git a/net/haproxy/Makefile b/net/haproxy/Makefile
index 55e553f9232..e55db8de2cc 100644
--- a/net/haproxy/Makefile
+++ b/net/haproxy/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.12 2014/04/27 01:28:01 rodent Exp $
+# $NetBSD: Makefile,v 1.13 2014/07/14 15:30:10 fhajny Exp $
-DISTNAME= haproxy-1.4.25
+DISTNAME= haproxy-1.5.2
CATEGORIES= net www
-MASTER_SITES= http://haproxy.1wt.eu/download/1.4/src/
+MASTER_SITES= http://haproxy.1wt.eu/download/1.5/src/
MAINTAINER= morr@NetBSD.org
HOMEPAGE= http://haproxy.1wt.eu/
@@ -10,15 +10,17 @@ COMMENT= Reliable, high performance TCP/HTTP load balancer
LICENSE= gnu-gpl-v2
USE_TOOLS+= gmake
-BUILD_MAKE_FLAGS+= TARGET=${TARGET}
+BUILD_MAKE_FLAGS+= TARGET=${TARGET} ADDLIB=${COMPILER_RPATH_FLAG}${PREFIX}/lib USE_ZLIB=1
INSTALL_MAKE_FLAGS+= TARGET=${TARGET}
INSTALL_MAKE_FLAGS+= PREFIX=${PREFIX}
INSTALL_MAKE_FLAGS+= DOCDIR=${PREFIX}/share/doc/${PKGBASE}
INSTALL_MAKE_FLAGS+= MANDIR=${PREFIX}/${PKGMANDIR}
+.include "options.mk"
+
RCD_SCRIPTS= haproxy
EGDIR= ${PREFIX}/share/examples/${PKGBASE}
-INSTALLATION_DIRS= ${EGDIR} share/examples/rc.d
+INSTALLATION_DIRS+= ${EGDIR}
.include "../../mk/bsd.prefs.mk"
@@ -49,4 +51,5 @@ LIBS.SunOS+= -lxnet
post-install:
${INSTALL_DATA} ${WRKSRC}/examples/haproxy.cfg ${DESTDIR}${EGDIR}/
+.include "../../devel/zlib/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/net/haproxy/PLIST b/net/haproxy/PLIST
index 7c1e8050ae3..d72c92a330a 100644
--- a/net/haproxy/PLIST
+++ b/net/haproxy/PLIST
@@ -1,6 +1,7 @@
-@comment $NetBSD: PLIST,v 1.4 2014/03/11 14:05:08 jperkin Exp $
+@comment $NetBSD: PLIST,v 1.5 2014/07/14 15:30:10 fhajny Exp $
man/man1/haproxy.1
sbin/haproxy
+sbin/haproxy-systemd-wrapper
share/doc/haproxy/architecture.txt
share/doc/haproxy/configuration.txt
share/doc/haproxy/haproxy-en.txt
diff --git a/net/haproxy/distinfo b/net/haproxy/distinfo
index 1b469b1d1eb..83b7dd0bd22 100644
--- a/net/haproxy/distinfo
+++ b/net/haproxy/distinfo
@@ -1,7 +1,7 @@
-$NetBSD: distinfo,v 1.8 2014/04/27 01:28:01 rodent Exp $
+$NetBSD: distinfo,v 1.9 2014/07/14 15:30:10 fhajny Exp $
-SHA1 (haproxy-1.4.25.tar.gz) = f5c7dcaf0e8190f86e58b8e106dbc53609beaacd
-RMD160 (haproxy-1.4.25.tar.gz) = ececa8cf89c2c323016ba043ce5fc7e609b49efd
-Size (haproxy-1.4.25.tar.gz) = 838775 bytes
-SHA1 (patch-aa) = ad0de5c2ae97f4794635cdb823ec6b3049a50054
-SHA1 (patch-ab) = 10e051618f1fc561f5e5c87af576a87e1c3a884b
+SHA1 (haproxy-1.5.2.tar.gz) = d8668cbbf58524a6b4c6f5c434cc76b531235c8e
+RMD160 (haproxy-1.5.2.tar.gz) = f4496a84fe7990511f23c40d736d883e40ecaf9c
+Size (haproxy-1.5.2.tar.gz) = 1334897 bytes
+SHA1 (patch-aa) = be43fca3478d170620607cfe7f4b9ed30f341651
+SHA1 (patch-standard_h) = 08ef71d48cd846d16b7427e6dd133bb4a02d431c
diff --git a/net/haproxy/options.mk b/net/haproxy/options.mk
new file mode 100644
index 00000000000..12a2055c5f0
--- /dev/null
+++ b/net/haproxy/options.mk
@@ -0,0 +1,23 @@
+# $NetBSD: options.mk,v 1.1 2014/07/14 15:30:10 fhajny Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.haproxy
+PKG_SUPPORTED_OPTIONS= pcre ssl
+PKG_SUGGESTED_OPTIONS= pcre
+
+.include "../../mk/bsd.options.mk"
+
+###
+### Use libpcre rather than libc for header processing regexp
+###
+.if !empty(PKG_OPTIONS:Mpcre)
+. include "../../devel/pcre/buildlink3.mk"
+BUILD_MAKE_FLAGS+= USE_PCRE=1
+.endif
+
+###
+### Support OpenSSL for termination.
+###
+.if !empty(PKG_OPTIONS:Mssl)
+. include "../../security/openssl/buildlink3.mk"
+BUILD_MAKE_FLAGS+= USE_OPENSSL=1
+.endif
diff --git a/net/haproxy/patches/patch-aa b/net/haproxy/patches/patch-aa
index cee33afcdca..57c54cf2a02 100644
--- a/net/haproxy/patches/patch-aa
+++ b/net/haproxy/patches/patch-aa
@@ -1,20 +1,20 @@
-$NetBSD: patch-aa,v 1.4 2014/04/24 16:23:59 jperkin Exp $
+$NetBSD: patch-aa,v 1.5 2014/07/14 15:30:10 fhajny Exp $
Add support for NetBSD.
Remove -fomit-frame-pointer on SunOS.
---- Makefile.orig 2013-06-17 13:28:14.000000000 +0000
+--- Makefile.orig 2014-07-12 14:40:52.000000000 +0000
+++ Makefile
-@@ -73,7 +73,7 @@ DOCDIR = $(PREFIX)/doc/haproxy
+@@ -89,7 +89,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, aix52
-+# freebsd, netbsd, openbsd, cygwin, custom, aix52
+-# freebsd, openbsd, cygwin, custom, aix51, aix52
++# freebsd, netbsd, openbsd, cygwin, custom, aix51, aix52
TARGET =
#### TARGET CPU
-@@ -91,7 +91,6 @@ ARCH =
+@@ -107,7 +107,6 @@ ARCH =
#### Toolchain options.
# GCC is normally used both for compiling and linking.
@@ -22,16 +22,16 @@ Remove -fomit-frame-pointer on SunOS.
LD = $(CC)
#### Debug flags (typically "-g").
-@@ -232,7 +231,7 @@ else
- ifeq ($(TARGET),solaris)
+@@ -267,7 +266,7 @@ ifeq ($(TARGET),solaris)
# This is for Solaris 8
+ # We also enable getaddrinfo() which works since solaris 8.
USE_POLL = implicit
- TARGET_CFLAGS = -fomit-frame-pointer -DFD_SETSIZE=65536 -D_REENTRANT
+ TARGET_CFLAGS = -DFD_SETSIZE=65536 -D_REENTRANT
TARGET_LDFLAGS = -lnsl -lsocket
USE_TPROXY = implicit
USE_LIBCRYPT = implicit
-@@ -252,6 +251,12 @@ ifeq ($(TARGET),osx)
+@@ -288,6 +287,12 @@ ifeq ($(TARGET),osx)
USE_TPROXY = implicit
USE_LIBCRYPT = implicit
else
@@ -44,15 +44,15 @@ Remove -fomit-frame-pointer on SunOS.
ifeq ($(TARGET),openbsd)
# This is for OpenBSD >= 3.0
USE_POLL = implicit
-@@ -274,6 +279,7 @@ ifeq ($(TARGET),cygwin)
- endif # cygwin
+@@ -318,6 +323,7 @@ endif # cygwin
endif # aix52
+ endif # aix51
endif # openbsd
+endif # netbsd
endif # osx
endif # freebsd
endif # solaris
-@@ -510,7 +516,7 @@ all:
+@@ -634,7 +640,7 @@ all:
@echo "Please choose the target among the following supported list :"
@echo
@echo " linux2628, linux26, linux24, linux24e, linux22, solaris"
diff --git a/net/haproxy/patches/patch-ab b/net/haproxy/patches/patch-ab
deleted file mode 100644
index 7dbae3baca2..00000000000
--- a/net/haproxy/patches/patch-ab
+++ /dev/null
@@ -1,19 +0,0 @@
-$NetBSD: patch-ab,v 1.2 2013/04/17 19:55:37 morr Exp $
-
---- src/haproxy.c.orig 2013-04-03 00:33:32.000000000 +0000
-+++ src/haproxy.c
-@@ -101,10 +101,10 @@ int relative_pid = 1; /* process id st
-
- /* global options */
- struct global global = {
-- logfac1 : -1,
-- logfac2 : -1,
-- loglev1 : 7, /* max syslog level : debug */
-- loglev2 : 7,
-+ .logfac1 = -1,
-+ .logfac2 = -1,
-+ .loglev1 = 7, /* max syslog level : debug */
-+ .loglev2 = 7,
- .stats_sock = {
- .maxconn = 10, /* 10 concurrent stats connections */
- .perm = {
diff --git a/net/haproxy/patches/patch-standard_h b/net/haproxy/patches/patch-standard_h
new file mode 100644
index 00000000000..00cd3939b4a
--- /dev/null
+++ b/net/haproxy/patches/patch-standard_h
@@ -0,0 +1,30 @@
+$NetBSD: patch-standard_h,v 1.1 2014/07/14 15:30:10 fhajny Exp $
+
+Remove local version of popcount(3), conflicts w/ libc.
+
+--- include/common/standard.h.orig 2014-07-12 14:40:52.000000000 +0000
++++ include/common/standard.h
+@@ -24,6 +24,7 @@
+
+ #include <limits.h>
+ #include <string.h>
++#include <strings.h>
+ #include <time.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
+@@ -565,6 +566,7 @@ static inline unsigned int div64_32(unsi
+ return result;
+ }
+
++#if !defined(__NetBSD__)
+ /* Simple popcount implementation. It returns the number of ones in a word */
+ static inline unsigned int popcount(unsigned long a)
+ {
+@@ -575,6 +577,7 @@ static inline unsigned int popcount(unsi
+ }
+ return cnt;
+ }
++#endif
+
+ /* Build a word with the <bits> lower bits set (reverse of popcount) */
+ static inline unsigned long nbits(int bits)