Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:non7top:branches:home:non7top
nginx
nginx.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File nginx.spec of Package nginx
# %define nginx_home %{_localstatedir}/cache/nginx %define nginx_user nginx %define nginx_group nginx %define nginx_loggroup adm %define push_module_ver 2e6632033d75e8030f1402ee77269b451ba48248 %define lenhide_module_ver f6788bb9ff75ceb87924377ccbde776db0d38374 %define pagespeed_module_ver d01093ba9b566a23048288db082b7c2fcebfccc5 %define echo_module_ver 7740e11558b530b66b469c657576f5280b7cdb1b %define headmore_module_ver ccaede8899694c7344f2dd3dd1c9780fe012f873 %define vts_module_ver 89cfcd908c22ad44501757eb575fc0df29d250d6 %define digest_module_ver 7955af9c77598c697ac292811914ce1e2b3b824c %define ndk_module_ver 0.3.0 %define lua_module_ver 0.10.11 %define rhel 5 %if 0%{?centos_version} >= 600 || 0%{?rhel_version} >= 600 %define rhel 6 %endif # distribution specific definitions %define use_systemd (0%{?ubuntu_version} !=0 || 0%{?fedora} && 0%{?fedora} >= 18) || (0%{?rhel} && 0%{?rhel} >= 7) || (0%{?suse_version} == 1315) %define with_lua 1 %if 0%{?ubuntu_version} != 0 %define with_lua 0 Requires: systemd Requires: openssl %elif 0%{?rhel} == 5 %define _group System Environment/Daemons %define with_http2 1 Requires(pre): shadow-utils Requires: initscripts >= 8.36 Requires(post): chkconfig Requires: openssl102 BuildRequires: openssl102-devel BuildRequires: pkgconfig %endif %if 0%{?rhel} == 6 %define _group System Environment/Daemons %define with_http2 1 Requires(pre): shadow-utils Requires: initscripts >= 8.36 Requires(post): chkconfig Requires: openssl102 BuildRequires: openssl102-devel %endif %if 0%{?rhel} == 7 %define _group System Environment/Daemons %define epoch 1 %define with_http2 1 Epoch: 1 Requires(pre): shadow-utils Requires: systemd Requires: openssl102 BuildRequires: systemd BuildRequires: openssl102-devel %endif %if 0%{?suse_version} == 1315 %define _group Productivity/Networking/Web/Servers %define with_http2 1 %define nginx_loggroup trusted Requires(pre): shadow Requires: systemd BuildRequires: libopenssl-devel BuildRequires: systemd BuildRequires: perl BuildRequires: libGeoIP-devel BuildRequires: libbrotli-devel %endif # end of distribution specific definitions %define main_version 1.13.8 %define main_release 1%{?dist}.ngx %define bdir %{_builddir}/%{name}-%{main_version} %define WITH_CC_OPT %{optflags} $(pcre-config --cflags) -I/usr/local/include -I/opt/openssl-1.0.2/include -I/usr/include %define WITH_LD_OPT -L/opt/openssl-1.0.2/lib -Wl,-rpath,/opt/openssl-1.0.2/lib -lssl -lcrypto -ldl -lz %if 0%{?ubuntu_version} != 0 %define LUAJIT_INC $( pkg-config --cflags luajit|sed -e 's#-I##' ) %endif %define COMMON_CONFIGURE_ARGS $(echo "\ %{?extra_flags:%{extra_flags}} --prefix=%{_sysconfdir}/nginx \ --sbin-path=%{_sbindir}/nginx \ --modules-path=%{_libdir}/nginx/modules \ --conf-path=%{_sysconfdir}/nginx/nginx.conf \ --error-log-path=%{_localstatedir}/log/nginx/error.log \ --http-log-path=%{_localstatedir}/log/nginx/access.log \ --pid-path=%{_localstatedir}/run/nginx.pid \ --lock-path=%{_localstatedir}/run/nginx.lock \ --http-client-body-temp-path=%{_localstatedir}/cache/nginx/client_temp \ --http-proxy-temp-path=%{_localstatedir}/cache/nginx/proxy_temp \ --http-fastcgi-temp-path=%{_localstatedir}/cache/nginx/fastcgi_temp \ --http-uwsgi-temp-path=%{_localstatedir}/cache/nginx/uwsgi_temp \ --http-scgi-temp-path=%{_localstatedir}/cache/nginx/scgi_temp \ --user=%{nginx_user} \ --group=%{nginx_group} \ --with-http_ssl_module \ --with-http_realip_module \ --with-http_addition_module \ --with-http_sub_module \ --with-http_flv_module \ --with-http_mp4_module \ --with-http_gunzip_module \ --with-http_gzip_static_module \ --with-http_random_index_module \ --with-http_secure_link_module \ --with-http_auth_request_module \ --with-file-aio \ %{?with_http2:--with-http_v2_module} \ --add-module=%{bdir}/nginx-push-stream-module-%{push_module_ver} \ --add-module=%{bdir}/nginx-length-hiding-filter-module-%{lenhide_module_ver} \ --add-module=%{bdir}/echo-nginx-module-%{echo_module_ver} \ --add-module=%{bdir}/headers-more-nginx-module-%{headmore_module_ver} \ --add-dynamic-module=%{bdir}/nginx-module-vts-%{vts_module_ver} \ --add-module=%{bdir}/nginx-http-auth-digest-%{digest_module_ver} \ %{?with_lua:--add-dynamic-module=%{bdir}/lua-nginx-module-%{lua_module_ver}"} \ --add-dynamic-module=%{bdir}/ngx_devel_kit-%{ndk_module_ver} Summary: High performance web server Name: nginx Version: %{main_version} Release: %{main_release} Vendor: Nginx, Inc. URL: http://nginx.org/ Group: %{_group} Epoch: 1 %define main_release %{release} Source0: http://nginx.org/download/%{name}-%{version}.tar.gz Source1: logrotate Source2: nginx.init Source3: nginx.sysconf Source4: nginx.conf Source5: nginx.vh.default.conf Source6: nginx.vh.example_ssl.conf Source7: nginx.suse.init Source8: nginx.service Source9: nginx.upgrade.sh Source10: https://github.com/wandenberg/nginx-push-stream-module/archive/%{push_module_ver}.tar.gz Source11: https://github.com/nulab/nginx-length-hiding-filter-module/archive/%{lenhide_module_ver}.tar.gz #Source12: ngx_pagespeed-%{pagespeed_module_ver}.tar.gz Source13: echo-nginx-module-%{echo_module_ver}.tar.gz Source14: headers-more-nginx-module-%{headmore_module_ver}.tar.gz Source15: https://github.com/vozlt/nginx-module-vts/archive/nginx-module-vts-%{vts_module_ver}.tar.gz Source16: https://github.com/atomx/nginx-http-auth-digest/archive/%{digest_module_ver}.tar.gz#/nginx-http-auth-digest-%{digest_module_ver}.tar.gz # https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz Source17: ngx_devel_kit-v0.3.0.tar.gz Source18: https://github.com/openresty/lua-nginx-module/archive/v%{lua_module_ver}.tar.gz#/lua-nginx-module-v%{lua_module_ver}.tar.gz Patch0: 778cc4b42ea85e19a8ebf6c1a42fc636e48ec309.patch # https://raw.githubusercontent.com/openresty/openresty/dbccee1418ddb24a2adabd80b0737595b7fd577e/patches/nginx-1.11.2-ssl_cert_cb_yield.patch Patch201: nginx-1.11.2-ssl_cert_cb_yield.patch # https://raw.githubusercontent.com/openresty/openresty/dbccee1418ddb24a2adabd80b0737595b7fd577e/patches/nginx-1.11.2-ssl_pending_session.patch Patch202: nginx-1.11.2-ssl_pending_session.patch License: 2-clause BSD-like license BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: zlib-devel BuildRequires: pcre-devel Provides: webserver %description nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server. %package module-ndk Version: %{ndk_module_ver} Group: %{_group} Requires: nginx = %{?epoch:%{epoch}:}%{main_version}-%{main_release} Summary: nginx ndk module %description module-ndk Dynamic ndk module for nginx. %package module-lua Version: %{lua_module_ver} Group: %{_group} Requires: nginx = %{?epoch:%{epoch}:}%{main_version}-%{main_release} Requires: luajit Requires: nginx-module-ndk BuildRequires: luajit-devel Summary: nginx lua module %description module-lua Dynamic lua module for nginx. %package module-vts Version: %{vts_module_ver} Group: %{_group} Requires: nginx = %{?epoch:%{epoch}:}%{main_version}-%{main_release} Summary: nginx vts module %description module-vts Nginx virtual host traffic status module %package debug Summary: debug version of nginx Group: System Environment/Daemons Requires: nginx %description debug Not stripped version of nginx built with the debugging log support. %prep echo %{rhel} %setup -q %{__tar} zxvf %{SOURCE10} %{__tar} zxvf %{SOURCE11} #%{__tar} zxvf %{SOURCE12} %{__tar} zxvf %{SOURCE13} %{__tar} zxvf %{SOURCE14} %{__tar} zxvf %{SOURCE15} %{__tar} zxvf %{SOURCE16} %{__tar} xvf %{SOURCE17} %{__tar} xvf %{SOURCE18} %patch0 -p1 -R %patch201 -p1 %patch202 -p1 %setup -T -D -a 10 %build LUAJIT_INC=%{LUAJIT_INC} LUAJIT_LIB="/opt/openssl-1.0.2/include -I%{_libdir}" \ ./configure %{COMMON_CONFIGURE_ARGS} \ --with-ld-opt="%{WITH_LD_OPT}" \ --with-cc-opt="%{WITH_CC_OPT}" \ --with-debug make %{?_smp_mflags} %{__mv} %{_builddir}/%{name}-%{main_version}/objs/nginx \ %{_builddir}/%{name}-%{main_version}/objs/nginx.debug LUAJIT_INC=%{LUAJIT_INC} LUAJIT_LIB="/opt/openssl-1.0.2/include -I%{_libdir}" \ ./configure %{COMMON_CONFIGURE_ARGS} \ --with-ld-opt="%{WITH_LD_OPT}" \ --with-cc-opt="%{WITH_CC_OPT}" make %{?_smp_mflags} %install %{__rm} -rf $RPM_BUILD_ROOT %{__make} DESTDIR=$RPM_BUILD_ROOT install %{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/nginx %{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/nginx/html $RPM_BUILD_ROOT%{_datadir}/nginx/ %{__rm} -f $RPM_BUILD_ROOT%{_sysconfdir}/nginx/*.default %{__rm} -f $RPM_BUILD_ROOT%{_sysconfdir}/nginx/fastcgi.conf %{__mkdir} -p $RPM_BUILD_ROOT%{_localstatedir}/log/nginx %{__mkdir} -p $RPM_BUILD_ROOT%{_localstatedir}/run/nginx %{__mkdir} -p $RPM_BUILD_ROOT%{_localstatedir}/cache/nginx %{__mkdir} -p $RPM_BUILD_ROOT%{_libdir}/nginx/modules cd $RPM_BUILD_ROOT%{_sysconfdir}/nginx && \ %{__ln_s} ../..%{_libdir}/nginx/modules modules && cd - %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/nginx/conf.d %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/nginx/modules.d %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/nginx/nginx.conf %{__install} -m 644 -p %{SOURCE4} \ $RPM_BUILD_ROOT%{_sysconfdir}/nginx/nginx.conf %{__install} -m 644 -p %{SOURCE5} \ $RPM_BUILD_ROOT%{_sysconfdir}/nginx/conf.d/default.conf %{__install} -m 644 -p %{SOURCE6} \ $RPM_BUILD_ROOT%{_sysconfdir}/nginx/conf.d/example_ssl.conf %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig %{__install} -m 644 -p %{SOURCE3} \ $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/nginx %if %{use_systemd} # install systemd-specific files %{__mkdir} -p $RPM_BUILD_ROOT%{_unitdir} %{__install} -m644 %SOURCE8 \ $RPM_BUILD_ROOT%{_unitdir}/nginx.service %{__mkdir} -p $RPM_BUILD_ROOT%{_libexecdir}/initscripts/legacy-actions/nginx %{__install} -m755 %SOURCE9 \ $RPM_BUILD_ROOT%{_libexecdir}/initscripts/legacy-actions/nginx/upgrade %else # install SYSV init stuff %{__mkdir} -p $RPM_BUILD_ROOT%{_initrddir} %if 0%{?suse_version} %{__install} -m755 %{SOURCE7} \ $RPM_BUILD_ROOT%{_initrddir}/nginx %else %{__install} -m755 %{SOURCE2} \ $RPM_BUILD_ROOT%{_initrddir}/nginx %endif %endif # install log rotation stuff %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d %{__install} -m 644 -p %{SOURCE1} \ $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/nginx %{__install} -m644 %{_builddir}/%{name}-%{main_version}/objs/nginx.debug \ $RPM_BUILD_ROOT%{_sbindir}/nginx.debug echo "load_module modules/ndk_http_module.so;" > $RPM_BUILD_ROOT%{_sysconfdir}/nginx/modules.d/ndk_http_module.conf echo "load_module modules/ngx_http_lua_module.so;" > $RPM_BUILD_ROOT%{_sysconfdir}/nginx/modules.d/ngx_http_lua_module.conf echo "lua_package_path '/usr/share/lua/5.1/?.lua;/usr/share/lua/5.1/?/init.lua;/root/.luarocks/share/lua/5.1/?.lua;/root/.luarocks/share/lua/5.1/?/init.lua;./?.lua;/usr/share/luajit-2.0.4/?.lua;/usr/local/share/lua/5.1/?.lua;/usr/local/share/lua/5.1/?/init.lua;;lua/?.lua;/etc/nginx/lua/?.luai'; lua_package_cpath '%{_libdir}/lua/5.1/?.so;/root/.luarocks/lib/lua/5.1/?.so;./?.so;/usr/local/lib/lua/5.1/?.so;/usr/local/lib/lua/5.1/loadall.so';" \ > $RPM_BUILD_ROOT%{_sysconfdir}/nginx/conf.d/ngx_http_lua.conf echo "load_module modules/ngx_http_vhost_traffic_status_module.so;" > $RPM_BUILD_ROOT%{_sysconfdir}/nginx/modules.d/vts_http_module.conf %clean %{__rm} -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %{_sbindir}/nginx %dir %{_sysconfdir}/nginx %dir %{_sysconfdir}/nginx/conf.d %dir %{_sysconfdir}/nginx/modules.d %{_sysconfdir}/nginx/modules %config(noreplace) %{_sysconfdir}/nginx/nginx.conf %config(noreplace) %{_sysconfdir}/nginx/conf.d/default.conf %config(noreplace) %{_sysconfdir}/nginx/conf.d/example_ssl.conf %config(noreplace) %{_sysconfdir}/nginx/mime.types %config(noreplace) %{_sysconfdir}/nginx/fastcgi_params %config(noreplace) %{_sysconfdir}/nginx/scgi_params %config(noreplace) %{_sysconfdir}/nginx/uwsgi_params %config(noreplace) %{_sysconfdir}/nginx/koi-utf %config(noreplace) %{_sysconfdir}/nginx/koi-win %config(noreplace) %{_sysconfdir}/nginx/win-utf %config(noreplace) %{_sysconfdir}/logrotate.d/nginx %config(noreplace) %{_sysconfdir}/sysconfig/nginx %if %{use_systemd} %{_unitdir}/nginx.service %dir %{_libexecdir}/initscripts/legacy-actions/nginx %{_libexecdir}/initscripts/legacy-actions/nginx/* %else %config(noreplace) %{_initrddir}/nginx %endif %attr(0755,root,root) %dir %{_libdir}/nginx %attr(0755,root,root) %dir %{_libdir}/nginx/modules %dir %{_datadir}/nginx %dir %{_datadir}/nginx/html %{_datadir}/nginx/html/* %attr(0755,root,root) %dir %{_localstatedir}/cache/nginx %attr(0755,root,root) %dir %{_localstatedir}/log/nginx %files module-ndk %attr(0644,root,root) %{_libdir}/nginx/modules/ndk_http_module.so %config(noreplace) %{_sysconfdir}/nginx/modules.d/ndk_http_module.conf %files module-lua %attr(0644,root,root) %{_libdir}/nginx/modules/ngx_http_lua_module.so %config(noreplace) %{_sysconfdir}/nginx/modules.d/ngx_http_lua_module.conf %config(noreplace) %{_sysconfdir}/nginx/conf.d/ngx_http_lua.conf %files module-vts %attr(0644,root,root) %{_libdir}/nginx/modules/ngx_http_vhost_traffic_status_module.so %config(noreplace) %{_sysconfdir}/nginx/modules.d/vts_http_module.conf %files debug %attr(0755,root,root) %{_sbindir}/nginx.debug %pre # Add the "nginx" user getent group %{nginx_group} >/dev/null || groupadd -r %{nginx_group} getent passwd %{nginx_user} >/dev/null || \ useradd -r -g %{nginx_group} -s /sbin/nologin \ -d %{nginx_home} -c "nginx user" %{nginx_user} exit 0 %post # Register the nginx service if [ $1 -eq 1 ]; then %if %{use_systemd} /usr/bin/systemctl preset nginx.service >/dev/null 2>&1 ||: %else /sbin/chkconfig --add nginx %endif # print site info cat <<BANNER ---------------------------------------------------------------------- Thanks for using nginx! Please find the official documentation for nginx here: * http://nginx.org/en/docs/ Commercial subscriptions for nginx are available on: * http://nginx.com/products/ ---------------------------------------------------------------------- BANNER # Touch and set permisions on default log files on installation if [ -d %{_localstatedir}/log/nginx ]; then if [ ! -e %{_localstatedir}/log/nginx/access.log ]; then touch %{_localstatedir}/log/nginx/access.log %{__chmod} 640 %{_localstatedir}/log/nginx/access.log %{__chown} nginx:%{nginx_loggroup} %{_localstatedir}/log/nginx/access.log fi if [ ! -e %{_localstatedir}/log/nginx/error.log ]; then touch %{_localstatedir}/log/nginx/error.log %{__chmod} 640 %{_localstatedir}/log/nginx/error.log %{__chown} nginx:%{nginx_loggroup} %{_localstatedir}/log/nginx/error.log fi fi fi %preun if [ $1 -eq 0 ]; then %if %use_systemd /usr/bin/systemctl --no-reload disable nginx.service >/dev/null 2>&1 ||: /usr/bin/systemctl stop nginx.service >/dev/null 2>&1 ||: %else /sbin/service nginx stop > /dev/null 2>&1 /sbin/chkconfig --del nginx %endif fi %postun %if %use_systemd /usr/bin/systemctl daemon-reload >/dev/null 2>&1 ||: %endif if [ $1 -ge 1 ]; then /sbin/service nginx status >/dev/null 2>&1 || exit 0 /sbin/service nginx upgrade >/dev/null 2>&1 || echo \ "Binary upgrade failed, please check nginx's error.log" fi %changelog * Thu Apr 24 2014 Konstantin Pavlov <thresh@nginx.com> - 1.6.0 - http-auth-request module added * Tue Mar 18 2014 Sergey Budnevitch <sb@nginx.com> - 1.4.7 - spec cleanup - openssl version dependence added - upgrade() function in the init script improved - warning added when binary upgrade returns non-zero exit code * Tue Mar 4 2014 Sergey Budnevitch <sb@nginx.com> - 1.4.6 * Tue Feb 11 2014 Konstantin Pavlov <thresh@nginx.com> - 1.4.5 * Tue Nov 19 2013 Sergey Budnevitch <sb@nginx.com> - 1.4.4 * Tue Oct 8 2013 Sergey Budnevitch <sb@nginx.com> - 1.4.3 * Tue Jul 17 2013 Sergey Budnevitch <sb@nginx.com> - 1.4.2 * Tue May 6 2013 Sergey Budnevitch <sb@nginx.com> - 1.4.1 * Wed Apr 24 2013 Sergey Budnevitch <sb@nginx.com> - gunzip module added - 1.4.0 * Tue Apr 2 2013 Sergey Budnevitch <sb@nginx.com> - set permissions on default log files at installation - 1.2.8 * Tue Feb 12 2013 Sergey Budnevitch <sb@nginx.com> - excess slash removed from --prefix - 1.2.7 * Tue Dec 11 2012 Sergey Budnevitch <sb@nginx.com> - 1.2.6 * Tue Nov 13 2012 Sergey Budnevitch <sb@nginx.com> - 1.2.5 * Tue Sep 25 2012 Sergey Budnevitch <sb@nginx.com> - 1.2.4 * Tue Aug 7 2012 Sergey Budnevitch <sb@nginx.com> - 1.2.3 - nginx-debug package now actually contains non stripped binary * Tue Jul 3 2012 Sergey Budnevitch <sb@nginx.com> - 1.2.2 * Tue Jun 5 2012 Sergey Budnevitch <sb@nginx.com> - 1.2.1 * Mon Apr 23 2012 Sergey Budnevitch <sb@nginx.com> - 1.2.0 * Thu Apr 12 2012 Sergey Budnevitch <sb@nginx.com> - 1.0.15 * Thu Mar 15 2012 Sergey Budnevitch <sb@nginx.com> - 1.0.14 - OpenSUSE init script and SuSE specific changes to spec file added * Mon Mar 5 2012 Sergey Budnevitch <sb@nginx.com> - 1.0.13 * Mon Feb 6 2012 Sergey Budnevitch <sb@nginx.com> - 1.0.12 - banner added to install script * Thu Dec 15 2011 Sergey Budnevitch <sb@nginx.com> - 1.0.11 - init script enhancements (thanks to Gena Makhomed) - one second sleep during upgrade replaced with 0.1 sec usleep * Tue Nov 15 2011 Sergey Budnevitch <sb@nginx.com> - 1.0.10 * Tue Nov 1 2011 Sergey Budnevitch <sb@nginx.com> - 1.0.9 - nginx-debug package added * Tue Oct 11 2011 Sergey Budnevitch <sb@nginx.com> - spec file cleanup (thanks to Yury V. Zaytsev) - log dir permitions fixed - logrotate creates new logfiles with nginx owner - "upgrade" argument to init-script added (based on fedora one) * Sat Oct 1 2011 Sergey Budnevitch <sb@nginx.com> - 1.0.8 - built with mp4 module * Fri Sep 30 2011 Sergey Budnevitch <sb@nginx.com> - 1.0.7 * Tue Aug 30 2011 Sergey Budnevitch <sb@nginx.com> - 1.0.6 - replace "conf.d/*" config include with "conf.d/*.conf" in default nginx.conf * Tue Aug 10 2011 Sergey Budnevitch - Initial release
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor