added community/haproxy

This commit is contained in:
Kevin Mihelich 2019-02-16 19:46:40 +00:00
parent 0e4a5286b4
commit 2d294e908a
5 changed files with 197 additions and 0 deletions

View file

@ -0,0 +1,57 @@
From 53fd8dbb4ecd3f8bcf4c1f3c0bc7fe39c7be6bd7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Johannes=20L=C3=B6thberg?= <johannes@kyriasis.com>
Date: Wed, 9 Jan 2019 23:37:02 +0100
Subject: [PATCH] Use CFLAGS and LDFLAGS when building contrib
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
---
contrib/halog/Makefile | 2 +-
contrib/ip6range/Makefile | 2 +-
contrib/iprange/Makefile | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/contrib/halog/Makefile b/contrib/halog/Makefile
index 5e687c09..2474409a 100644
--- a/contrib/halog/Makefile
+++ b/contrib/halog/Makefile
@@ -16,7 +16,7 @@ DEFINE =
OBJS = halog
halog: halog.c fgets2.c
- $(CC) $(OPTIMIZE) $(DEFINE) -o $@ $(INCLUDE) $(EBTREE_DIR)/ebtree.c $(EBTREE_DIR)/eb32tree.c $(EBTREE_DIR)/eb64tree.c $(EBTREE_DIR)/ebmbtree.c $(EBTREE_DIR)/ebsttree.c $(EBTREE_DIR)/ebistree.c $(EBTREE_DIR)/ebimtree.c $^
+ $(CC) $(OPTIMIZE) $(CFLAGS) $(LDFLAGS) $(DEFINE) -o $@ $(INCLUDE) $(EBTREE_DIR)/ebtree.c $(EBTREE_DIR)/eb32tree.c $(EBTREE_DIR)/eb64tree.c $(EBTREE_DIR)/ebmbtree.c $(EBTREE_DIR)/ebsttree.c $(EBTREE_DIR)/ebistree.c $(EBTREE_DIR)/ebimtree.c $^
clean:
rm -f $(OBJS) *.[oas]
diff --git a/contrib/ip6range/Makefile b/contrib/ip6range/Makefile
index 55849b6d..1276b97d 100644
--- a/contrib/ip6range/Makefile
+++ b/contrib/ip6range/Makefile
@@ -7,7 +7,7 @@ OBJS = ip6range
all: $(OBJS)
%: %.c
- $(CC) $(LDFLAGS) $(OPTIMIZE) -o $@ $^
+ $(CC) $(CFLAGS) $(LDFLAGS) $(OPTIMIZE) -o $@ $^
clean:
rm -f $(OBJS) *.o *.a *~
diff --git a/contrib/iprange/Makefile b/contrib/iprange/Makefile
index b3c72eda..e92baf3d 100644
--- a/contrib/iprange/Makefile
+++ b/contrib/iprange/Makefile
@@ -7,7 +7,7 @@ OBJS = iprange
all: $(OBJS)
%: %.c
- $(CC) $(LDFLAGS) $(OPTIMIZE) -o $@ $^
+ $(CC) $(CFLAGS) $(LDFLAGS) $(OPTIMIZE) -o $@ $^
clean:
rm -f $(OBJS) *.o *.a *~
--
2.20.1

View file

