nginx+ngx_cache_purge

Что бы в стандартный nginx из репозитория CentALT добавить еще один модуль ngx_cache_purge надо сделать некоторые изменения.

Для начала убедимся что у нас подготовлена среда для пересборки rpm

После чего, идем на сайт http://labs.frickle.com/nginx_ngx_cache_purge/ И качаем оттуда последнюю версию модуля.

# ~/rpmbuild/SOURCES
# wget http://labs.frickle.com/files/ngx_cache_purge-1.4.tar.gz

После чего идем на страницу http://centos.alt.ru/repository/centos/6/SRPMS/ и качаем оттуда последнюю версия исходников от nginx и устанавливаем

# cd ~
# wget http://centos.alt.ru/repository/centos/6/SRPMS/nginx-1.1.7-1.el6.src.rpm
# rpm -ivh nginx-1.1.7-1.el6.src.rpm

Оно у нас распакуется в наш домашний каталог в подготовленную среду ~/rpmbuild

Далее, для начала поправим файл спеки nginx

# mcedit ~/rpmbuild/SPECS/nginx.spec

Далее, по секциям.

В начале в SourceX: вклиниваем нашу Source12: ngx_cache_purge-1.4.tar.gz

Source0:        http://sysoev.ru/nginx/nginx-%{version}.tar.gz
Source1:        %{name}.init
Source2:        %{name}.logrotate
Source3:        virtual.conf
Source4:        ssl.conf
Source5:        nginx-upstream-fair.tar.gz
Source6:        upstream-fair.conf
Source7:        %{name}.sysconfig
Source8:        nginx_upload_module-2.2.0.tar.gz
Source9:        Mod_zip-1.1.6.tar.gz
Source10:       masterzen-nginx-upload-progress-module-v0.8.2-1-g3d8e105.tar.gz
Source11:       ngx_http_auth_pam_module-1.2.tar.gz
Source12:       ngx_cache_purge-1.4.tar.gz
Source21:       GeoIPCountryCSV.zip
Source100:      index.html
Source103:      50x.html
Source104:      404.html
Source200:      nginx.pam

%description добавляем * ngx_cache_purge

%description
Nginx [engine x] is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3
proxy server written by Igor Sysoev.
 
Following third party modules added:
* nginx-upstream-fair
* mod_zip
* ngx_http_auth_pam_module
* ngx_cache_purge

%prep добавляем %setup -T -D -a 12

%prep
%setup -q
%patch0 -p0
%patch1 -p0
%{__tar} zxvf %{SOURCE5}
%setup -T -D -a 8
%setup -T -D -a 9
%setup -T -D -a 10
%setup -T -D -a 11
%setup -T -D -a 12
%setup -T -D -a 21

Ищем где начинается ./configure \ и строчку

    --add-module=%{_builddir}/nginx-%{version}/ngx_http_auth_pam_module-1.2

Меняем на

    --add-module=%{_builddir}/nginx-%{version}/ngx_http_auth_pam_module-1.2 \
    --add-module=%{_builddir}/nginx-%{version}/ngx_cache_purge-1.4

Т.е. добавляем при запуске ./configure использовать наш модуль.

:!: Документацию к модулю пихать в rpm не стал, лень было.

Теперь собираем

# cd ~/rpmbuild/SPECS/
# rpmbuild -ba nginx.spec

Если все собралось без ошибок, то в каталоге ~/rpmbuild/RPMS/x86_64 мы получаем на выходе nginx-1.1.7-1.el6.x86_64.rpm