Index | Thread | Search

From:
Kirill A. Korinsky <kirill@korins.ky>
Subject:
Re: nginx: imrpove compatibiliy with unwind and
To:
Robert Nagy <robert@openbsd.org>, OpenBSD ports <ports@openbsd.org>
Date:
Wed, 31 Jul 2024 20:53:53 +0200

Download raw body.

Thread
Folks,

I'd like to ping you about this diff.

To make things easy I had removed quotes from the diff part.

On Mon, 08 Jul 2024 23:07:45 +0200,
Stuart Henderson <stu@spacehopper.org> wrote:
> 
> 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


-- 
wbr, Kirill