diff options
author | Diab Neiroukh | 2020-04-24 16:15:05 +0100 |
---|---|---|
committer | Diab Neiroukh | 2020-04-24 16:15:05 +0100 |
commit | a01571295fbf06f97781324ca9dff8dc9764da22 (patch) | |
tree | 955909d8651671da739733d52276b790ba08db83 | |
download | aur-a01571295fbf06f97781324ca9dff8dc9764da22.tar.gz |
🔥
-rw-r--r-- | .SRCINFO | 73 | ||||
-rw-r--r-- | PKGBUILD | 240 | ||||
-rw-r--r-- | logrotate | 10 | ||||
-rw-r--r-- | service | 16 |
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 |