Monday, July 08, 2024

Re: nginx: imrpove compatibiliy with unwind and

On 2024/07/04 16:15, Kirill A. Korinsky wrote:
> On Thu, 04 Jul 2024 12:41:17 +0100,
> Stuart Henderson <stu@spacehopper.org> wrote:
> >
> > On 2024/07/04 13:32, Robert Nagy wrote:
> > > go ahead
> >
> > can I do my version of the 'update modules' diff first please,
> > it will be a pain to merge if this one goes in first.
> >
>
> Fine for me, and I'll update it after your changes.
>
> --
> wbr, Kirill
>

Here's an updated version. I also sorted subpackages in the Makefile,
tweaked DESCR-cache_purge (tweak grammar, remove URL and set HOMEPAGE
for subpackages instead), and changed PKGNAME to use nginx- prefix
instead of ngx- (like the other subpackages).

Index: Makefile
===================================================================
RCS file: /cvs/ports/www/nginx/Makefile,v
diff -u -p -r1.182 Makefile
--- Makefile 8 Jul 2024 20:42:28 -0000 1.182
+++ Makefile 8 Jul 2024 21:05:29 -0000
@@ -3,46 +3,44 @@ PORTROACH= limitw:1,even
BROKEN-hppa= src/core/ngx_rwlock.c:116:2: error: \#error ngx_atomic_cmp_set() is not defined!

COMMENT-main= robust and small HTTP server and mail proxy server
-COMMENT-image_filter= nginx image filter module
+COMMENT-cache_purge= nginx module which adds ability to purge cache content
COMMENT-geoip2= nginx GeoIP2 module
-COMMENT-xslt= nginx XSLT filter module
-COMMENT-mailproxy= nginx mail proxy module
-COMMENT-stream= nginx TCP/UDP proxy module
-COMMENT-naxsi= nginx web application firewall module
+COMMENT-headers_more= nginx module for setting/adding/clearing headers
+COMMENT-image_filter= nginx image filter module
COMMENT-ldap_auth= nginx LDAP authentication module
COMMENT-lua= nginx lua scripting (lua-nginx-module and ngx_devel_kit)
-COMMENT-headers_more= nginx module for setting/adding/clearing headers
-COMMENT-perl= nginx perl scripting module
+COMMENT-mailproxy= nginx mail proxy module
+COMMENT-naxsi= nginx web application firewall module
COMMENT-njs= nginx javascript scripting module
COMMENT-passenger= nginx passenger (ruby/python/nodejs) integration module
+COMMENT-perl= nginx perl scripting module
COMMENT-rtmp= nginx module for RTMP streaming
COMMENT-securelink= nginx HMAC secure link module
+COMMENT-stream= nginx TCP/UDP proxy module
+COMMENT-xslt= nginx XSLT filter module

VERSION= 1.26.1
DISTNAME= nginx-${VERSION}
CATEGORIES= www
-REVISION-geoip2= 0
-REVISION-lua= 0
-REVISION-main= 1
-REVISION-njs= 0
-REVISION-passenger= 0
-REVISION-rtmp= 0
+REVISION-main= 2
+REVISION= 1

PKGNAME-main= ${DISTNAME}
-PKGNAME-image_filter= nginx-image_filter-${VERSION}
+PKGNAME-cache_purge= nginx-cache_purge-${VERSION}
PKGNAME-geoip2= nginx-geoip2-${VERSION}
-PKGNAME-xslt= nginx-xslt-${VERSION}
-PKGNAME-mailproxy= nginx-mailproxy-${VERSION}
-PKGNAME-stream= nginx-stream-${VERSION}
-PKGNAME-naxsi= nginx-naxsi-${VERSION}
+PKGNAME-headers_more= nginx-headers-more-${VERSION}
+PKGNAME-image_filter= nginx-image_filter-${VERSION}
PKGNAME-ldap_auth= nginx-ldap_auth-${VERSION}
PKGNAME-lua= nginx-lua-${VERSION}
-PKGNAME-headers_more= nginx-headers-more-${VERSION}
-PKGNAME-perl= nginx-perl-${VERSION}
+PKGNAME-mailproxy= nginx-mailproxy-${VERSION}
+PKGNAME-naxsi= nginx-naxsi-${VERSION}
PKGNAME-njs= nginx-njs-${VERSION}
PKGNAME-passenger= nginx-passenger-${VERSION}
+PKGNAME-perl= nginx-perl-${VERSION}
PKGNAME-rtmp= nginx-rtmp-${VERSION}
PKGNAME-securelink= nginx-securelink-${VERSION}
+PKGNAME-stream= nginx-stream-${VERSION}
+PKGNAME-xslt= nginx-xslt-${VERSION}

