SHA256
1
0
forked from pool/nginx

- update to 11.4

- Feature: the $upstream_bytes_received variable.
  - Feature: the $bytes_received, $session_time, $protocol,
    $status, $upstream_addr, $upstream_bytes_sent,
    $upstream_bytes_received, $upstream_connect_time,
    $upstream_first_byte_time, and $upstream_session_time variables
    in the stream module.
  - Feature: the ngx_stream_log_module.
  - Feature: the "proxy_protocol" parameter of the "listen"
    directive, the $proxy_protocol_addr and $proxy_protocol_port
    variables in the stream module.
  - Feature: the ngx_stream_realip_module.
  - Bugfix: nginx could not be built with the stream module and the
    ngx_http_ssl_module, but without ngx_stream_ssl_module; the bug
    had appeared in 1.11.3.
  - Feature: the IP_BIND_ADDRESS_NO_PORT socket option was not
    used; the bug had appeared in 1.11.2.
  - Bugfix: in the "ranges" parameter of the "geo" directive.
  - Bugfix: an incorrect response might be returned when using the
    "aio threads" and "sendfile" directives; the bug had appeared
    in 1.9.13.
- drop nginx-1.11.3_ssl_stream.patch again
- refreshed the following patches to apply cleanly again
  check_1.9.2+.patch
  nginx-1.11.2-html.patch
  nginx-1.11.2-no_Werror.patch
  nginx-aio.patch

- update to 1.11.3
  - Change: now the "accept_mutex" directive is turned off by
    default.
  - Feature: now nginx uses EPOLLEXCLUSIVE on Linux.
  - Feature: the ngx_stream_geo_module.
  - Feature: the ngx_stream_geoip_module.
  - Feature: the ngx_stream_split_clients_module.
  - Feature: variables support in the "proxy_pass" and
    "proxy_ssl_name" directives in the stream module.
  - Bugfix: socket leak when using HTTP/2.
  - Bugfix: in configure tests.  Thanks to Piotr Sikora.
- backport nginx-1.11.3_ssl_stream.patch from hg
- refresh patches to apply cleanly again:
  - check_1.9.2+.patch
  - nginx-1.11.2-html.patch
  - nginx-1.11.2-no_Werror.patch
  - nginx-aio.patch
- enable a few new upstream modules and move some from 1.11.x to
  dynamic:
  - stream_geoip_module
  - mail_ssl_module
  - stream_ssl_module
