X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=nginx.spec;h=e878939c058942ec514070b4d728d6f8f467d84d;hb=924400caa957d83ab7d2899775b761d54567c86d;hp=0e3d91f24d2a3c0cc06a7c6c0507f82256e91440;hpb=97ac281a2a451f7b3a3ab8db165101b0bd880a30;p=packages%2Fnginx.git diff --git a/nginx.spec b/nginx.spec index 0e3d91f..e878939 100644 --- a/nginx.spec +++ b/nginx.spec @@ -27,26 +27,28 @@ %bcond_with http_browser # http browser module (header "User-agent" parser) %bcond_with modsecurity # modsecurity module %bcond_with rtmp # rtmp support +%bcond_without vts # virtual host traffic status module %ifarch x32 %undefine with_rtsig %endif %define ssl_version 1.0.2 -%define rtmp_version 1.1.7 -%define modsecurity_version 2.9.1 +%define rtmp_version 1.2.1 +%define vts_version 0.1.18 +%define modsecurity_version 2.9.2 Summary: High perfomance HTTP and reverse proxy server Summary(pl.UTF-8): Serwer HTTP i odwrotne proxy o wysokiej wydajności # nginx lines: # - stable: production quality with stable API # - mainline: production quality but API can change Name: nginx -Version: 1.11.5 -Release: 0.4 +Version: 1.15.9 +Release: 3 License: BSD-like Group: Networking/Daemons/HTTP Source0: http://nginx.org/download/%{name}-%{version}.tar.gz -# Source0-md5: db43f2b19746f6f47401c3afc3924dc6 +# Source0-md5: 00dde20d4d2cc65bdaf8950a5bd3e14b Source1: http://nginx.net/favicon.ico # Source1-md5: 2aaf2115c752cbdbfb8a2f0b3c3189ab Source2: proxy.conf @@ -58,12 +60,14 @@ Source14: %{name}.conf Source17: %{name}-mime.types.sh Source18: %{name}.service Source22: http://www.modsecurity.org/tarball/%{modsecurity_version}/modsecurity-%{modsecurity_version}.tar.gz -# Source22-md5: 0fa92b852abc857a20b9e24f83f814cf +# Source22-md5: 4d9454efb19269c4288ae408ea438b76 Source101: https://github.com/arut/nginx-rtmp-module/archive/v%{rtmp_version}/%{name}-rtmp-module-%{rtmp_version}.tar.gz -# Source101-md5: 8006de2560db3e55bb15d110220076ac +# Source101-md5: 639ac2b78103adaccbcfe484a92acf44 +Source102: https://github.com/vozlt/nginx-module-vts/archive/v%{vts_version}.tar.gz +# Source102-md5: 409a10dbd85e0b807cc77eecec29a3b5 Patch0: %{name}-no-Werror.patch Patch1: %{name}-modsecurity-xheaders.patch -URL: http://nginx.net/ +URL: http://nginx.org/ BuildRequires: mailcap BuildRequires: pcre-devel BuildRequires: rpmbuild(macros) >= 1.644 @@ -117,11 +121,51 @@ Requires(pre): /usr/sbin/useradd Requires: rc-scripts >= 0.2.0 Requires: systemd-units >= 38 Suggests: vim-syntax-nginx +Obsoletes: nginx-common < 1.13.3 +Obsoletes: nginx-light < 1.13.3 +Obsoletes: nginx-standard < 1.13.3 +Conflicts: rpm < 4.4.2-0.2 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _sysconfdir /etc/%{name} %define _nginxdir /home/services/%{name} +# minimizing restarts logics. we restart webserver: +# +# 1. at the end of transaction. (posttrans, feature from rpm 4.4.2) +# 2. first install of module (post: $1 = 1) +# 2. uninstall of module (postun: $1 == 0) +# +# the strict internal deps between modules and +# main package are very important for all this to work. + +# restart webserver at the end of transaction + +%define restart_webserver \ + %systemd_post %{name}.service \ + %service %{name} force-reload \ + %{nil} + +# macro called at module post scriptlet +%define module_post \ +if [ "$1" = "1" ]; then \ + %restart_webserver \ +fi + +# macro called at module postun scriptlet +%define module_postun \ +if [ "$1" = "0" ]; then \ + %restart_webserver \ +fi + +# it's sooo annoying to write them +%define module_scripts() \ +%post %1 \ +%module_post \ +\ +%postun %1 \ +%module_postun + %description nginx ("engine x") is a high-performance HTTP server and reverse proxy, as well as an IMAP/POP3 proxy server. nginx was written by Igor @@ -153,6 +197,7 @@ Nginx HTTP geoip module. Summary: Nginx stream geoip module Group: Daemons Requires: %{name} = %{version}-%{release} +Requires: %{name}-mod_stream = %{version}-%{release} Requires: GeoIP %description mod_stream_geoip @@ -212,7 +257,7 @@ monitrc file for monitoring nginx webserver. Plik monitrc do monitorowania serwera WWW nginx. %prep -%setup -q %{?with_rtmp:-a101} %{?with_modsecurity:-a22} +%setup -q %{?with_rtmp:-a101} %{?with_modsecurity:-a22} %{?with_vts:-a102} %patch0 -p0 %{?with_modsecurity:%patch1 -p0} @@ -220,6 +265,10 @@ Plik monitrc do monitorowania serwera WWW nginx. mv nginx-rtmp-module-%{rtmp_version} nginx-rtmp-module %endif +%if %{with vts} +mv nginx-module-vts-%{vts_version} nginx-vts-module +%endif + # build mime.types.conf #sh %{SOURCE17} /etc/mime.types @@ -239,6 +288,8 @@ cp -f configure auto/ --http-client-body-temp-path=%{_localstatedir}/cache/%{name}/client_body_temp \ --http-fastcgi-temp-path=%{_localstatedir}/cache/%{name}/fastcgi_temp \ --http-proxy-temp-path=%{_localstatedir}/cache/%{name}/proxy_temp \ + --http-uwsgi-temp-path=%{_localstatedir}/cache/%{name}/uwsgi_temp \ + --http-scgi-temp-path=%{_localstatedir}/cache/%{name}/scgi_temp \ --user=nginx \ --group=nginx \ %{?with_select:--with-select_module} \ @@ -270,6 +321,7 @@ cp -f configure auto/ %{?with_ssl:--with-http_ssl_module} \ %{!?with_http_browser:--without-http_browser_module} \ %{?with_rtmp:--add-module=./nginx-rtmp-module} \ + %{?with_vts:--add-module=./nginx-vts-module} \ %{?with_auth_request:--with-http_auth_request_module} \ %{?with_threads:--with-threads} \ %{?with_http2:--with-http_v2_module} \ @@ -299,6 +351,7 @@ install -d $RPM_BUILD_ROOT/etc/rc.d/init.d \ $RPM_BUILD_ROOT%{_localstatedir}/cache/%{name} \ $RPM_BUILD_ROOT%{_localstatedir}/lock/subsys/%{name} \ $RPM_BUILD_ROOT{%{_sbindir},%{_sysconfdir}/{conf,modules,vhosts,webapps}.d} \ + $RPM_BUILD_ROOT%{_sysconfdir}/snippets \ $RPM_BUILD_ROOT/etc/{logrotate.d,monit} \ $RPM_BUILD_ROOT{%{systemdunitdir},/etc/systemd/system} @@ -369,8 +422,9 @@ for a in access.log error.log; do fi done /sbin/chkconfig --add %{name} -%systemd_post %{name}.service -%service %{name} force-reload + +%posttrans +%restart_webserver %preun if [ "$1" = "0" ];then @@ -386,6 +440,14 @@ if [ "$1" = "0" ]; then fi %systemd_reload +%module_scripts mod_http_geoip +%module_scripts mod_http_image_filter +%module_scripts mod_http_perl +%module_scripts mod_http_xslt_filter +%module_scripts mod_mail +%module_scripts mod_stream +%module_scripts mod_stream_geoip + %files %defattr(644,root,root,755) %doc CHANGES LICENSE README html/index.html conf/nginx.conf @@ -395,12 +457,14 @@ fi %dir %attr(750,root,nginx) %{_sysconfdir} %dir %{_sysconfdir}/conf.d %dir %{_sysconfdir}/modules.d +%dir %{_sysconfdir}/snippets %dir %{_sysconfdir}/vhosts.d %dir %{_sysconfdir}/webapps.d %attr(640,root,root) %{_sysconfdir}/mime.types %attr(640,root,root) %{_sysconfdir}/koi-utf %attr(640,root,root) %{_sysconfdir}/koi-win %attr(640,root,root) %{_sysconfdir}/win-utf +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fastcgi.conf %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/nginx.conf %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/proxy.conf %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fastcgi_params