Skip to content

Commit 9f43b73

Browse files
Add a link for modules to nginx package (#54527)
Nginx does not use the --module-path when loading modules... It uses the --prefix directory. Rather than move the modules from /usr/lib/nginx to /var/lib/nginx, I made a symlink. Maybe we should just move them but that feels like it could have knock on consequences. --------- Signed-off-by: MAx Allan <max.allan@chainguard.dev>
1 parent f37f10d commit 9f43b73

2 files changed

Lines changed: 19 additions & 6 deletions

File tree

nginx-mainline.yaml

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,9 @@ subpackages:
204204
- runs: |
205205
mkdir -p ${{targets.subpkgdir}}/usr/lib/nginx/modules
206206
mkdir -p ${{targets.subpkgdir}}/etc/nginx/modules
207+
# --modules-path is only used for installing modules, not loading them
208+
mkdir -p ${{targets.subpkgdir}}/var/lib/nginx/
209+
ln -sf /usr/lib/nginx/modules ${{targets.subpkgdir}}/var/lib/nginx/modules
207210
208211
mv ${{targets.destdir}}/usr/lib/nginx/modules/ngx_${{range.key}}_module.so ${{targets.subpkgdir}}/usr/lib/nginx/modules/
209212
@@ -261,21 +264,24 @@ subpackages:
261264
262265
test:
263266
environment:
267+
accounts:
268+
users:
269+
- username: nginx
270+
uid: 65532
271+
groups:
272+
- groupname: nginx
273+
gid: 65532
264274
contents:
265275
packages:
266276
- ${{package.name}}-config
267277
- ${{package.name}}-config-compat
278+
- ${{package.name}}-mod-stream
268279
- curl
269280
pipeline:
270281
- name: Create Nginx user and directories
271282
runs: |
272-
# Create the 'nginx' user if it does not exist
273-
if ! id -u nginx > /dev/null 2>&1; then
274-
adduser -D -g 'Nginx User' nginx
275-
fi
276283
# Create necessary directories
277284
mkdir -p /var/lib/nginx/tmp/client_body /var/lib/nginx/tmp/proxy /var/lib/nginx/tmp/fastcgi /var/lib/nginx/tmp/uwsgi /var/lib/nginx/tmp/scgi /run/nginx
278-
chown -R nginx:nginx /var/lib/nginx /run/nginx
279285
- name: Verify Nginx Version
280286
runs: |
281287
# Ensure Nginx is installed and shows the correct version
@@ -303,6 +309,10 @@ test:
303309
nginx -t # Verify the configuration is valid
304310
sleep 5 # Give some time for Nginx to start
305311
curl -I http://localhost || exit 1 # Check if Nginx is serving a basic request
312+
- name: Check modules are installed/loadable
313+
runs: |
314+
sed -i '1i include /etc/nginx/modules/*.conf;' /etc/nginx/nginx.conf
315+
nginx -t
306316
307317
update:
308318
enabled: true

nginx-stable.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package:
22
name: nginx-stable
33
version: "1.26.3"
4-
epoch: 40
4+
epoch: 41
55
description: HTTP and reverse proxy server (stable version)
66
copyright:
77
- license: BSD-2-Clause
@@ -192,6 +192,9 @@ subpackages:
192192
- runs: |
193193
mkdir -p ${{targets.subpkgdir}}/usr/lib/nginx/modules
194194
mkdir -p ${{targets.subpkgdir}}/etc/nginx/modules
195+
# --modules-path is only used for installing modules, not loading them
196+
mkdir -p ${{targets.subpkgdir}}/var/lib/nginx/
197+
ln -sf /usr/lib/nginx/modules ${{targets.subpkgdir}}/var/lib/nginx/modules
195198
196199
mv ${{targets.destdir}}/usr/lib/nginx/modules/ngx_${{range.key}}_module.so ${{targets.subpkgdir}}/usr/lib/nginx/modules/
197200

0 commit comments

Comments
 (0)