64 lines
2.4 KiB
Bash
Executable File
64 lines
2.4 KiB
Bash
Executable File
#!/bin/sh
|
|
# SPDX-FileCopyrightText: 2022 wargio <deroad@libero.it>
|
|
# SPDX-License-Identifier: LGPL-3.0-only
|
|
set -e
|
|
|
|
NGINX_VERSION="$1"
|
|
N_CPUS=$(nproc)
|
|
|
|
if [ -z "$NGINX_VERSION" ]; then
|
|
echo "usage: $0 <nginx version>"
|
|
echo "example: $0 1.12.2"
|
|
exit 1
|
|
fi
|
|
|
|
echo "############################"
|
|
echo " NGINX VERSION: $NGINX_VERSION"
|
|
echo "############################"
|
|
|
|
NEW_BUILD=true
|
|
if [ -d "nginx-tmp" ] && [ "$NGINX_VERSION" == $(cat nginx-tmp/nginx.version) ]; then
|
|
NEW_BUILD=false
|
|
fi
|
|
|
|
if $NEW_BUILD ; then
|
|
rm -rf nginx-source nginx-tmp nginx.tar.gz 2>&1 > /dev/null
|
|
wget --no-clobber -O nginx.tar.gz "https://nginx.org/download/nginx-$NGINX_VERSION.tar.gz"
|
|
mkdir -p nginx-source nginx-tmp/naxsi_ut/root
|
|
echo "$NGINX_VERSION" > nginx-tmp/nginx.version
|
|
tar -C nginx-source -xzf nginx.tar.gz --strip-components=1
|
|
rm nginx.tar.gz
|
|
fi
|
|
|
|
export NAXSI_SRC_PATH=$(realpath naxsi_src/)
|
|
export NAXSI_TMP_PATH=$(realpath nginx-tmp/)
|
|
export NGINX_TMP_PATH=$(realpath nginx-source/)
|
|
|
|
if $NEW_BUILD ; then
|
|
cd "$NGINX_TMP_PATH"
|
|
./configure --with-cc-opt='-g -O2 -Wextra -Wall -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' \
|
|
--with-ld-opt='-Wl,-z,relro -Wl,-z,now -fPIC' \
|
|
--with-select_module \
|
|
--conf-path="$NAXSI_TMP_PATH/naxsi_ut/nginx.conf" \
|
|
--http-client-body-temp-path="$NAXSI_TMP_PATH/naxsi_ut/body/" \
|
|
--http-fastcgi-temp-path="$NAXSI_TMP_PATH/naxsi_ut/fastcgi/" \
|
|
--http-proxy-temp-path="$NAXSI_TMP_PATH/naxsi_ut/proxy/" \
|
|
--lock-path="$NAXSI_TMP_PATH/nginx.lock" \
|
|
--pid-path="$NAXSI_TMP_PATH/naxsi_ut/nginx.pid" \
|
|
--modules-path="$NAXSI_TMP_PATH/naxsi_ut/modules/" \
|
|
--without-mail_pop3_module \
|
|
--without-mail_smtp_module \
|
|
--without-mail_imap_module \
|
|
--with-http_realip_module \
|
|
--with-http_v2_module \
|
|
--without-http_uwsgi_module \
|
|
--without-http_scgi_module \
|
|
--prefix="$NAXSI_TMP_PATH/" \
|
|
--add-dynamic-module="$NAXSI_SRC_PATH" \
|
|
--error-log-path="$NAXSI_TMP_PATH/naxsi_ut/error.log" \
|
|
--conf-path="$NAXSI_TMP_PATH/naxsi_ut/nginx.conf"
|
|
cd ..
|
|
fi
|
|
|
|
make -C "$NGINX_TMP_PATH" -j$N_CPUS install
|