Skip to content

Commit 31eb2bb

Browse files
committed
nginx: separate ngx_http_perl_module build
Isolates the Perl module build step to ensure that other modules do not require perl to be installed, reducing dependencies for standard builds.
1 parent 3de90b3 commit 31eb2bb

File tree

2 files changed

+69
-75
lines changed

2 files changed

+69
-75
lines changed

nginx-mainline.yaml

Lines changed: 35 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ data:
5959
- name: modules
6060
items:
6161
http_geoip: "10"
62+
http_headers_more_filter: "10"
6263
http_image_filter: "10"
63-
http_perl: "10"
6464
http_xslt_filter: "10"
6565
mail: "10"
6666
stream_geoip: "10"
@@ -385,21 +385,22 @@ subpackages:
385385
rc-service nginx stop
386386
387387
- range: modules
388-
name: nginx-mainline-mod-${{range.key}}
388+
name: ${{package.name}}-mod-${{range.key}}
389389
description: Nginx third-party module ${{range.key}}
390390
dependencies:
391391
provides:
392392
- nginx-mod-${{range.key}}=${{package.full-version}}
393393
runtime:
394394
- merged-usrsbin
395-
- perl-dev
395+
- ${{package.name}}
396396
- wolfi-baselayout
397397
pipeline:
398398
- runs: |
399-
mkdir -p ${{targets.subpkgdir}}/usr/lib/nginx/modules
400-
mkdir -p ${{targets.subpkgdir}}/etc/nginx/modules
401399
# --modules-path is only used for installing modules, not loading them
402-
mkdir -p ${{targets.subpkgdir}}/var/lib/nginx/
400+
install -d -m 755 \
401+
${{targets.subpkgdir}}/usr/lib/nginx/modules \
402+
${{targets.subpkgdir}}/etc/nginx/modules \
403+
${{targets.subpkgdir}}/var/lib/nginx
403404
ln -sf /usr/lib/nginx/modules ${{targets.subpkgdir}}/var/lib/nginx/modules
404405
405406
mv ${{targets.destdir}}/usr/lib/nginx/modules/ngx_${{range.key}}_module.so ${{targets.subpkgdir}}/usr/lib/nginx/modules/
@@ -408,13 +409,6 @@ subpackages:
408409
echo "load_module \"modules/ngx_${{range.key}}_module.so\";" >> ${{targets.subpkgdir}}/etc/nginx/modules/${{range.value}}_${{range.key}}.conf
409410
410411
case ${{range.key}} in
411-
http_perl)
412-
mv ${{targets.destdir}}/usr/lib/perl5 ${{targets.subpkgdir}}/usr/lib/
413-
;;
414-
http_naxsi)
415-
install -m644 -D naxsi-*/naxsi_config/naxsi_core.rules \
416-
${{targets.subpkgdir}}/etc/nginx/naxsi_core.rules
417-
;;
418412
stream)
419413
mkdir -p ${{targets.subpkgdir}}/etc/nginx/stream.d
420414
install -m644 -D stream.conf ${{targets.subpkgdir}}/etc/nginx/stream.d/
@@ -424,6 +418,34 @@ subpackages:
424418
pipeline:
425419
- uses: test/tw/ldd-check
426420