ONLY_FOR_ARCHS-passenger= aarch64 amd64 arm i386

@@ -51,18 +49,30 @@ SITES.p=https://raw.githubusercontent.co
https://raw.githubusercontent.com/sthen/nginx_chroot_patch/add_1.20.1/

DIST_TUPLE= \
+ github FRiCKLE ngx_cache_purge 2.3 ngx_cache_purge \
+ github leev ngx_http_geoip2_module 3.4 ngx_http_geoip2_module \
github openresty headers-more-nginx-module v0.34 headers-more-nginx-module \
+ github kvspb nginx-auth-ldap 83c059b73566c2ee9cbda920d91b66657cf120b7 nginx-auth-ldap \
github openresty lua-nginx-module v0.10.11 lua-nginx-module \
+ github vision5 ngx_devel_kit v0.3.3 ngx_devel_kit \
github nbs-system naxsi d714f1636ea49a9a9f4f06dba14aee003e970834 naxsi \
- github kvspb nginx-auth-ldap 83c059b73566c2ee9cbda920d91b66657cf120b7 nginx-auth-ldap \
- github arut nginx-rtmp-module v1.2.2 nginx-rtmp-module \
github nginx njs 0.8.4 njs \
- github vision5 ngx_devel_kit v0.3.3 ngx_devel_kit \
- github leev ngx_http_geoip2_module 3.4 ngx_http_geoip2_module \
- github nginx-modules ngx_http_hmac_secure_link_module 48c4625fbbf51ed5a95bfec23fa444f6c3702e50 ngx_http_hmac_secure_link_module
+ github arut nginx-rtmp-module v1.2.2 nginx-rtmp-module \
+ github nginx-modules ngx_http_hmac_secure_link_module 48c4625fbbf51ed5a95bfec23fa444f6c3702e50 ngx_http_hmac_secure_link_module \

HOMEPAGE= https://nginx.org/

+HOMEPAGE-cache_purge= https://github.com/FRiCKLE/ngx_cache_purge
+HOMEPAGE-geoip2=
https://github.com/leev/ngx_http_geoip2_module
+HOMEPAGE-headers_more=
https://github.com/openresty/headers-more-nginx-module
+HOMEPAGE-ldap_auth=
https://github.com/kvspb/nginx-auth-ldap
+HOMEPAGE-lua=
https://github.com/openresty/lua-nginx-module
+HOMEPAGE-naxsi=
https://github.com/wargio/naxsi
+HOMEPAGE-njs=
https://github.com/nginx/njs
+HOMEPAGE-passenger=
https://www.phusionpassenger.com/
+HOMEPAGE-rtmp=
https://github.com/arut/nginx-rtmp-module
+HOMEPAGE-securelink=
https://github.com/nginx-modules/ngx_http_hmac_secure_link_module
+
MAINTAINER= Robert Nagy <robert@openbsd.org>

# BSD-like
@@ -70,9 +80,10 @@ PERMIT_PACKAGE= Yes

MULTI_PACKAGES = -main -naxsi -perl ${MODULE_PACKAGES}

-MODULE_PACKAGES = -image_filter -geoip2 -xslt -mailproxy -stream \
- -passenger -headers_more -ldap_auth -lua -njs \
- -rtmp -securelink
+MODULE_PACKAGES = -cache_purge -geoip2 -headers_more \
+ -image_filter -ldap_auth -lua -mailproxy \
+ -njs -passenger -rtmp -securelink -stream \
+ -xslt

FLAVOR ?=
PSEUDO_FLAVORS = no_lua no_njs no_passenger
@@ -82,34 +93,36 @@ COMPILER = base-clang ports-gcc base-gc
.include <bsd.port.arch.mk>

