Bug 40543

Summary: FR: nginx-devel package to build third-party modules
Product: Sisyphus Reporter: Nikolay A. Fetisov <naf>
Component: nginxAssignee: Anton Farygin <rider>
Status: NEW --- QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P5 CC: rider
Version: unstable   
Hardware: all   
OS: Linux   

Description Nikolay A. Fetisov 2021-07-19 18:59:11 MSK
Текущий Nginx поддерживает загрузку диначимески собираемых модулей. 

Для сборки сторонних модулей используется система сборки nginx'а, 
с последовательностью команд вида 

./configure --with-compat --add-dynamic-module=<path_to_module>
make modules

и собранным модулем в 
objs/ngx_*_module.so

Из дерева исходного кода nginx'а для сборки нужны:
./configure
auto/
src/   - только заголовочные файлы *.h


При загрузке внешнего модуля nginx проверяет совпадение своей текущей версии
с использованной для сборки модуля (значение nginx_version в src/core/nginx.h),
и совпадение значений параметра NGX_MODULE_SIGNATURE из src/core/ngx_module.h -
т.е. набор стандарных модулей, указанных при сборке nginx'а.


Сильно предварительный вариант модуля ModSecurity (https://github.com/SpiderLabs/ModSecurity-nginx)
лежит как http://git.altlinux.org/people/naf/packages/nginx-modsecurity.git , получающийся результат
вполне рабочий - но держать в модуле часть дистрибутива самого nginx'а, по-видимому,
как-то неправильно.

Было бы хорошо иметь пакет со сборочной средой nginx'а, достаточной для сборки сторонних модулей к нему.
Comment 1 Anton Farygin 2022-03-26 13:32:17 MSK
Предлагаю на этом этапе тащить внешние модули в пакет nginx.
Comment 2 Anton Farygin 2022-03-26 13:33:10 MSK
Я имею ввиду сборку внешних модулей. а собранный результат складывать в отдельные подпакеты.