Initial commit
This commit is contained in:
45
scripts/haproxy-build.sh
Executable file
45
scripts/haproxy-build.sh
Executable file
@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SRC_DIR=$1
|
||||
QUICTLS_PREFIX=$2
|
||||
HAPROXY_PREFIX=$3
|
||||
|
||||
if ! [ -d "$QUICTLS_PREFIX/include" ]; then
|
||||
echo "No include dir in $QUICTLS_PREFIX"
|
||||
fi
|
||||
if ! [ -d "$QUICTLS_PREFIX/lib" ]; then
|
||||
echo "No lib dir in $QUICTLS_PREFIX"
|
||||
fi
|
||||
|
||||
apt -qq update && apt -qq -y --no-install-recommends install \
|
||||
liblua5.3-dev \
|
||||
libpcre2-dev \
|
||||
libsystemd-dev
|
||||
|
||||
pushd "$SRC_DIR"
|
||||
|
||||
# HAProxy build flags
|
||||
make -j "$(nproc)" \
|
||||
DEBUG="-DDEBUG_STRICT -DDEBUG_MEMORY_POOLS" \
|
||||
LDFLAGS="-Wl,-rpath,${QUICTLS_PREFIX}/lib" \
|
||||
SSL_INC="${QUICTLS_PREFIX}/include" \
|
||||
SSL_LIB="${QUICTLS_PREFIX}/lib" \
|
||||
TARGET="linux-glibc" \
|
||||
EXTRAVERSION="+mangadex" \
|
||||
VERDATE="$(date -u -I'minutes')" \
|
||||
USE_DL=1 \
|
||||
USE_GETADDRINFO=1 \
|
||||
USE_LINUX_TPROXY=1 \
|
||||
USE_LUA=1 \
|
||||
USE_OPENSSL=1 \
|
||||
USE_PCRE2=1 \
|
||||
USE_PCRE2_JIT=1 \
|
||||
USE_PROMEX=1 \
|
||||
USE_QUIC=1 \
|
||||
USE_SLZ=1 \
|
||||
USE_TFO=1 \
|
||||
USE_SYSTEMD=1
|
||||
|
||||
[ "${HAPROXY_MAKE_INSTALL:-'false'}" == "true" ] && make -j"$(nproc)" DESTDIR="${HAPROXY_PREFIX}" install
|
15
scripts/haproxy-clone.sh
Executable file
15
scripts/haproxy-clone.sh
Executable file
@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SRC_REPO=$1
|
||||
SRC_BRANCH=$2
|
||||
OUT_DIR=$3
|
||||
|
||||
PARENT_DIR=$(dirname "$OUT_DIR")
|
||||
[ -d "$PARENT_DIR" ] || mkdir -pv "$(dirname "$PARENT_DIR")"
|
||||
|
||||
apt -qq update && apt -qq -y --no-install-recommends install git
|
||||
|
||||
git clone "$SRC_REPO" "$OUT_DIR"
|
||||
git -C "$OUT_DIR" checkout "$SRC_BRANCH"
|
18
scripts/quictls-build.sh
Executable file
18
scripts/quictls-build.sh
Executable file
@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SRC_DIR=$1
|
||||
OUT_DIR=$2
|
||||
|
||||
[ -d "$OUT_DIR" ] || mkdir -pv "$OUT_DIR"
|
||||
pushd "$SRC_DIR"
|
||||
|
||||
echo "Ensuring dependencies"
|
||||
apt -qq update && apt -qq -y --no-install-recommends install \
|
||||
build-essential
|
||||
|
||||
./Configure --libdir=lib -static --prefix="$OUT_DIR" --openssldir="$OUT_DIR"
|
||||
make -j "$(nproc)"
|
||||
|
||||
[ "${QUICTLS_MAKE_INSTALL:-'false'}" == "true" ] && make -j"$(nproc)" install
|
20
scripts/quictls-clone.sh
Executable file
20
scripts/quictls-clone.sh
Executable file
@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SRC_TARBALL=$1
|
||||
OUT_DIR=$2
|
||||
|
||||
[ -d "$OUT_DIR" ] || mkdir -pv "$OUT_DIR"
|
||||
pushd "$OUT_DIR"
|
||||
|
||||
echo "Ensuring dependencies"
|
||||
apt -qq update && apt -qq -y --no-install-recommends install \
|
||||
ca-certificates \
|
||||
curl \
|
||||
tar
|
||||
|
||||
echo "Cloning QuicTLS from $SRC_TARBALL in $OUT_DIR..."
|
||||
curl -sSL -o quictls.tar.gz "$SRC_TARBALL"
|
||||
tar --strip-components=1 -xf quictls.tar.gz
|
||||
rm -v quictls.tar.gz
|
Reference in New Issue
Block a user