guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Improving how NGINX modules are used and built


From: Ludovic Courtès
Subject: Re: Improving how NGINX modules are used and built
Date: Mon, 09 Jan 2023 11:51:37 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)

Hello!

mirai <mirai@makinata.eu> skribis:

> An oddity of how nginx modules are packaged in guix is that they all place
> the .so file under /etc/nginx/modules which is an odd directory to place 
> library object files.

To me that should be treated as a bug.  Those .so files should go to
$PKG/lib/nginx instead, or something similar.

> Looking at how network-manager-configuration handles its vpn-plugins field, 
> it seems doable
> that a similar approach can be used here.
> The existing nginx-modules should be changed to install their .so files under 
> lib{64}/nginx
> instead and they should drop a etc/nginx/modules/foo_module.conf file 
> responsible for loading
> the module from the .so file. Including modules through a .conf should be 
> preferred as
> there's no guarantee that a module is a .so file or that it is always a
> _single_ .so file but in general this file should typically be a one-line 
> .conf file containing:
>
> load_module 
> "/gnu/store/......nginx-foo-module/usr/lib64/nginx/ngx_foo_module.so";
>
>
> And nginx-configuration should serialize the modules field as a series of 
> lines including
> the module .conf files, that is:
>
> include 
> "/gnu/store/......nginx-foo-module/etc/nginx/modules/ngx_foo_module.conf";
> include 
> "/gnu/store/......nginx-bar-module/etc/nginx/modules/ngx_bar_module.conf";
> ...
>
> (note: a directory union could be used here as an alternative)

I’d say that ideally, one could extend <nginx-configuration> with
modules, and that would automatically create the ‘load_module’
statements.

> On a related note, given how nginx-modules are expected to be built and 
> linked against the
> same nginx build, a new nginx-build-system for nginx modules could be 
> considered as the few
> existing nginx modules in guix are for the most part a copy-paste of each 
> other with some
> modifications here-and-there.

That would be an improvement, indeed!

Thanks,
Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]