summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDiab Neiroukh2020-04-24 16:15:05 +0100
committerDiab Neiroukh2020-04-24 16:15:05 +0100
commita01571295fbf06f97781324ca9dff8dc9764da22 (patch)
tree955909d8651671da739733d52276b790ba08db83
downloadaur-a01571295fbf06f97781324ca9dff8dc9764da22.tar.gz
🔥
-rw-r--r--.SRCINFO73
-rw-r--r--PKGBUILD240
-rw-r--r--logrotate10
-rw-r--r--service16
4 files changed, 339 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..b7444adf2ae3
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,73 @@
+pkgbase = nginx-zest-git
+ pkgver = 1.17.10
+ pkgrel = 1
+ url = https://github.com/ZestProjects/nginx
+ arch = x86_64
+ license = custom
+ makedepends = cmake
+ makedepends = git
+ makedepends = go
+ makedepends = mercurial
+ makedepends = perl
+ makedepends = pigz
+ makedepends = rust>=1.39.0
+ source = git+https://github.com/ZestProjects/nginx.git
+ source = git+https://github.com/AirisX/nginx_cookie_flag_module.git
+ source = git+https://github.com/cloudflare/quiche.git
+ source = git+https://github.com/google/ngx_brotli.git
+ source = https://nginx.org/LICENSE
+ source = hg+http://hg.nginx.org/nginx-tests
+ source = service
+ source = logrotate
+ source = hg+http://hg.nginx.org/njs
+ source = https://people.freebsd.org/~osa/ngx_http_redis-0.3.9.tar.gz
+ source = git+https://github.com/openresty/srcache-nginx-module.git
+ source = git+https://github.com/tokers/zstd-nginx-module.git
+ b2sums = SKIP
+ b2sums = SKIP
+ b2sums = SKIP
+ b2sums = SKIP
+ b2sums = fbd993990b43a4476d0963287bdc5f55f73fa5ce828f11977cf1abeedd478729a95861d930e27c6a1b0e78b16397164395afc4473fd34e050cadd32b94336beb
+ b2sums = SKIP
+ b2sums = b6414f9917fe62cc57556a2927fb404cc839398dac64a0d60c1d45af11a4e6be71bbee5f9bae17ce3604c31ab9247e8c6aec759f86890b54f86267db1fe7c08a
+ b2sums = fe32fb75a7677abca86c4bc3f4ca9bfeccb3cd7afb4dd3c4ec21ab8b53cc0d72ba5330a1131498b5df222c2e517bd01e2df9f67256011ff15241b777a85be6b3
+ b2sums = SKIP
+ b2sums = ea3b5668b18b83df37bd954bd7cfd61fcb91e7b40bc2ef79f7c2117252307bbd716925669e15331a813eadb07819e5a3a7410eab52e8f918a167fe69ead2b375
+ b2sums = SKIP
+ b2sums = SKIP
+
+pkgname = nginx-zest-git
+ pkgdesc = NGINX with beefed up security and performance
+ depends = geoip
+ depends = gzip
+ depends = libatomic_ops
+ depends = liburing
+ depends = mailcap
+ depends = pcre
+ depends = zlib
+ optdepends = nginx-zest-src-git: dynamic module support
+ provides = nginx=1.17.10
+ conflicts = nginx
+ conflicts = nginx-zest
+ conflicts = nginx-mod-brotli
+ conflicts = nginx-mod-cookie_flag_module
+ conflicts = nginx-mod-njs
+ conflicts = nginx-mod-redis=0.3.9
+ conflicts = nginx-mod-srcache
+ backup = etc/nginx/fastcgi.conf
+ backup = etc/nginx/fastcgi_params
+ backup = etc/nginx/koi-win
+ backup = etc/nginx/koi-utf
+ backup = etc/nginx/nginx.conf
+ backup = etc/nginx/scgi_params
+ backup = etc/nginx/uwsgi_params
+ backup = etc/nginx/win-utf
+ backup = etc/logrotate.d/nginx
+
+pkgname = nginx-zest-src-git
+ pkgdesc = Source code of the Zest Project's NGINX fork, useful for building modules
+ provides = nginx-src=1.17.10
+ provides = nginx-zest-src=1.17.10
+ conflicts = nginx-src
+ conflicts = nginx-zest-src
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..e82b326c702e
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,240 @@
+# Maintainer: Diab Neiroukh <officiallazerl0rd@gmail.com>
+
+pkgbase="nginx-zest-git"
+pkgname=(
+ "nginx-zest-git"
+ "nginx-zest-src-git"
+)
+pkgver=1.17.10
+pkgrel=1
+arch=(
+ "x86_64"
+)
+url="https://github.com/ZestProjects/nginx"
+license=("custom")
+makedepends=(
+ "cmake"
+ "git"
+ "go"
+ "mercurial"
+ "perl"
+ "pigz"
+ "rust>=1.39.0"
+)
+source=(
+ "git+${url}.git"
+ "git+https://github.com/AirisX/nginx_cookie_flag_module.git"
+ "git+https://github.com/cloudflare/quiche.git"
+ "git+https://github.com/google/ngx_brotli.git"
+ "https://nginx.org/LICENSE"
+ "hg+http://hg.nginx.org/nginx-tests"
+ "service"
+ "logrotate"
+ "hg+http://hg.nginx.org/njs"
+ "https://people.freebsd.org/~osa/ngx_http_redis-0.3.9.tar.gz"
+ "git+https://github.com/openresty/srcache-nginx-module.git"
+ "git+https://github.com/tokers/zstd-nginx-module.git"
+)
+b2sums=(
+ "SKIP"
+ "SKIP"
+ "SKIP"
+ "SKIP"
+ "fbd993990b43a4476d0963287bdc5f55f73fa5ce828f11977cf1abeedd478729a95861d930e27c6a1b0e78b16397164395afc4473fd34e050cadd32b94336beb"
+ "SKIP"
+ "b6414f9917fe62cc57556a2927fb404cc839398dac64a0d60c1d45af11a4e6be71bbee5f9bae17ce3604c31ab9247e8c6aec759f86890b54f86267db1fe7c08a"
+ "fe32fb75a7677abca86c4bc3f4ca9bfeccb3cd7afb4dd3c4ec21ab8b53cc0d72ba5330a1131498b5df222c2e517bd01e2df9f67256011ff15241b777a85be6b3"
+ "SKIP"
+ "ea3b5668b18b83df37bd954bd7cfd61fcb91e7b40bc2ef79f7c2117252307bbd716925669e15331a813eadb07819e5a3a7410eab52e8f918a167fe69ead2b375"
+ "SKIP"
+ "SKIP"
+)
+
+_common_flags=(
+ --with-compat
+ --with-file-aio
+ --with-http_addition_module
+ --with-http_auth_request_module
+ --with-http_dav_module
+ --with-http_degradation_module
+ --with-http_flv_module
+ --with-http_geoip_module
+ --with-http_gunzip_module
+ --with-http_gzip_static_module
+ --with-http_mp4_module
+ --with-http_realip_module
+ --with-http_secure_link_module
+ --with-http_slice_module
+ --with-http_ssl_module
+ --with-http_stub_status_module
+ --with-http_sub_module
+ --with-http_v2_module
+ --with-mail
+ --with-mail_ssl_module
+ --with-pcre-jit
+ --with-stream
+ --with-stream_geoip_module
+ --with-stream_realip_module
+ --with-stream_ssl_module
+ --with-stream_ssl_preread_module
+ --with-threads
+)
+
+_stable_flags=(
+ --add-module="../ngx_brotli"
+ --add-module="../nginx_cookie_flag_module"
+ --add-module="../njs/nginx"
+ --add-module="../ngx_http_redis-0.3.9"
+ --add-module="../srcache-nginx-module"
+ --add-module="../zstd-nginx-module"
+ --build="zest"
+ --with-http_v2_hpack_enc
+ --with-http_v3_module
+ --with-libatomic
+ --with-openssl="../quiche/deps/boringssl"
+ --with-quiche="../quiche"
+)
+
+prepare()
+{
+ cp -r "nginx"{,"-src"}
+
+ cd "quiche" || exit
+ git submodule update --init
+
+ cd "deps/boringssl" || exit
+ git checkout 21f694210c9232d6ab926d029c315ae6069c7dbb
+}
+
+build()
+{
+ #* We need to manually state the compielr flags as quiche is sensitive to changes here
+ export CFLAGS="-march=x86_64 -mtune=generic -O3 -pipe -fno-plt"
+ export CXXFLAGS="${CFLAGS}"
+
+ cd "nginx" || exit
+ ./auto/configure \
+ --prefix="/etc/nginx" \
+ --conf-path="/etc/nginx/nginx.conf" \
+ --sbin-path="/usr/bin/nginx" \
+ --pid-path="/run/nginx.pid" \
+ --lock-path="/run/lock/nginx.lock" \
+ --user="http" \
+ --group="http" \
+ --http-log-path="/var/log/nginx/access.log" \
+ --error-log-path="stderr" \
+ --http-client-body-temp-path="/var/lib/nginx/client-body" \
+ --http-proxy-temp-path="/var/lib/nginx/proxy" \
+ --http-fastcgi-temp-path="/var/lib/nginx/fastcgi" \
+ --http-scgi-temp-path="/var/lib/nginx/scgi" \
+ --http-uwsgi-temp-path="/var/lib/nginx/uwsgi" \
+ --with-cc-opt="$CFLAGS $CPPFLAGS" \
+ --with-ld-opt="$LDFLAGS" \
+ "${_common_flags[@]}" \
+ "${_stable_flags[@]}"
+ make
+}
+
+check()
+{
+ cd "nginx-tests" || exit
+ #* We skip this test as HTTP/2 HPACK causes this test to fail
+ rm -rf "h2_server_push.t"
+ TEST_NGINX_BINARY="../nginx/objs/nginx" prove .
+}
+
+package_nginx-zest-git()
+{
+ pkgdesc="NGINX with beefed up security and performance"
+ depends=(
+ "geoip"
+ "gzip"
+ "libatomic_ops"
+ "liburing"
+ "mailcap"
+ "pcre"
+ "zlib"
+ )
+ optdepends=(
+ "nginx-zest-src-git: dynamic module support"
+ )
+ provides=(
+ "nginx=1.17.10"
+ )
+ conflicts=(
+ "nginx"
+ "nginx-zest"
+ "nginx-mod-brotli"
+ "nginx-mod-cookie_flag_module"
+ "nginx-mod-njs"
+ "nginx-mod-redis=0.3.9"
+ "nginx-mod-srcache"
+ )
+ backup=(
+ "etc/nginx/fastcgi.conf"
+ "etc/nginx/fastcgi_params"
+ "etc/nginx/koi-win"
+ "etc/nginx/koi-utf"
+ "etc/nginx/nginx.conf"
+ "etc/nginx/scgi_params"
+ "etc/nginx/uwsgi_params"
+ "etc/nginx/win-utf"
+ "etc/logrotate.d/nginx"
+ )
+
+ install -D -m644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+ cd "nginx" || exit
+
+ make install DESTDIR="${pkgdir}"
+
+ sed -e "s|\<user\s\+\w\+;|user html;|g" \
+ -e "44s|html|/usr/share/nginx/html|" \
+ -e "54s|html|/usr/share/nginx/html|" \
+ -i "${pkgdir}/etc/nginx/nginx.conf"
+
+ for i in "${pkgdir}/etc/nginx/"*".default"; do
+ rm "$i"
+ done
+
+ if [ -f "${pkgdir}/etc/nginx/mime.types" ]; then
+ rm "${pkgdir}/etc/nginx/mime.types"
+ fi
+
+ install -d -g0 -m755 -o0 "${pkgdir}/var/lib/nginx"
+ install -d -m700 "${pkgdir}/var/lib/nginx/proxy"
+
+ install -d "${pkgdir}/usr/share/nginx"
+ mv "${pkgdir}/etc/nginx/html" "${pkgdir}/usr/share/nginx"
+
+ install -D -m644 "../logrotate" "${pkgdir}/etc/logrotate.d/nginx"
+ install -D -m644 "../service" "${pkgdir}/usr/lib/systemd/system/nginx.service"
+
+ rmdir "${pkgdir}/run"
+
+ install -d "${pkgdir}/usr/share/man/man8"
+ pigz -9c "docs/man/nginx.8" > "${pkgdir}/usr/share/man/man8/nginx.8.gz"
+
+ for i in ftdetect indent syntax; do
+ install -D -m644 "contrib/vim/$i/nginx.vim" \
+ "${pkgdir}/usr/share/vim/vimfiles/$i/nginx.vim"
+ done
+}
+
+package_nginx-zest-src-git()
+{
+ pkgdesc="Source code of the Zest Project's NGINX fork, useful for building modules"
+ provides=(
+ "nginx-src=1.17.10"
+ "nginx-zest-src=1.17.10"
+ )
+ conflicts=(
+ "nginx-src"
+ "nginx-zest-src"
+ )
+
+ install -d "${pkgdir}/usr/src"
+ cp -r "nginx-src" "${pkgdir}/usr/src/nginx"
+
+ install -D -m644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
diff --git a/logrotate b/logrotate
new file mode 100644
index 000000000000..e0afbb927021
--- /dev/null
+++ b/logrotate
@@ -0,0 +1,10 @@
+/var/log/nginx/*log {
+ missingok
+ notifempty
+ create 640 http log
+ sharedscripts
+ compress
+ postrotate
+ test ! -r /run/nginx.pid || kill -USR1 `cat /run/nginx.pid`
+ endscript
+}
diff --git a/service b/service
new file mode 100644
index 000000000000..6302474f3674
--- /dev/null
+++ b/service
@@ -0,0 +1,16 @@
+[Unit]
+Description=A high performance web server and a reverse proxy server
+After=network.target network-online.target nss-lookup.target
+
+[Service]
+Type=forking
+PIDFile=/run/nginx.pid
+PrivateDevices=yes
+SyslogLevel=err
+
+ExecStart=/usr/bin/nginx -g 'pid /run/nginx.pid; error_log stderr;'
+ExecReload=/usr/bin/nginx -s reload
+KillMode=mixed
+
+[Install]
+WantedBy=multi-user.target