Bug 1654698 - RFE: Add nginx-mod-http-lua to nginx package
Summary: RFE: Add nginx-mod-http-lua to nginx package
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: nginx
Version: rawhide
Hardware: Unspecified
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Felix Kaechele
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-11-29 12:56 UTC by Clément OUDOT
Modified: 2021-06-10 13:39 UTC (History)
13 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2021-04-21 14:43:15 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Clément OUDOT 2018-11-29 12:56:36 UTC
Description of problem:

The nginx lua module is not available

We need it to use the 'access_by_lua' directive.

Comment 1 Xavier Bachelot 2020-04-07 14:15:20 UTC
What Clément is referring to is:
https://github.com/openresty/lua-nginx-module

After looking around a bit, I don't think this can be made an additional package that can be installed alongside of the nginx package.
This would need to be integrated into main nginx package. That is how Debian is packaging it and I didn't found any evidence this can be done differently.
To be able to compile the mod_lua additional module, the Nginx Development Kit also needs to be added:
https://github.com/vision5/ngx_devel_kit

I'm moving this bug to Fedora, EPEL is not the appropriate location for such a request for enhancement.
It first needs to be available in Fedora before standing a chance to make it's way into EPEL.

Comment 2 Xavier Bachelot 2020-04-07 18:34:10 UTC
Probably not perfect, but here is a first attempt:
https://src.fedoraproject.org/fork/xavierb/rpms/nginx/c/3de47ac1f5bd5bc17beb3f7dfef77e02a4203d4a?branch=lua_module

Comment 3 Xavier Bachelot 2020-05-13 16:50:00 UTC
It's probably better to reference the branch in my fork rather than a lone commit:
https://src.fedoraproject.org/fork/xavierb/rpms/nginx/commits/lua_module

Comment 4 Felix Kaechele 2020-05-13 18:40:07 UTC
As we're basically adding two new packages inside this package a new review of the package would probably be warranted.

For example ngx_devel_kit bundles some external header files for the hash algorithms. So we might need a bundling exception as well (or at least something like Provides: bundled(sha.h))

I'll try and look into this over the weekend. If you have the time it would be great if you could rebase this on top of the current 1.18.0 package in rawhide.

As for EPEL I currently not envision upgrading EPEL 7 to 1.18. But I am building the nginx modules for EPEL 8 as well so we could put it in there as well.

Comment 5 Xavier Bachelot 2020-05-13 19:31:30 UTC
I would very much have preferred that to be 2 different side-loaded packages, but it seems there's no way around it.
I did not notice the bundling earlier. You're right about the Provides: bundled(...), but for better or worse, Fedora doesn't mandate unbundling nowadays, so I guess no bundling exception would be needed.
For EL7, I could try and backport the spec changes for lua support and not bump the version. What do you think ?
For EL8, nginx is provided by RHEL/CentOS in a module, so I'm not sure how to proceed nor what is actually allowed or not. I was not able to update what is shipped in EL8 with my home-built nginx packages due to the modular stuff getting in the way.

Anyway, I've rebased my branch to current rawhide.

Comment 6 Felix Kaechele 2021-04-21 14:43:15 UTC
I have decided to not include 3rd party source code in the nginx package build process.
I do, however, have enabled the --with-compat build flag in the nginx package, so it should be easy for people to build separate packages with the dynamic module.

Comment 7 Xavier Bachelot 2021-06-10 10:47:48 UTC
(In reply to Felix Kaechele from comment #6)
> I have decided to not include 3rd party source code in the nginx package
> build process.
> I do, however, have enabled the --with-compat build flag in the nginx
> package, so it should be easy for people to build separate packages with the
> dynamic module.

Building a separate package is definitely a nicer solution than bundling everything in the main package.
Would you have any example or doc at hand on how to go the separate package route ?

Comment 8 Xavier Bachelot 2021-06-10 13:39:55 UTC
Building separate packages seems to require the nginx `configure` script which isn't shipped with nginx or any sub-package. Am I missing something ? Maybe that configure script could be shipped in an nginx-devel sub-package ?


Note You need to log in before you can comment on or make changes to this bug.