Текущий 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'а, достаточной для сборки сторонних модулей к нему.
Предлагаю на этом этапе тащить внешние модули в пакет nginx.
Я имею ввиду сборку внешних модулей. а собранный результат складывать в отдельные подпакеты.