[arch-dev-public] Nginx

Sébastien Luttringer seblu at seblu.net
Thu Aug 1 16:59:38 EDT 2013


Talking about improvment on nginx package with Bartłomiej, it was
suggested to push this publicly to let everyone be confident with.

Nginx is a web server with modules selected (or added from external
sources) at the *build* time. So we cannot package them separately and
install them when needed.

There is 5 kinds of modules in nginx[1]:
- Core: Mandatory modules
- Stardard: enabled by default
- Optional: not enabled by default (like ssl module, more mandatory
than optinal)
- Mail: modules related to IMAP and POP proxies features
- External: provided by third parties (so not shipped with upstream tarball)
We currently have a mix of the 5 kinds of modules in our nginx
package. Passenger is our external module[2].

When I wanted to add auth-pam external module, it was suggested to me
to split the nginx package to have external modules in a dedicated
package to avoid rebuilding "main" modules when 3rd party modules are
updated. I started a draft version[6].

Looking around:
- Fedora[3], have one package with one external module (nginx-upstream-fair)[7].
- Debian[4], have different packages, in relation with the feature
enabled, not the module kind. In each package (light, full, extra)
there is external modules enabled.
- Opensuse[5], have one package with one external module built in
(passenger too)

Externals modules are not often updated (e.g: auth-pam 11/2010,
upstream-fair: 4/2012). Furthermore, there is no install-time
dependencies added by passenger or the previous others external.

Taking this in consideration, there is probably no need to split nginx
and we can have only one package and update it when it's necessary.


[1] http://wiki.nginx.org/Modules
[2] https://www.archlinux.org/packages/community/x86_64/passenger/
[3] https://admin.fedoraproject.org/pkgdb/acls/name/nginx
[4] http://packages.debian.org/search?keywords=nginx-&searchon=names&suite=unstable
[5] https://build.opensuse.org/package/show/server:http/nginx
[6] https://projects.archlinux.org/svntogit/community.git/commit/trunk?h=packages/nginx&id=677192
[7] Even if I doesn't find any trace of this module in build script.

Sébastien "Seblu" Luttringer
GPG: 0x2072D77A

More information about the arch-dev-public mailing list