GCI: added .bep and patch for haproxy-1.4.22

This commit is contained in:
korli
2012-12-28 22:03:49 +00:00
parent 46ed84eb35
commit 776238a99c
2 changed files with 69 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
DESCRIPTION="Reliable, high performace TCP/HTTP load balancer"
HOMEPAGE="http://haproxy.1wt.eu/"
SRC_URI="http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.22.tar.gz"
CHECKSUM_MD5="a0b007c76f6a78524f3b3dd5e704979c"
STATUS_HAIKU="stable"
REVISION="1"
BUILD {
cd haproxy-1.4.22
make TARGET=haiku PREFIX= SBINDIR=`finddir B_COMMON_BIN_DIRECTORY` \
MANDIR=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man \
DOCDIR=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`
}
INSTALL {
cd haproxy-1.4.22
make install DESTDIR=$DESTDIR PREFIX= SBINDIR=`finddir B_COMMON_BIN_DIRECTORY` \
MANDIR=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man \
DOCDIR=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`
}
LICENSE="GNU GPL v2"
COPYRIGHT="2012 Willy Tarreau"

View File

@@ -0,0 +1,47 @@
diff -ur haproxy-1.4.22/Makefile haproxy-1.4.22-haiku/Makefile
--- haproxy-1.4.22/Makefile 2012-08-14 07:09:31.000000000 +0000
+++ haproxy-1.4.22-haiku/Makefile 2012-12-28 02:09:24.868483072 +0000
@@ -176,6 +176,12 @@
USE_POLL = implicit
USE_TPROXY = implicit
else
+ifeq ($(TARGET),haiku)
+ # For Haiku
+ TARGET_LDFLAGS = -lnetwork
+ USE_POLL = implicit
+ USE_TPROXY = implicit
+else
ifeq ($(TARGET),linux22)
# This is for Linux 2.2
USE_GETSOCKNAME = implicit
@@ -269,6 +275,7 @@
endif # linux24e
endif # linux24
endif # linux22
+endif # haiku
endif # generic
diff -ur haproxy-1.4.22/src/proto_http.c haproxy-1.4.22-haiku/src/proto_http.c
--- haproxy-1.4.22/src/proto_http.c 2012-08-14 07:09:31.000000000 +0000
+++ haproxy-1.4.22-haiku/src/proto_http.c 2012-12-28 02:09:24.873988096 +0000
@@ -3973,13 +3973,15 @@
int http_send_name_header(struct http_txn *txn, struct http_msg *msg, struct buffer *buf, struct proxy* be, const char* srv_name) {
struct hdr_ctx ctx;
-
+ char *hdr_name = 0;
+ char *hdr_val;
+ int hdr_name_len;
ctx.idx = 0;
- char *hdr_name = be->server_id_hdr_name;
- int hdr_name_len = be->server_id_hdr_len;
+ hdr_name = be->server_id_hdr_name;
+ hdr_name_len = be->server_id_hdr_len;
- char *hdr_val;
+
while (http_find_header2(hdr_name, hdr_name_len, msg->sol, &txn->hdr_idx, &ctx)) {
/* remove any existing values from the header */