- build fancyindex unconditionally and update it to 0.4.1
  - New `fancyindex_directories_first` configuration directive
    (enabled by default), which allows setting whether directories
    are sorted before other files.
    (Patch by Luke Zapart <<luke@zapart.org>>.)
  - Fix index files not working when the fancyindex module is in
    use (#46).
  - The module can now be built as a [dynamic
    module](https://www.nginx.com/resources/wiki/extending/converting/).
    (Patch by Róbert Nagy <<vrnagy@gmail.com>>.)
  - New configuration directive `fancyindex_show_path`, which
    allows hiding the `<h1>` header which contains the current
    path.  (Patch by Thomas P.  <<tpxp@live.fr>>.)
  - Directory and file links in listings now have a title="..."
    attribute.  (Patch by `@janglapuk` <<trusdi.agus@gmail.com>>.)
  - Fix for hung requests when the module is used along with
    `ngx_pagespeed`.
    (Patch by Otto van der Schaaf <<oschaaf@we-amp.com>>.)
  - New feature: Allow filtering out symbolic links using the
    `fancyindex_hide_symlinks` configuration directive. (Idea and
    prototype patch by Thomas Wemm.)
  - New feature: Allow specifying the format of timestamps using
    the `fancyindex_time_format` configuration directive. (Idea
    suggested by Xiao Meng <<novoreorx@gmail.com>>).
  - Listings in top-level directories will not generate a "Parent
    Directory" link as first element of the listing.
    (Patch by Thomas P.)
  - Fix propagation and overriding of the `fancyindex_css_href`
    setting inside nested locations.
  - Minor changes in the code to allow building cleanly under
    Windows with Visual Studio 2013.
    (Patch by Y. Yuan <<yzwduck@gmail.com>>).
- added nginx-rtmp-module
- make all modules dynamic that support it:
  - ngx-fancyindex
  - headers_more_nginx-module
  - nginx-rtmp-module
- manually install the docs instead of using %doc
- unify how we install documentation for the modules
- restructure contrib file handling
  - moved vim files into the normal vim paths so we can use them
    directly
    - new BR/R: vim
  - split out vim files into a subpackage vim-plugin-nginx so we
    dont have the vim requires on the main package
  - perl scripts are moved to /usr/share/nginx/

OBS-URL: https://build.opensuse.org/package/show/server:http/nginx?expand=0&rev=70
This commit is contained in:
2016-09-29 11:13:50 +00:00
committed by Git OBS Bridge
parent c717927098
commit e577b6dc17
11 changed files with 257 additions and 90 deletions

View File

@@ -18,7 +18,6 @@
%bcond_with cpp_test
%bcond_with google_perftools
%bcond_without fancyindex
%if 0%{?suse_version} != 1315 || 0%{?is_opensuse}
%bcond_without libatomic
@@ -36,6 +35,8 @@
%bcond_with systemd
%endif
%{!?vim_data_dir:%global vim_data_dir /usr/share/vim/%(readlink /usr/share/vim/current)}
%define pkg_name nginx
%define ngx_prefix %{_prefix}
%define ngx_sbin_path %{_sbindir}/nginx
@@ -60,13 +61,23 @@
%define ngx_pid_path %{_localstatedir}/run/nginx.pid
%define ngx_lock_path %{_localstatedir}/run/nginx.lock
%endif
%define ngx_doc_dir %{_datadir}/doc/packages/%{name}
#
Name: nginx
Version: 1.11.2
Version: 1.11.4
Release: 0
%define fancyindex_version 0.3.5
%define ngx_fancyindex_version 0.4.1
%define ngx_fancyindex_module_path ngx-fancyindex-%{ngx_fancyindex_version}
%define headers_more_nginx_version 0.30
%define headers_more_nginx_module_path headers-more-nginx-module-%{headers_more_nginx_version}
%define nginx_upstream_check_version 0.3.0
%define nginx_upstream_check_module_path nginx_upstream_check_module-%{nginx_upstream_check_version}
%define nginx_rtmp_version 1.1.9
%define nginx_rtmp_module_path nginx-rtmp-module-%{nginx_rtmp_version}
Summary: A HTTP server and IMAP/POP3 proxy server
License: BSD-2-Clause
Group: Productivity/Networking/Web/Proxy
@@ -75,9 +86,10 @@ Source: http://nginx.org/download/nginx-%{version}.tar.gz
Source1: nginx.init
Source2: nginx.logrotate
Source3: nginx.service
Source4: https://github.com/aperezdc/ngx-fancyindex/archive/v%{fancyindex_version}/ngx-fancyindex-%{fancyindex_version}.tar.gz
Source5: https://github.com/openresty/headers-more-nginx-module/archive/v%{headers_more_nginx_version}/headers-more-nginx-module-%{headers_more_nginx_version}.tar.gz
Source6: https://github.com/yaoweibin/nginx_upstream_check_module/archive/v%{nginx_upstream_check_version}/nginx_upstream_check_module-%{nginx_upstream_check_version}.tar.gz
Source4: https://github.com/aperezdc/ngx-fancyindex/archive/v%{ngx_fancyindex_version}/%{ngx_fancyindex_module_path}.tar.gz
Source5: https://github.com/openresty/headers-more-nginx-module/archive/v%{headers_more_nginx_version}/%{headers_more_nginx_module_path}.tar.gz
Source6: https://github.com/yaoweibin/nginx_upstream_check_module/archive/v%{nginx_upstream_check_version}/%{nginx_upstream_check_module_path}.tar.gz
Source7: https://github.com/arut/nginx-rtmp-module/archive/v%{nginx_rtmp_version}/%{nginx_rtmp_module_path}.tar.gz
Source100: nginx.rpmlintrc
# PATCH-FIX-UPSTREAM nginx-1.11.2-no_Werror.patch
Patch0: nginx-1.11.2-no_Werror.patch
@@ -97,12 +109,14 @@ BuildRequires: libxslt-devel
BuildRequires: openssl-devel
BuildRequires: pcre-devel
BuildRequires: pkgconfig
BuildRequires: vim
BuildRequires: zlib-devel
%requires_eq perl
Requires(pre): %fillup_prereq
Requires(pre): %insserv_prereq
Requires(pre): pwdutils
Recommends: logrotate
Recommends: vim-plugin-nginx
Conflicts: otherproviders(nginx)
Provides: http_daemon
Provides: httpd
@@ -119,7 +133,7 @@ BuildRequires: libatomic-ops-devel
%endif
#
%if %{with systemd}
BuildRequires: systemd
BuildRequires: pkgconfig(systemd)
%{?systemd_requires}
%endif
@@ -127,14 +141,21 @@ BuildRequires: systemd
nginx [engine x] is a HTTP server and IMAP/POP3 proxy server written by Igor Sysoev.
It has been running on many heavily loaded Russian sites for more than two years.
%prep
%if %{with fancyindex}
%setup -q -n %{pkg_name}-%{version} -b4
%else
%setup -q -n %{pkg_name}-%{version}
%package -n vim-plugin-nginx
Summary: VIM support for nginx config files
Group: Productivity/Editors/Vi
%if 0%{?suse_version} > 1110
BuildArch: noarch
%endif
%setup -D -T -a 5 -n %{pkg_name}-%{version}
%setup -D -T -a 6 -n %{pkg_name}-%{version}
%requires_eq vim
%description -n vim-plugin-nginx
nginx [engine x] is a HTTP server and IMAP/POP3 proxy server written by Igor Sysoev.
It has been running on many heavily loaded Russian sites for more than two years.
This package holds the VIM support for nginx config files.
%prep
%setup -q -n %{pkg_name}-%{version} -a 4 -a 5 -a 6 -a 7
%patch0 -p1
%patch1 -p1
%patch2
@@ -146,13 +167,6 @@ perl -pi -e 's|\r\n|\n|g' contrib/geo2nginx.pl
# we just use lib here because nginx loads them relative to _prefix
perl -pi -e 's|#LIBDIR#|%{_lib}|g' conf/nginx.conf
%if %{with fancyindex}
mkdir -p ngx-fancyindex-%{fancyindex_version}
pushd ../ngx-fancyindex-%{fancyindex_version}
cp -r template* LICENSE *.rst $RPM_BUILD_DIR/%{pkg_name}-%{version}/ngx-fancyindex-%{fancyindex_version}/
popd
%endif
%if %{with systemd}
sed -i "s/\/var\/run/\/run/" %{_sourcedir}/nginx.init
%endif
@@ -202,8 +216,11 @@ sed -i "s/\/var\/run/\/run/" %{_sourcedir}/nginx.init
--with-http_perl_module=dynamic \
--with-perl=%{_bindir}/perl \
--with-mail=dynamic \
--with-stream=dynamic \
--with-mail_ssl_module \
--with-stream=dynamic \
--with-stream_ssl_module \
--with-stream_realip_module \
--with-stream_geoip_module=dynamic \
--with-pcre \
%if %{with pcre_jit}
--with-pcre-jit \
@@ -217,13 +234,10 @@ sed -i "s/\/var\/run/\/run/" %{_sourcedir}/nginx.init
%if %{with cpp_test}
--with-cpp_test_module \
%endif
%if %{with fancyindex}
--add-module=../ngx-fancyindex-%{fancyindex_version} \
%endif
--add-module=headers-more-nginx-module-%{headers_more_nginx_version} \
--add-module=nginx_upstream_check_module-%{nginx_upstream_check_version} \
--with-md5=%{_prefix} \
--with-sha1=%{_prefix} \
--add-module=%{nginx_upstream_check_module_path} \
--add-dynamic-module=%{ngx_fancyindex_module_path} \
--add-dynamic-module=%{headers_more_nginx_module_path} \
--add-dynamic-module=%{nginx_rtmp_module_path} \
%if 0%{?suse_version} > 1220
--with-cc-opt="%{optflags} -fPIC -D_GNU_SOURCE -std=gnu99 -fstack-protector" \
--with-ld-opt="-Wl,-z,relro,-z,now -pie"
@@ -250,6 +264,40 @@ ln -s -f %{_sysconfdir}/init.d/%{pkg_name} %{buildroot}%{_sbindir}/rc%{pkg_name}
rm %{buildroot}/srv/www/htdocs/index.html
mkdir -p %{buildroot}%{ngx_doc_dir}
cp -av CHANGES* LICENSE \
%{buildroot}%{ngx_doc_dir}
mkdir -p %{buildroot}%{vim_data_dir}/
cp -av contrib/vim/* \
%{buildroot}%{vim_data_dir}/
mkdir -p %{buildroot}%{_datadir}/nginx/
chmod a+rx contrib/geo2nginx.pl
cp -av contrib/geo2nginx.pl contrib/unicode2nginx/ \
%{buildroot}%{_datadir}/nginx/
copydocs() {
subdir=$1;
shift;
mkdir -p %{buildroot}%{ngx_doc_dir}/$subdir/
pushd $subdir
cp -av $* %{buildroot}%{ngx_doc_dir}/$subdir/
popd
}
copydocs %{ngx_fancyindex_module_path} \
template* LICENSE *.rst
copydocs %{headers_more_nginx_module_path} \
README.markdown
copydocs %{nginx_upstream_check_module_path} \
doc/*
copydocs %{nginx_rtmp_module_path} \
AUTHORS LICENSE README.md stat.xsl
%post
%if %{with systemd}
%service_add_post nginx.service
@@ -309,6 +357,11 @@ rm %{buildroot}/srv/www/htdocs/index.html
%{ngx_module_dir}/ngx_http_xslt_filter_module.so
%{ngx_module_dir}/ngx_mail_module.so
%{ngx_module_dir}/ngx_stream_module.so
%{ngx_module_dir}/ngx_stream_geoip_module.so
# external modules
%{ngx_module_dir}/ngx_http_fancyindex_module.so
%{ngx_module_dir}/ngx_http_headers_more_filter_module.so
%{ngx_module_dir}/ngx_rtmp_module.so
%{_mandir}/man3/nginx.3pm*
/srv/www/htdocs/50x.html
%if 0%{?suse_version} && 0%{?suse_version} < 1140
@@ -323,15 +376,19 @@ rm %{buildroot}/srv/www/htdocs/index.html
%dir %attr(750,%{ngx_user_group},%{ngx_user_group}) %{ngx_tmp_fcgi}
%dir %attr(750,%{ngx_user_group},%{ngx_user_group}) %{ngx_tmp_scgi}
%dir %attr(750,%{ngx_user_group},%{ngx_user_group}) %{ngx_tmp_uwsgi}
%doc CHANGES*
%doc conf/ contrib/
%if %{with fancyindex}
%doc ngx-fancyindex-%{fancyindex_version}/
%endif
%doc %{ngx_doc_dir}
%if %{with systemd}
%{_unitdir}/nginx.service
%else
%{_sysconfdir}/init.d/%{pkg_name}
%endif
%{_datadir}/nginx/
%files -n vim-plugin-nginx
%defattr(-,root,root)
%dir %{vim_data_dir}/ftdetect/
%{vim_data_dir}/ftdetect/nginx.vim
%{vim_data_dir}/indent/nginx.vim
%{vim_data_dir}/syntax/nginx.vim
%changelog