WANTLIB-main= c crypto pcre2-8 ssl z
-WANTLIB-mailproxy=
-WANTLIB-stream=
-WANTLIB-image_filter= gd
+WANTLIB-cache_purge=
WANTLIB-geoip2= maxminddb
-WANTLIB-rtmp=
-WANTLIB-njs= exslt m xml2 xslt
-WANTLIB-xslt= exslt xml2 xslt
-WANTLIB-naxsi=
+WANTLIB-headers_more=
+WANTLIB-image_filter= gd
WANTLIB-ldap_auth= ldap
WANTLIB-lua= ${MODLUA_WANTLIB} m pcre
-WANTLIB-headers_more=
-WANTLIB-perl= c m perl
+WANTLIB-mailproxy=
+WANTLIB-naxsi=
+WANTLIB-njs= exslt m xml2 xslt
WANTLIB-passenger= m pthread ${COMPILER_LIBCXX}
+WANTLIB-perl= c m perl
+WANTLIB-rtmp=
WANTLIB-securelink= crypto
+WANTLIB-stream=
+WANTLIB-xslt= exslt xml2 xslt

LIB_DEPENDS-main= devel/pcre2
-LIB_DEPENDS-xslt= textproc/libxml \
- textproc/libxslt
-LIB_DEPENDS-image_filter=graphics/gd
+LIB_DEPENDS-cache_purge=
LIB_DEPENDS-geoip2= net/libmaxminddb
+LIB_DEPENDS-image_filter=graphics/gd
LIB_DEPENDS-ldap_auth= databases/openldap
LIB_DEPENDS-lua= ${MODLUA_LIB_DEPENDS} \
devel/pcre
-LIB_DEPENDS-rtmp=
-LIB_DEPENDS-securelink=
LIB_DEPENDS-njs= devel/pcre2 \
textproc/libxslt \
textproc/libxml
+LIB_DEPENDS-rtmp=
+LIB_DEPENDS-securelink=
+LIB_DEPENDS-xslt= textproc/libxml \
+ textproc/libxslt

MODLUA_RUNDEP= No
RUN_DEPENDS= www/nginx,-main=${VERSION}
@@ -198,7 +211,8 @@ CONFIGURE_ARGS+= --prefix=${NGINX_DIR} \
--add-dynamic-module=${WRKSRC}/headers-more-nginx-module \
--add-dynamic-module=${WRKSRC}/nginx-auth-ldap \
--add-dynamic-module=${WRKSRC}/ngx_http_geoip2_module \
- --add-dynamic-module=${WRKSRC}/ngx_http_hmac_secure_link_module
+ --add-dynamic-module=${WRKSRC}/ngx_http_hmac_secure_link_module \
+ --add-dynamic-module=${WRKSRC}/ngx_cache_purge

SUBSTFILES= conf/nginx.conf */config

