summaryrefslogtreecommitdiff
path: root/network
diff options
context:
space:
mode:
authorBadchay <badchay@protonmail.com>2022-04-16 04:49:08 +0100
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2022-04-16 12:12:45 +0700
commit61d912f9e6de95044e7602f44591c409d0efd377 (patch)
tree270e7bf1c718aea80055ddafaf5e9c527c84d234 /network
parent3ba51ec5d0f1d7e6397b933482b8875b1874cc8e (diff)
downloadslackbuilds-61d912f9e6de95044e7602f44591c409d0efd377.tar.gz
network/haproxy: Updated for version 2.5.5.
Signed-off-by: Dave Woodfall <dave@slackbuilds.org> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'network')
-rw-r--r--network/haproxy/README16
-rw-r--r--network/haproxy/README.SLACKWARE49
-rw-r--r--network/haproxy/haproxy.SlackBuild27
-rw-r--r--network/haproxy/haproxy.info10
-rw-r--r--network/haproxy/logrotate.example9
-rw-r--r--network/haproxy/rc.haproxy19
-rw-r--r--network/haproxy/slack-desc12
-rw-r--r--network/haproxy/syslog.example20
8 files changed, 140 insertions, 22 deletions
diff --git a/network/haproxy/README b/network/haproxy/README
index 07e6de7b37..cef76252a9 100644
--- a/network/haproxy/README
+++ b/network/haproxy/README
@@ -1,11 +1,15 @@
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 very high traffic web
-sites.
+applications. It is particularly suited for very high traffic web sites.
Note that a default configuration file is no longer provided at
-/etc/haproxy/haproxy.cfg. See /usr/doc/haproxy-*/examples for some
-sample configuration files.
+/etc/haproxy/haproxy.cfg. See /usr/doc/haproxy-*/examples
+for some sample configuration files. The directory also contains
+example files for logging.
-lua53 is an optional dependency for HAProxy. Pass LUA=yes to this
-script to enable lua support.
+lua53 is an optional dependency for HAProxy.
+Pass LUA=yes to this script to enable lua support.
+
+This HAProxy package is compiled with Perl Compatible
+Regular Expressions (PCRE) version 2 by default.
+If you want to use PCRE version 1, pass OLDPCRE=yes to this script.
diff --git a/network/haproxy/README.SLACKWARE b/network/haproxy/README.SLACKWARE
new file mode 100644
index 0000000000..b83472439e
--- /dev/null
+++ b/network/haproxy/README.SLACKWARE
@@ -0,0 +1,49 @@
+--------
+Logging
+--------
+
+If you want to enable logging, please first refer to HAProxy manual
+on how to enable logging and how to select which events to log.
+
+HAProxy log forwarding works fine with Slackware's sysklogd.
+
+There are example files located in /usr/doc/haproxy-*/examples
+The files are called syslog.example and logrotate.example.
+
+You might want to add something like this to your haproxy.cfg file:
+
+global
+ log /dev/log local0
+
+--------
+Automatic starting/stopping upon system start/shutdown
+--------
+
+To start HAProxy automatically when system is booted,
+add the following lines to /etc/rc.d/rc.local:
+
+ if [ -x /etc/rc.d/rc.haproxy ]; then
+ /etc/rc.d/rc.haproxy start
+ fi
+
+To stop HAProxy on system shutdown, add following lines
+to /etc/rc.d/rc.local_shutdown
+
+ if [ -x /etc/rc.d/rc.haproxy ]; then
+ /etc/rc.d/rc.haproxy stop
+ fi
+
+--------
+Privileges
+--------
+
+Like with the most rc scripts /etc/rc.d/rc.haproxy should be
+run as root. You can easily drop process privileges by specifying
+another user (and group) in the main configuration file.
+
+Add something like this to haproxy.cfg:
+
+global
+ user nobody
+ group nogroup
+
diff --git a/network/haproxy/haproxy.SlackBuild b/network/haproxy/haproxy.SlackBuild
index 100d9cd2a6..5346ce94f0 100644
--- a/network/haproxy/haproxy.SlackBuild
+++ b/network/haproxy/haproxy.SlackBuild
@@ -5,6 +5,9 @@
# Copyright 2018 T3slider <t3slider@gmail.com>
# All rights reserved.
#
+# Copyright 2022 Badchay <badchay@protonmail.com>
+# All rights reserved.
+#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
@@ -25,7 +28,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=haproxy
-VERSION=${VERSION:-2.5.3}
+VERSION=${VERSION:-2.5.5}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -70,6 +73,10 @@ TARGET=${TARGET:-linux-glibc}
# Include lua support? (Requires lua53)
LUA=${LUA:-no}
+# Perl Compatible Regular Expressions version 2
+# is enabled by default. You can't compile both
+# PCRE and PCRE2 support.
+OLDPCRE=${OLDPCRE:-no}
set -e
@@ -87,16 +94,27 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
LUAOPT=""
-if [ "$LUA" != "no" ]; then
+if [ "$LUA" == "yes" ]; then
LUAOPT="USE_LUA=1"
+else
+ LUAOPT="USE_LUA="
fi
+PCREOPT=""
+if [ "$OLDPCRE" == "yes" ]; then
+ PCREOPT="USE_PCRE=1"
+else
+ PCREOPT="USE_PCRE2=1"
+fi
+
+
make \
TARGET=$TARGET \
- USE_PCRE=1 \
+ $PCREOPT \
USE_OPENSSL=1 \
USE_ZLIB=1 \
USE_NS=1 \
+ USE_SYSTEMD= \
$LUAOPT \
EXTRA=""
make install \
@@ -116,6 +134,9 @@ install -D -m 0644 $CWD/rc.$PRGNAM $PKG/etc/rc.d/rc.$PRGNAM.new
cp -a CHANGELOG CONTRIBUTING LICENSE MAINTAINERS README ROADMAP SUBVERS VERDATE VERSION examples \
$PKG/usr/doc/$PRGNAM-$VERSION
+
+cp $CWD/{syslog.example,logrotate.example} $PKG/usr/doc/$PRGNAM-$VERSION/examples/
+
mkdir -p $PKG/etc/haproxy
mv $PKG/usr/doc/$PRGNAM-$VERSION/examples/errorfiles $PKG/etc/haproxy/errors
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/network/haproxy/haproxy.info b/network/haproxy/haproxy.info
index ba6c2eda49..b1b86ac49c 100644
--- a/network/haproxy/haproxy.info
+++ b/network/haproxy/haproxy.info
@@ -1,10 +1,10 @@
PRGNAM="haproxy"
-VERSION="2.5.3"
+VERSION="2.5.5"
HOMEPAGE="https://www.haproxy.org/"
-DOWNLOAD="http://www.haproxy.org/download/2.5/src/haproxy-2.5.3.tar.gz"
-MD5SUM="947a65fefe192239d92cb45dc93a34d7"
+DOWNLOAD="https://www.haproxy.org/download/2.5/src/haproxy-2.5.5.tar.gz"
+MD5SUM="8d27d8a58159d7f3389d80f6a6d98795"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="T3slider"
-EMAIL="t3slider@gmail.com"
+MAINTAINER="Badchay"
+EMAIL="badchay@protonmail.com"
diff --git a/network/haproxy/logrotate.example b/network/haproxy/logrotate.example
new file mode 100644
index 0000000000..2fd2924d9a
--- /dev/null
+++ b/network/haproxy/logrotate.example
@@ -0,0 +1,9 @@
+/var/log/haproxy {
+ notifempty
+ weekly
+ missingok
+ rotate 4
+ postrotate
+ /etc/rc.d/rc.haproxy restart
+ endscript
+}
diff --git a/network/haproxy/rc.haproxy b/network/haproxy/rc.haproxy
index a95a407133..e19ddf8ca5 100644
--- a/network/haproxy/rc.haproxy
+++ b/network/haproxy/rc.haproxy
@@ -1,15 +1,30 @@
-#!/bin/sh
+#!/bin/bash
+#
+# Slackware initialization script for HAProxy.
+#
+# This script was made by T3slider.
+# Slight modifications by Badchay.
+#
+
HAPROXY=/usr/sbin/haproxy
CONFIG=/etc/haproxy/haproxy.cfg
PIDFILE=/var/run/haproxy.pid
+if [[ ! -f $CONFIG && "$1" == "start" ]]; then
+ echo "No configuration file found. Cannot continue."
+ echo "The script looks for the configuration file placed in $CONFIG"
+ exit 1
+fi
+
start() {
if [ -r $PIDFILE ]; then
echo 'HAProxy is already running!'
return
+ else
+ echo "Starting HAProxy..."
+ $HAPROXY -f $CONFIG -D -p $PIDFILE
fi
- $HAPROXY -f $CONFIG -D -p $PIDFILE
}
stop() {
diff --git a/network/haproxy/slack-desc b/network/haproxy/slack-desc
index 773ba0f472..1131d5b881 100644
--- a/network/haproxy/slack-desc
+++ b/network/haproxy/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-haproxy: haproxy (a high performance TCP/HTTP load balancer)
+haproxy: haproxy (The Reliable, High Performance TCP/HTTP Load Balancer)
haproxy:
-haproxy: HAProxy is a free, very fast and reliable solution offering high
+haproxy: HAProxy is a free, very fast and reliable reverse-proxy offering high
haproxy: availability, load balancing, and proxying for TCP and HTTP-based
-haproxy: applications. It is particularly suited for very high traffic web
-haproxy: sites.
-haproxy:
-haproxy: http://www.haproxy.org/
+haproxy: applications. It is particularly suited for very high traffic
+haproxy: web sites and powers a significant portion of the world's most
+haproxy: visited ones.
haproxy:
haproxy:
+haproxy: Check out more information on https://www.haproxy.org/
haproxy:
diff --git a/network/haproxy/syslog.example b/network/haproxy/syslog.example
new file mode 100644
index 0000000000..8d062fac17
--- /dev/null
+++ b/network/haproxy/syslog.example
@@ -0,0 +1,20 @@
+# Note: If you enable local0 logging. You'll probably want to add
+# something like local0.none to your /etc/syslogd.conf
+#
+# Otherwise the logs will be sent to your /var/log/messages file
+# as well as the logfile specified below.
+#
+# An example would be to change the default line
+#
+# authpriv.none;cron.none;mail.none;news.none -/var/log/messages
+# to
+# authpriv.none;cron.none;mail.none;news.none;local0.none -/var/log/messages
+#
+# Move this file to /etc/syslog.d/ with .conf extension
+# so syslog will load it automatically.
+#
+# Also remember to restart sysklogd
+# sh /etc/rc.d/rc.syslog restart
+#
+
+local0.* -/var/log/haproxy