421+
- name: ${{package.name}}-mod-http_perl
422+
description: Nginx third-party module http_perl
423+
dependencies:
424+
provides:
425+
- nginx-mod-http_perl=${{package.full-version}}
426+
runtime:
427+
- merged-usrsbin
428+
- ${{package.name}}
429+
- perl
430+
- wolfi-baselayout
431+
pipeline:
432+
- runs: |
433+
install -d -m 755 \
434+
${{targets.subpkgdir}}/usr/lib/nginx/modules \
435+
${{targets.subpkgdir}}/etc/nginx/modules \
436+
${{targets.subpkgdir}}/var/lib/nginx
437+
438+
ln -sf /usr/lib/nginx/modules ${{targets.subpkgdir}}/var/lib/nginx/modules
439+
440+
mv ${{targets.destdir}}/usr/lib/nginx/modules/ngx_http_perl_module.so ${{targets.subpkgdir}}/usr/lib/nginx/modules/
441+
442+
mv ${{targets.destdir}}/usr/lib/perl5 ${{targets.subpkgdir}}/usr/lib/
443+
444+
echo "load_module \"modules/ngx_http_perl_module.so\";" >> ${{targets.subpkgdir}}/etc/nginx/modules/10_http_perl.conf
445+
test:
446+
pipeline:
447+
- uses: test/tw/ldd-check
448+
427449
- name: nginx-mainline-src
428450
description: Nginx source code
429451
dependencies:
@@ -461,31 +483,6 @@ subpackages:
461483
- runs: |
462484
readlink -v /etc/nginx/conf.d/default.conf
463485
464-
- name: ${{package.name}}-mod-http_headers_more_filter
465-
description: Nginx third-party module http_headers_more_filter
466-
dependencies:
467-
provides:
468-
- nginx-mod-http_headers_more_filter=${{package.full-version}}
469-
runtime:
470-
- merged-usrsbin
471-
- ${{package.name}}
472-
- wolfi-baselayout
473-
pipeline:
474-
- runs: |
475-
install -d -m 755 \
476-
${{targets.subpkgdir}}/usr/lib/nginx/modules \
477-
${{targets.subpkgdir}}/etc/nginx/modules \
478-
${{targets.subpkgdir}}/var/lib/nginx
479-
480-
ln -sf /usr/lib/nginx/modules ${{targets.subpkgdir}}/var/lib/nginx/modules
481-
482-
mv ${{targets.destdir}}/usr/lib/nginx/modules/ngx_http_headers_more_filter_module.so ${{targets.subpkgdir}}/usr/lib/nginx/modules/
483-
484-
echo "load_module \"modules/ngx_http_headers_more_filter_module.so\";" >> ${{targets.subpkgdir}}/etc/nginx/modules/10_http_headers_more_filter.conf
485-
test:
486-
pipeline:
487-
- uses: test/tw/ldd-check
488-
489486
test:
490487
environment:
491488
accounts:

nginx-stable.yaml

Lines changed: 34 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ data:
5555
- name: modules
5656
items:
5757
http_geoip: "10"
58+
http_headers_more_filter: "10"
5859
http_image_filter: "10"
59-
http_perl: "10"
6060
http_xslt_filter: "10"
6161
mail: "10"
6262
stream_geoip: "10"
@@ -359,14 +359,15 @@ subpackages:
359359
- nginx-mod-${{range.key}}=${{package.full-version}}
360360
runtime:
361361
- merged-usrsbin
362-
- perl-dev
362+
- ${{package.name}}
363363
- wolfi-baselayout
364364
pipeline:
365365
- runs: |
366-
mkdir -p ${{targets.subpkgdir}}/usr/lib/nginx/modules
367-
mkdir -p ${{targets.subpkgdir}}/etc/nginx/modules
368366
# --modules-path is only used for installing modules, not loading them
369-
mkdir -p ${{targets.subpkgdir}}/var/lib/nginx/
367+
install -d -m 755 \
368+
${{targets.subpkgdir}}/usr/lib/nginx/modules \
369+
${{targets.subpkgdir}}/etc/nginx/modules \
370+
${{targets.subpkgdir}}/var/lib/nginx
370371
ln -sf /usr/lib/nginx/modules ${{targets.subpkgdir}}/var/lib/nginx/modules
371372
372373
mv ${{targets.destdir}}/usr/lib/nginx/modules/ngx_${{range.key}}_module.so ${{targets.subpkgdir}}/usr/lib/nginx/modules/
@@ -375,13 +376,6 @@ subpackages:
375376
echo "load_module \"modules/ngx_${{range.key}}_module.so\";" >> ${{targets.subpkgdir}}/etc/nginx/modules/${{range.value}}_${{range.key}}.conf
376377
377378
case ${{range.key}} in
378-
http_perl)
379-
mv ${{targets.destdir}}/usr/lib/perl5 ${{targets.subpkgdir}}/usr/lib/
380-
;;
381-
http_naxsi)
382-
install -m644 -D naxsi-*/naxsi_config/naxsi_core.rules \
383-
${{targets.subpkgdir}}/etc/nginx/naxsi_core.rules
384-
;;
385379
stream)
386380
mkdir -p ${{targets.subpkgdir}}/etc/nginx/stream.d
387381
install -m644 -D stream.conf ${{targets.subpkgdir}}/etc/nginx/stream.d/
@@ -391,6 +385,34 @@ subpackages:
391385
pipeline:
392386
- uses: test/tw/ldd-check
393387