Index: distinfo
===================================================================
RCS file: /cvs/ports/www/nginx/distinfo,v
diff -u -p -r1.86 distinfo
--- distinfo 8 Jul 2024 20:42:28 -0000 1.86
+++ distinfo 8 Jul 2024 21:05:29 -0000
@@ -1,3 +1,4 @@
+SHA256 (FRiCKLE-ngx_cache_purge-2.3.tar.gz) = y31fIpGcYT8fAzQaGuuWCWUmkwLp6yNCXMqr0vXcu+w=
SHA256 (arut-nginx-rtmp-module-v1.2.2.tar.gz) = B/Gbe//sXjV7uIIMY+UoHevUX1oubUaxY22SAsPgnXg=
SHA256 (kvspb-nginx-auth-ldap-83c059b73566c2ee9cbda920d91b66657cf120b7.tar.gz) = aQxOW9sq4ZsP7nXNNW0YATRo20cmFrYJeloLvjRshGQ=
SHA256 (leev-ngx_http_geoip2_module-3.4.tar.gz) = rXL8IzSNcVozCZSYRTH6ubNgbhYEgyNnN/mkppV9lFI=
@@ -9,6 +10,7 @@ SHA256 (nginx-njs-0.8.4.tar.gz) = /hl+JU
SHA256 (openresty-headers-more-nginx-module-v0.34.tar.gz) = DA0s7SzolbP0XrKyMM2QUIqyp3MpnxU94UpD5EwSCbM=
SHA256 (openresty-lua-nginx-module-v0.10.11.tar.gz) = wPuR/P0cbn3sNMpkgm74H/66/e9hdNJURnY284BWZiY=
SHA256 (vision5-ngx_devel_kit-v0.3.3.tar.gz) = +qL81RaLEHZNNQgTVlEdX4TbXFJqGqS2rdLblLaFOys=
+SIZE (FRiCKLE-ngx_cache_purge-2.3.tar.gz) = 11717
SIZE (arut-nginx-rtmp-module-v1.2.2.tar.gz) = 519934
SIZE (kvspb-nginx-auth-ldap-83c059b73566c2ee9cbda920d91b66657cf120b7.tar.gz) = 18542
SIZE (leev-ngx_http_geoip2_module-3.4.tar.gz) = 8877
Index: patches/patch-ngx_cache_purge_config
===================================================================
RCS file: patches/patch-ngx_cache_purge_config
diff -N patches/patch-ngx_cache_purge_config
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-ngx_cache_purge_config 8 Jul 2024 21:05:29 -0000
@@ -0,0 +1,25 @@
+Build ngx_cache_purge as dynamic module
+
+Index: ngx_cache_purge/config
+--- ngx_cache_purge/config.orig
++++ ngx_cache_purge/config
+@@ -15,7 +15,17 @@ if [ "$HTTP_UWSGI" = "YES" ]; then
+ fi
+
+ ngx_addon_name=ngx_http_cache_purge_module
+-HTTP_MODULES="$HTTP_MODULES ngx_http_cache_purge_module"
+-NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_cache_purge_module.c"
++CACHE_PURGE_SRCS="$ngx_addon_dir/ngx_cache_purge_module.c"
++
++if [ -n "$ngx_module_link" ]; then
++ ngx_module_type=HTTP
++ ngx_module_name="$ngx_addon_name"
++ ngx_module_srcs="$CACHE_PURGE_SRCS"
++
++ . auto/module
++else
++ HTTP_MODULES="$HTTP_MODULES $ngx_addon_name"
++ NGX_ADDON_SRCS="$NGX_ADDON_SRCS $CACHE_PURGE_SRCS"
++fi
+
+ have=NGX_CACHE_PURGE_MODULE . auto/have
Index: patches/patch-src_core_ngx_resolver_c
===================================================================
RCS file: patches/patch-src_core_ngx_resolver_c
diff -N patches/patch-src_core_ngx_resolver_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_core_ngx_resolver_c 8 Jul 2024 21:05:29 -0000
@@ -0,0 +1,12 @@
+Index: src/core/ngx_resolver.c
+--- src/core/ngx_resolver.c.orig
++++ src/core/ngx_resolver.c
+@@ -1774,7 +1774,7 @@ ngx_resolver_process_response(ngx_resolver_t *r, u_cha
+ (response->nar_hi << 8) + response->nar_lo);
+
+ /* response to a standard query */
+- if ((flags & 0xf870) != 0x8000 || (trunc && tcp)) {
++ if ((flags & 0xf850) != 0x8000 || (trunc && tcp)) {
+ ngx_log_error(r->log_level, r->log, 0,
+ "invalid %s DNS response %ui fl:%04Xi",
+ tcp ? "TCP" : "UDP", ident, flags);
Index: pkg/DESCR-cache_purge
===================================================================
RCS file: pkg/DESCR-cache_purge
diff -N pkg/DESCR-cache_purge
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ pkg/DESCR-cache_purge 8 Jul 2024 21:05:29 -0000
@@ -0,0 +1,6 @@
+ngx_cache_purge is nginx module which adds ability to purge content from
+FastCGI, proxy, SCGI and uWSGI caches.
+
+It is built as a separate dynamic module and should be loaded with:
+
+ load_module modules/ngx_http_cache_purge_module.so;
Index: pkg/PLIST-cache_purge
===================================================================
RCS file: pkg/PLIST-cache_purge
diff -N pkg/PLIST-cache_purge
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ pkg/PLIST-cache_purge 8 Jul 2024 21:05:29 -0000
@@ -0,0 +1 @@
+@so ngx_http_cache_purge_module.so

No comments:

Post a Comment