@ -0,0 +1,82 @@
# Maintainer: Johannes Löthberg <johannes@kyriasis.com>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - explicitly link v5/v6 with libatomic
pkgname=haproxy
pkgver=1.9.4
pkgrel=1
pkgdesc='Reliable, high performance TCP/HTTP load balancer'
url='https://haproxy.org/'
arch=('x86_64')
license=('GPL')
depends=('openssl' 'pcre' 'zlib' 'lua' 'systemd-libs')
backup=('etc/haproxy/haproxy.cfg')
install=haproxy.install
source=(https://haproxy.org/download/${pkgver%.*}/src/haproxy-$pkgver.tar.gz
haproxy.cfg
haproxy.sysusers
0001-Use-CFLAGS-and-LDFLAGS-when-building-contrib.patch)
md5sums=('ebccaeee22c777f49a2d6285885c4509'
'27941f31d25d5629f4bdef6bc4b2555a'
'2f00e81ee2f3f6e51a0cd9acc6f3ff3e'
'5343b0563c2e0e59110a84e2e611d94f')
prepare() {
cd haproxy-$pkgver
patch -p1 <"$srcdir"/0001-Use-CFLAGS-and-LDFLAGS-when-building-contrib.patch
}
build() {
cd haproxy-$pkgver
[[ $CARCH == "arm" || $CARCH == "armv6h" ]] && ADDLIB="-latomic"
make CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
CPU=generic \
TARGET=linux2628 \
USE_GETADDRINFO=1 \
USE_OPENSSL=1 \
USE_PCRE=1 USE_PCRE_JIT=1 \
USE_ZLIB=1 \
USE_LUA=1 \
USE_SYSTEMD=1 \
ADDLIB=$ADDLIB
for contrib in halog iprange ip6range systemd; do
make -C contrib/$contrib SBINDIR=/usr/bin OPTIMIZE= CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS"
done
}
package() {
cd haproxy-$pkgver
make \
PREFIX="$pkgdir"/usr \
SBINDIR="$pkgdir"/usr/bin \
DOCDIR="$pkgdir"/usr/share/$pkgname \
install
for contrib in halog iprange ip6range; do
install -Dm755 contrib/$contrib/$contrib "$pkgdir"/usr/bin/$contrib
done
install -Dm644 ../haproxy.sysusers "$pkgdir"/usr/lib/sysusers.d/haproxy.conf
install -Dm644 ../haproxy.cfg "$pkgdir"/etc/haproxy/haproxy.cfg
install -Dm644 contrib/systemd/haproxy.service \
"$pkgdir"/usr/lib/systemd/system/haproxy.service
install -d "$pkgdir"/usr/share/haproxy/examples/errorfiles
install -m644 examples/*.cfg "$pkgdir"/usr/share/haproxy/examples/
install -m644 examples/errorfiles/*.http \
"$pkgdir"/usr/share/haproxy/examples/errorfiles/
install -Dm644 examples/haproxy.vim \
"$pkgdir"/usr/share/vim/vimfiles/syntax/haproxy.vim
}

View file

@ -0,0 +1,49 @@
#---------------------------------------------------------------------
# Example configuration. See the full configuration manual online.
#
# http://www.haproxy.org/download/1.7/doc/configuration.txt
#
#---------------------------------------------------------------------
global
maxconn 20000
log 127.0.0.1 local0
user haproxy
chroot /usr/share/haproxy
pidfile /run/haproxy.pid
daemon
frontend main
bind :5000
mode http
log global
option httplog
option dontlognull
option http_proxy
option forwardfor except 127.0.0.0/8
maxconn 8000
timeout client 30s
acl url_static path_beg -i /static /images /javascript /stylesheets
acl url_static path_end -i .jpg .gif .png .css .js
use_backend static if url_static
default_backend app
backend static
mode http
balance roundrobin
timeout connect 5s
timeout server 5s
server static 127.0.0.1:4331 check
backend app
mode http
balance roundrobin
timeout connect 5s
timeout server 30s
timeout queue 30s
server app1 127.0.0.1:5001 check
server app2 127.0.0.1:5002 check
server app3 127.0.0.1:5003 check
server app4 127.0.0.1:5004 check

View file

@ -0,0 +1,8 @@
post_install() {
printf '==> %s\n' "The example config chroots HAProxy, meaning that logging to journald won't work."
printf ' %s\n' "Either disable chrooting, use rsyslog, or bind /run/systemd/journal/dev-log into the chroot."
}
post_upgrade() {
post_install $1
}

View file

@ -0,0 +1 @@
u haproxy - - -