388+
- name: ${{package.name}}-mod-http_perl
389+
description: Nginx third-party module http_perl
390+
dependencies:
391+
provides:
392+
- nginx-mod-http_perl=${{package.full-version}}
393+
runtime:
394+
- merged-usrsbin
395+
- ${{package.name}}
396+
- perl
397+
- wolfi-baselayout
398+
pipeline:
399+
- runs: |
400+
install -d -m 755 \
401+
${{targets.subpkgdir}}/usr/lib/nginx/modules \
402+
${{targets.subpkgdir}}/etc/nginx/modules \
403+
${{targets.subpkgdir}}/var/lib/nginx
404+
405+
ln -sf /usr/lib/nginx/modules ${{targets.subpkgdir}}/var/lib/nginx/modules
406+
407+
mv ${{targets.destdir}}/usr/lib/nginx/modules/ngx_http_perl_module.so ${{targets.subpkgdir}}/usr/lib/nginx/modules/
408+
409+
mv ${{targets.destdir}}/usr/lib/perl5 ${{targets.subpkgdir}}/usr/lib/
410+
411+
echo "load_module \"modules/ngx_http_perl_module.so\";" >> ${{targets.subpkgdir}}/etc/nginx/modules/10_http_perl.conf
412+
test:
413+
pipeline:
414+
- uses: test/tw/ldd-check
415+
394416
- name: ${{package.name}}-src
395417
description: Nginx source code
396418
dependencies:
@@ -427,31 +449,6 @@ subpackages:
427449
- runs: |
428450
readlink -v /etc/nginx/conf.d/default.conf
429451
430-
- name: ${{package.name}}-mod-http_headers_more_filter
431-
description: Nginx third-party module http_headers_more_filter
432-
dependencies:
433-
provides:
434-
- nginx-mod-http_headers_more_filter=${{package.full-version}}
435-
runtime:
436-
- merged-usrsbin
437-
- ${{package.name}}
438-
- wolfi-baselayout
439-
pipeline:
440-
- runs: |
441-
install -d -m 755 \
442-
${{targets.subpkgdir}}/usr/lib/nginx/modules \
443-
${{targets.subpkgdir}}/etc/nginx/modules \
444-
${{targets.subpkgdir}}/var/lib/nginx
445-
446-
ln -sf /usr/lib/nginx/modules ${{targets.subpkgdir}}/var/lib/nginx/modules
447-
448-
mv ${{targets.destdir}}/usr/lib/nginx/modules/ngx_http_headers_more_filter_module.so ${{targets.subpkgdir}}/usr/lib/nginx/modules/
449-
450-
echo "load_module \"modules/ngx_http_headers_more_filter_module.so\";" >> ${{targets.subpkgdir}}/etc/nginx/modules/10_http_headers_more_filter.conf
451-
test:
452-
pipeline:
453-
- uses: test/tw/ldd-check
454-
455452
test:
456453
environment:
457454
contents:

0 commit comments

Comments
 (0)