diff --git a/SOURCES/logrotate b/SOURCES/logrotate new file mode 100644 index 0000000..24139f6 --- /dev/null +++ b/SOURCES/logrotate @@ -0,0 +1,15 @@ +/var/log/nginx/*.log { + daily + missingok + rotate 52 + compress + delaycompress + notifempty + create 640 nginx adm + sharedscripts + postrotate + if [ -f /var/run/nginx.pid ]; then + kill -USR1 `cat /var/run/nginx.pid` + fi + endscript +} diff --git a/SOURCES/nginx-debug.service b/SOURCES/nginx-debug.service new file mode 100644 index 0000000..af0bba4 --- /dev/null +++ b/SOURCES/nginx-debug.service @@ -0,0 +1,15 @@ +[Unit] +Description=nginx - high performance web server +Documentation=http://nginx.org/en/docs/ +After=network-online.target remote-fs.target nss-lookup.target +Wants=network-online.target + +[Service] +Type=forking +PIDFile=/var/run/nginx.pid +ExecStart=/usr/sbin/nginx-debug -c /etc/nginx/nginx.conf +ExecReload=/bin/sh -c "/bin/kill -s HUP $(/bin/cat /var/run/nginx.pid)" +ExecStop=/bin/sh -c "/bin/kill -s TERM $(/bin/cat /var/run/nginx.pid)" + +[Install] +WantedBy=multi-user.target diff --git a/SOURCES/nginx.check-reload.sh b/SOURCES/nginx.check-reload.sh new file mode 100755 index 0000000..139152a --- /dev/null +++ b/SOURCES/nginx.check-reload.sh @@ -0,0 +1,19 @@ +#!/bin/sh +# +# Legacy action script to visually check if nginx fails to reload + +prog=nginx +pidfile=`/usr/bin/systemctl show -p PIDFile nginx.service | sed 's/^PIDFile=//' | tr ' ' '\n'` +CHECKSLEEP=3 + +templog=`/bin/mktemp --tmpdir nginx-check-reload-XXXXXX.log` +trap '/bin/rm -f $templog' 0 +/usr/bin/tail --pid=$$ -n 0 --follow=name /var/log/nginx/error.log > $templog & +/bin/sleep 1 +/bin/echo -n $"Sending reload signal to $prog: " +pkill -F ${pidfile} ${prog} --signal HUP +/bin/echo +/bin/sleep $CHECKSLEEP +/bin/grep -E "\[emerg\]|\[alert\]" $templog + +exit 0 diff --git a/SOURCES/nginx.conf b/SOURCES/nginx.conf new file mode 100644 index 0000000..5e076aa --- /dev/null +++ b/SOURCES/nginx.conf @@ -0,0 +1,32 @@ + +user nginx; +worker_processes auto; + +error_log /var/log/nginx/error.log notice; +pid /var/run/nginx.pid; + + +events { + worker_connections 1024; +} + + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log /var/log/nginx/access.log main; + + sendfile on; + #tcp_nopush on; + + keepalive_timeout 65; + + #gzip on; + + include /etc/nginx/conf.d/*.conf; +} diff --git a/SOURCES/nginx.copyright b/SOURCES/nginx.copyright new file mode 100644 index 0000000..af51e2f --- /dev/null +++ b/SOURCES/nginx.copyright @@ -0,0 +1,26 @@ +/* + * Copyright (C) Igor Sysoev + * Copyright (C) Nginx, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ diff --git a/SOURCES/nginx.default.conf b/SOURCES/nginx.default.conf new file mode 100644 index 0000000..ff2ced6 --- /dev/null +++ b/SOURCES/nginx.default.conf @@ -0,0 +1,44 @@ +server { + listen 80; + server_name localhost; + + #access_log /var/log/nginx/host.access.log main; + + location / { + root /usr/share/nginx/html; + index index.html index.htm; + } + + #error_page 404 /404.html; + + # redirect server error pages to the static page /50x.html + # + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } + + # proxy the PHP scripts to Apache listening on 127.0.0.1:80 + # + #location ~ \.php$ { + # proxy_pass http://127.0.0.1; + #} + + # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 + # + #location ~ \.php$ { + # root html; + # fastcgi_pass 127.0.0.1:9000; + # fastcgi_index index.php; + # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; + # include fastcgi_params; + #} + + # deny access to .htaccess files, if Apache's document root + # concurs with nginx's one + # + #location ~ /\.ht { + # deny all; + #} +} + diff --git a/SOURCES/nginx.service b/SOURCES/nginx.service new file mode 100644 index 0000000..e509a2e --- /dev/null +++ b/SOURCES/nginx.service @@ -0,0 +1,15 @@ +[Unit] +Description=nginx - high performance web server +Documentation=http://nginx.org/en/docs/ +After=network-online.target remote-fs.target nss-lookup.target +Wants=network-online.target + +[Service] +Type=forking +PIDFile=/var/run/nginx.pid +ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf +ExecReload=/bin/sh -c "/bin/kill -s HUP $(/bin/cat /var/run/nginx.pid)" +ExecStop=/bin/sh -c "/bin/kill -s TERM $(/bin/cat /var/run/nginx.pid)" + +[Install] +WantedBy=multi-user.target diff --git a/SOURCES/nginx.spec b/SOURCES/nginx.spec new file mode 100644 index 0000000..e1e33c1 --- /dev/null +++ b/SOURCES/nginx.spec @@ -0,0 +1,712 @@ +# +%define nginx_home %{_localstatedir}/cache/nginx +%define nginx_user nginx +%define nginx_group nginx +%define nginx_loggroup adm + +BuildRequires: systemd +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd + +%if 0%{?rhel} +%define _group System Environment/Daemons +%endif + +%if (0%{?rhel} == 7) && (0%{?amzn} == 0) +%define epoch 2 +Epoch: %{epoch} +Requires(pre): shadow-utils +#Requires: openssl >= 1.0.2 +Requires: procps-ng +#BuildRequires: openssl-devel >= 1.0.2 +%define dist .el7 +%endif + +%if (0%{?rhel} == 7) && (0%{?amzn} == 2) +%define epoch 2 +Epoch: %{epoch} +Requires(pre): shadow-utils +Requires: openssl11 >= 1.1.1 +Requires: procps-ng +BuildRequires: openssl11-devel >= 1.1.1 +%endif + +%if 0%{?rhel} == 8 +%define epoch 2 +Epoch: %{epoch} +Requires(pre): shadow-utils +Requires: procps-ng +BuildRequires: openssl-devel >= 1.1.1 +%define _debugsource_template %{nil} +%endif + +%if 0%{?rhel} == 9 +%define epoch 2 +Epoch: %{epoch} +Requires(pre): shadow-utils +Requires: procps-ng +BuildRequires: openssl-devel +%define _debugsource_template %{nil} +%endif + +%if 0%{?suse_version} >= 1315 +%define _group Productivity/Networking/Web/Servers +%define nginx_loggroup trusted +Requires(pre): shadow +Requires: procps +BuildRequires: libopenssl-devel +%define _debugsource_template %{nil} +%endif + +%if 0%{?fedora} +%define _debugsource_template %{nil} +%global _hardened_build 1 +%define _group System Environment/Daemons +Requires: procps-ng +BuildRequires: openssl-devel +Requires(pre): shadow-utils +%endif + +# end of distribution specific definitions + +%define base_version 1.24.0 +%define base_release 1%{?dist}.ngx + +%define bdir %{_builddir}/%{name}-%{base_version} + +%define WITH_CC_OPT $(echo %{optflags} $(pcre2-config --cflags)) -fPIC +%define WITH_LD_OPT -Wl,-z,relro -Wl,-z,now -pie + +%define BASE_CONFIGURE_ARGS $(echo "--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-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module") + +Summary: High performance web server +Name: nginx +Version: %{base_version} +Release: %{base_release} +Vendor: NGINX Packaging +URL: https://nginx.org/ +Group: %{_group} + +Source0: https://nginx.org/download/%{name}-%{version}.tar.gz +Source1: logrotate +Source2: nginx.conf +Source3: nginx.default.conf +Source4: nginx.service +Source5: nginx.upgrade.sh +Source6: nginx.suse.logrotate +Source7: nginx-debug.service +Source8: nginx.copyright +Source9: nginx.check-reload.sh + + + +License: 2-clause BSD-like license + +BuildRoot: %{_tmppath}/%{name}-%{base_version}-%{base_release}-root +BuildRequires: zlib-devel +BuildRequires: pcre2-devel + +Provides: webserver +Provides: nginx-r%{base_version} + +%description +nginx [engine x] is an HTTP and reverse proxy server, as well as +a mail proxy server. + +%if 0%{?suse_version} >= 1315 +%debug_package +%endif + +%prep +%autosetup -p1 +%if 0%{?rhel} == 7 + sed \ + -e 's|\(ngx_feature_path=\)$|\1%{_includedir}/openssl11|' \ + -e 's|\(ngx_feature_libs="\)|\1-L%{_libdir}/openssl11 |' \ + -i auto/lib/openssl/conf +%endif + +%build +./configure %{BASE_CONFIGURE_ARGS} \ + --with-cc-opt="%{WITH_CC_OPT}" \ + --with-ld-opt="%{WITH_LD_OPT}" \ + --with-debug +make %{?_smp_mflags} +%{__mv} %{bdir}/objs/nginx \ + %{bdir}/objs/nginx-debug +./configure %{BASE_CONFIGURE_ARGS} \ + --with-cc-opt="%{WITH_CC_OPT}" \ + --with-ld-opt="%{WITH_LD_OPT}" +make %{?_smp_mflags} + +%install +%{__rm} -rf $RPM_BUILD_ROOT +%{__make} DESTDIR=$RPM_BUILD_ROOT INSTALLDIRS=vendor 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%{_datadir}/doc/%{name}-%{base_version} +%{__install} -m 644 -p %{SOURCE8} \ + $RPM_BUILD_ROOT%{_datadir}/doc/%{name}-%{base_version}/COPYRIGHT + +%{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/nginx/conf.d +%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/nginx/nginx.conf +%{__install} -m 644 -p %{SOURCE2} \ + $RPM_BUILD_ROOT%{_sysconfdir}/nginx/nginx.conf +%{__install} -m 644 -p %{SOURCE3} \ + $RPM_BUILD_ROOT%{_sysconfdir}/nginx/conf.d/default.conf + +%{__install} -p -D -m 0644 %{bdir}/objs/nginx.8 \ + $RPM_BUILD_ROOT%{_mandir}/man8/nginx.8 + +%{__mkdir} -p $RPM_BUILD_ROOT%{_unitdir} +%{__install} -m644 %SOURCE4 \ + $RPM_BUILD_ROOT%{_unitdir}/nginx.service +%{__install} -m644 %SOURCE7 \ + $RPM_BUILD_ROOT%{_unitdir}/nginx-debug.service +%{__mkdir} -p $RPM_BUILD_ROOT%{_libexecdir}/initscripts/legacy-actions/nginx +%{__install} -m755 %SOURCE5 \ + $RPM_BUILD_ROOT%{_libexecdir}/initscripts/legacy-actions/nginx/upgrade +%{__install} -m755 %SOURCE9 \ + $RPM_BUILD_ROOT%{_libexecdir}/initscripts/legacy-actions/nginx/check-reload + +# install log rotation stuff +%{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d +%if 0%{?suse_version} +%{__install} -m 644 -p %{SOURCE6} \ + $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/nginx +%else +%{__install} -m 644 -p %{SOURCE1} \ + $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/nginx +%endif + +%{__install} -m755 %{bdir}/objs/nginx-debug \ + $RPM_BUILD_ROOT%{_sbindir}/nginx-debug + +%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/nginx/koi-utf +%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/nginx/koi-win +%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/nginx/win-utf + +%check +%{__rm} -rf $RPM_BUILD_ROOT/usr/src +cd %{bdir} +grep -v 'usr/src' debugfiles.list > debugfiles.list.new && mv debugfiles.list.new debugfiles.list +cat /dev/null > debugsources.list +%if 0%{?suse_version} >= 1500 +cat /dev/null > debugsourcefiles.list +%endif + +%clean +%{__rm} -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root) + +%{_sbindir}/nginx +%{_sbindir}/nginx-debug + +%dir %{_sysconfdir}/nginx +%dir %{_sysconfdir}/nginx/conf.d +%{_sysconfdir}/nginx/modules + +%config(noreplace) %{_sysconfdir}/nginx/nginx.conf +%config(noreplace) %{_sysconfdir}/nginx/conf.d/default.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}/logrotate.d/nginx +%{_unitdir}/nginx.service +%{_unitdir}/nginx-debug.service +%dir %{_libexecdir}/initscripts/legacy-actions/nginx +%{_libexecdir}/initscripts/legacy-actions/nginx/* + +%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 + +%dir %{_datadir}/doc/%{name}-%{base_version} +%doc %{_datadir}/doc/%{name}-%{base_version}/COPYRIGHT +%{_mandir}/man8/nginx.8* + +%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 + /usr/bin/systemctl preset nginx.service >/dev/null 2>&1 ||: + /usr/bin/systemctl preset nginx-debug.service >/dev/null 2>&1 ||: + # print site info + cat </dev/null 2>&1 ||: + /usr/bin/systemctl stop nginx.service >/dev/null 2>&1 ||: +fi + +%postun +/usr/bin/systemctl daemon-reload >/dev/null 2>&1 ||: +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 +* Tue Apr 11 2023 Nginx Packaging - 1.24.0-1%{?dist}.ngx +- 1.24.0-1 + +* Tue Mar 28 2023 Nginx Packaging - 1.23.4-1%{?dist}.ngx +- 1.23.4-1 + +* Tue Dec 13 2022 Nginx Packaging - 1.23.3-1%{?dist}.ngx +- 1.23.3-1 + +* Wed Oct 19 2022 Nginx Packaging - 1.23.2-1%{?dist}.ngx +- 1.23.2-1 + +* Tue Jul 19 2022 Nginx Packaging - 1.23.1-1%{?dist}.ngx +- 1.23.1-1 + +* Tue Jun 21 2022 Nginx Packaging - 1.23.0-1%{?dist}.ngx +- 1.23.0-1 + +* Tue Jan 25 2022 Mikhail Isachenkov - 1.21.6-1%{?dist}.ngx +- 1.21.6-1 + +* Tue Dec 28 2021 Konstantin Pavlov - 1.21.5-1%{?dist}.ngx +- 1.21.5-1 +- built with PCRE2 + +* Tue Nov 2 2021 Konstantin Pavlov - 1.21.4-1%{?dist}.ngx +- 1.21.4-1 + +* Tue Sep 7 2021 Konstantin Pavlov - 1.21.3-1%{?dist}.ngx +- 1.21.3-1 + +* Tue Aug 31 2021 Andrei Belov - 1.21.2-1%{?dist}.ngx +- 1.21.2-1 + +* Tue Jul 6 2021 Konstantin Pavlov - 1.21.1-1%{?dist}.ngx +- 1.21.1-1 + +* Tue May 25 2021 Konstantin Pavlov - 1.21.0-1%{?dist}.ngx +- 1.21.0-1 + +* Tue Apr 13 2021 Andrei Belov - 1.19.10-1%{?dist}.ngx +- 1.19.10-1 + +* Tue Mar 30 2021 Konstantin Pavlov - 1.19.9-1%{?dist}.ngx +- 1.19.9-1 + +* Tue Mar 9 2021 Konstantin Pavlov - 1.19.8-1%{?dist}.ngx +- 1.19.8-1 + +* Tue Feb 16 2021 Konstantin Pavlov - 1.19.7-1%{?dist}.ngx +- 1.19.7-1 + +* Tue Dec 15 2020 Konstantin Pavlov - 1.19.6-1%{?dist}.ngx +- 1.19.6-1 + +* Tue Nov 24 2020 Konstantin Pavlov - 1.19.5-1%{?dist}.ngx +- 1.19.5-1 + +* Tue Oct 27 2020 Andrei Belov - 1.19.4-1%{?dist}.ngx +- 1.19.4-1 + +* Tue Sep 29 2020 Konstantin Pavlov - 1.19.3-1%{?dist}.ngx +- 1.19.3 + +* Tue Aug 11 2020 Konstantin Pavlov - 1.19.2-1%{?dist}.ngx +- 1.19.2 + +* Tue Jul 7 2020 Konstantin Pavlov - 1.19.1-1%{?dist}.ngx +- 1.19.1 + +* Tue May 26 2020 Konstantin Pavlov - 1.19.0-1%{?dist}.ngx +- 1.19.0 + +* Tue Apr 14 2020 Konstantin Pavlov - 1.17.10-1%{?dist}.ngx +- 1.17.10 + +* Tue Mar 3 2020 Konstantin Pavlov - 1.17.9-1%{?dist}.ngx +- 1.17.9 + +* Tue Jan 21 2020 Konstantin Pavlov - 1.17.8-1%{?dist}.ngx +- 1.17.8 + +* Tue Dec 24 2019 Konstantin Pavlov - 1.17.7-1%{?dist}.ngx +- 1.17.7 + +* Tue Nov 19 2019 Konstantin Pavlov - 1.17.6-1%{?dist}.ngx +- 1.17.6 + +* Tue Oct 22 2019 Andrei Belov - 1.17.5-1%{?dist}.ngx +- 1.17.5 + +* Tue Sep 24 2019 Konstantin Pavlov - 1.17.4-1%{?dist}.ngx +- 1.17.4 + +* Tue Aug 13 2019 Andrei Belov - 1.17.3-1%{?dist}.ngx +- 1.17.3 + +* Tue Jul 23 2019 Konstantin Pavlov - 1.17.2-1%{?dist}.ngx +- 1.17.2 + +* Tue Jun 25 2019 Andrei Belov - 1.17.1-1%{?dist}.ngx +- 1.17.1 + +* Tue May 21 2019 Konstantin Pavlov - 1.17.0-1%{?dist}.ngx +- 1.17.0 + +* Tue Apr 16 2019 Konstantin Pavlov - 1.15.12-1%{?dist}.ngx +- 1.15.12 + +* Tue Apr 9 2019 Konstantin Pavlov - 1.15.11-1%{?dist}.ngx +- 1.15.11 + +* Tue Mar 26 2019 Konstantin Pavlov - 1.15.10-1%{?dist}.ngx +- 1.15.10 + +* Tue Feb 26 2019 Konstantin Pavlov - 1.15.9-1%{?dist}.ngx +- 1.15.9 + +* Tue Dec 25 2018 Konstantin Pavlov - 1.15.8-1%{?dist}.ngx +- 1.15.8 + +* Tue Nov 27 2018 Konstantin Pavlov - 1.15.7-1%{?dist}.ngx +- 1.15.7 + +* Tue Nov 6 2018 Konstantin Pavlov - 1.15.6-1%{?dist}.ngx +- 1.15.6 +- Security: fixes CVE-2018-16843. +- Security: fixes CVE-2018-16844. +- Security: fixes CVE-2018-16845. + +* Tue Oct 2 2018 Konstantin Pavlov - 1.15.5-1%{?dist}.ngx +- 1.15.5 + +* Tue Sep 25 2018 Konstantin Pavlov - 1.15.4-1%{?dist}.ngx +- 1.15.4 + +* Tue Aug 28 2018 Konstantin Pavlov - 1.15.3-1%{?dist}.ngx +- 1.15.3 + +* Tue Jul 24 2018 Konstantin Pavlov - 1.15.2-1%{?dist}.ngx +- 1.15.2 + +* Tue Jul 3 2018 Konstantin Pavlov - 1.15.1-1%{?dist}.ngx +- 1.15.1 + +* Tue Jun 5 2018 Konstantin Pavlov - 1.15.0-1%{?dist}.ngx +- 1.15.0 + +* Mon Apr 9 2018 Konstantin Pavlov - 1.13.12-1%{?dist}.ngx +- 1.13.12 + +* Tue Apr 3 2018 Konstantin Pavlov - 1.13.11-1%{?dist}.ngx +- 1.13.11 + +* Tue Mar 20 2018 Konstantin Pavlov - 1.13.10-1%{?dist}.ngx +- 1.13.10 + +* Tue Feb 20 2018 Konstantin Pavlov - 1.13.9-1%{?dist}.ngx +- 1.13.9 + +* Tue Dec 26 2017 Konstantin Pavlov - 1.13.8-1%{?dist}.ngx +- 1.13.8 + +* Tue Nov 21 2017 Konstantin Pavlov - 1.13.7-1%{?dist}.ngx +- 1.13.7 + +* Thu Sep 14 2017 Konstantin Pavlov - 1.13.6-1%{?dist}.ngx +- 1.13.6 +- Bugfix: in systemd service support + (https://trac.nginx.org/nginx/ticket/1380). + +* Thu Sep 14 2017 Konstantin Pavlov - 1.13.5-1%{?dist}.ngx +- 1.13.5 + +* Tue Aug 8 2017 Sergey Budnevitch - 1.13.4-1%{?dist}.ngx +- 1.13.4 + +* Tue Jul 11 2017 Konstantin Pavlov - 1.13.3-1%{?dist}.ngx +- 1.13.3 +- Security: fixes CVE-2017-7529. + +* Tue Jun 27 2017 Konstantin Pavlov - 1.13.2-1%{?dist}.ngx +- 1.13.2 + +* Tue May 30 2017 Konstantin Pavlov - 1.13.1-1%{?dist}.ngx +- 1.13.1 + +* Tue Apr 25 2017 Konstantin Pavlov - 1.13.0-1%{?dist}.ngx +- 1.13.0 + +* Tue Apr 4 2017 Konstantin Pavlov - 1.11.13-1%{?dist}.ngx +- 1.11.13 +- Made upgrade loops/timeouts configurable via /etc/defaults/nginx. + +* Fri Mar 24 2017 Konstantin Pavlov - 1.11.12-1%{?dist}.ngx +- 1.11.12 + +* Tue Mar 21 2017 Konstantin Pavlov - 1.11.11-1%{?dist}.ngx +- 1.11.11 + +* Tue Feb 14 2017 Konstantin Pavlov - 1.11.10-1%{?dist}.ngx +- 1.11.10 + +* Tue Jan 24 2017 Konstantin Pavlov - 1.11.9-1%{?dist}.ngx +- 1.11.9 +- Extended hardening build flags. +- Added check-reload target to init script / systemd service. + +* Tue Dec 27 2016 Konstantin Pavlov - 1.11.8-1%{?dist}.ngx +- 1.11.8 + +* Tue Dec 13 2016 Konstantin Pavlov - 1.11.7-1%{?dist}.ngx +- 1.11.7 + +* Fri Nov 25 2016 Konstantin Pavlov - 1.11.6-1%{?dist}.ngx +- 1.11.6 + +* Mon Oct 10 2016 Andrei Belov - 1.11.5-1%{?dist}.ngx +- 1.11.5 + +* Tue Sep 13 2016 Konstantin Pavlov - 1.11.4-1%{?dist}.ngx +- 1.11.4 +- njs updated to 0.1.2. + +* Tue Jul 26 2016 Konstantin Pavlov - 1.11.3-1%{?dist}.ngx +- 1.11.3 +- njs updated to 0.1.0. +- njs stream dynamic module added to nginx-module-njs package. +- geoip stream dynamic module added to nginx-module-geoip package. + +* Tue Jul 5 2016 Konstantin Pavlov - 1.11.2-1%{?dist}.ngx +- 1.11.2 +- njs updated to ef2b708510b1. + +* Tue May 31 2016 Konstantin Pavlov - 1.11.1-1%{?dist}.ngx +- 1.11.1 + +* Tue May 24 2016 Sergey Budnevitch - 1.11.0-1%{?dist}.ngx +- 1.11.0 +- Bugfix: fixed logrotate error if nginx is not running. + +* Tue Apr 19 2016 Konstantin Pavlov - 1.9.15-1%{?dist}.ngx +- 1.9.15 +- njs updated to 1c50334fbea6. + +* Tue Apr 5 2016 Konstantin Pavlov - 1.9.14-1%{?dist}.ngx +- 1.9.14 + +* Tue Mar 29 2016 Konstantin Pavlov - 1.9.13-1%{?dist}.ngx +- 1.9.13 +- Fixed modules path +- Added perl and njs dynamic modules subpackages + +* Wed Feb 24 2016 Sergey Budnevitch - 1.9.12-1%{?dist}.ngx +- 1.9.12 +- common configure args are now in variable +- xslt, image-filter and geoip dynamic modules added + +* Tue Feb 9 2016 Sergey Budnevitch - 1.9.11-1%{?dist}.ngx +- 1.9.11 +- dynamic modules path and symlink in /etc/nginx added + +* Tue Jan 26 2016 Konstantin Pavlov - 1.9.10-1%{?dist}.ngx +- 1.9.10 + +* Wed Dec 9 2015 Konstantin Pavlov - 1.9.9-1%{?dist}.ngx +- 1.9.9 + +* Tue Dec 8 2015 Konstantin Pavlov - 1.9.8-1%{?dist}.ngx +- 1.9.8 +- http_slice module enabled + +* Tue Nov 17 2015 Konstantin Pavlov - 1.9.7-1%{?dist}.ngx +- 1.9.7 + +* Tue Oct 27 2015 Sergey Budnevitch - 1.9.6-1%{?dist}.ngx +- 1.9.6 + +* Tue Sep 22 2015 Andrei Belov - 1.9.5-1%{?dist}.ngx +- 1.9.5 +- http_spdy module replaced with http_v2 module + +* Tue Aug 18 2015 Konstantin Pavlov - 1.9.4-1%{?dist}.ngx +- 1.9.4 + +* Tue Jul 14 2015 Sergey Budnevitch - 1.9.3-1%{?dist}.ngx +- 1.9.3 + +* Tue Jun 16 2015 Sergey Budnevitch - 1.9.2-1%{?dist}.ngx +- 1.9.2 + +* Tue May 26 2015 Sergey Budnevitch - 1.9.1-1%{?dist}.ngx +- 1.9.1 + +* Tue Apr 28 2015 Sergey Budnevitch - 1.9.0-1%{?dist}.ngx +- 1.9.0 +- thread pool support added +- stream module added +- example_ssl.conf removed + +* Tue Apr 7 2015 Sergey Budnevitch - 1.7.12-1%{?dist}.ngx +- 1.7.12 + +* Tue Mar 24 2015 Sergey Budnevitch - 1.7.11-1%{?dist}.ngx +- 1.7.11 + +* Tue Feb 10 2015 Sergey Budnevitch - 1.7.10-1%{?dist}.ngx +- 1.7.10 + +* Tue Dec 23 2014 Sergey Budnevitch - 1.7.9-1%{?dist}.ngx +- 1.7.9 +- init-script now sends signal only to the PID derived from pidfile + +* Tue Dec 2 2014 Sergey Budnevitch - 1.7.8-1%{?dist}.ngx +- 1.7.8 +- package with debug symbols added + +* Tue Oct 28 2014 Sergey Budnevitch - 1.7.7-1%{?dist}.ngx +- 1.7.7 + +* Tue Sep 30 2014 Sergey Budnevitch - 1.7.6-1%{?dist}.ngx +- 1.7.6 + +* Tue Sep 16 2014 Sergey Budnevitch - 1.7.5-1%{?dist}.ngx +- 1.7.5 + +* Tue Aug 5 2014 Sergey Budnevitch - 1.7.4-1%{?dist}.ngx +- 1.7.4 +- init-script now returns 0 on stop command if nginx is not running + +* Tue Jul 8 2014 Sergey Budnevitch - 1.7.3-1%{?dist}.ngx +- 1.7.3 + +* Tue Jun 17 2014 Sergey Budnevitch - 1.7.2-1%{?dist}.ngx +- 1.7.2 + +* Tue May 27 2014 Sergey Budnevitch - 1.7.1-1%{?dist}.ngx +- 1.7.1 + +* Thu Apr 24 2014 Konstantin Pavlov - 1.7.0-1%{?dist}.ngx +- 1.7.0 + +* Tue Apr 8 2014 Sergey Budnevitch - 1.5.13-1%{?dist}.ngx +- 1.5.13 + +* Tue Mar 18 2014 Sergey Budnevitch - 1.5.12-1%{?dist}.ngx +- 1.5.12 +- warning added when binary upgrade returns non-zero exit code + +* Tue Mar 4 2014 Sergey Budnevitch - 1.5.11-1%{?dist}.ngx +- 1.5.11 + +* Tue Feb 4 2014 Sergey Budnevitch - 1.5.10-1%{?dist}.ngx +- 1.5.10 + +* Wed Jan 22 2014 Sergey Budnevitch - 1.5.9-1%{?dist}.ngx +- 1.5.9 + +* Tue Dec 17 2013 Sergey Budnevitch - 1.5.8-1%{?dist}.ngx +- 1.5.8 + +* Fri Nov 29 2013 Sergey Budnevitch - 1.5.7-1%{?dist}.ngx +- 1.5.7 +- init script now honours additional options sourced from /etc/default/nginx + +* Tue Oct 1 2013 Sergey Budnevitch - 1.5.6-1%{?dist}.ngx +- 1.5.6 + +* Tue Sep 17 2013 Andrei Belov - 1.5.5-1%{?dist}.ngx +- 1.5.5 + +* Tue Aug 27 2013 Sergey Budnevitch - 1.5.4-1%{?dist}.ngx +- 1.5.4 +- auth request module added + +* Tue Jul 30 2013 Sergey Budnevitch - 1.5.3-1%{?dist}.ngx +- 1.5.3 + +* Tue Jul 2 2013 Sergey Budnevitch - 1.5.2-1%{?dist}.ngx +- 1.5.2 + +* Tue Jun 4 2013 Sergey Budnevitch - 1.5.1-1%{?dist}.ngx +- 1.5.1 +- dpkg-buildflags options now passed by --with-{cc,ld}-opt + +* Mon May 6 2013 Sergey Budnevitch - 1.5.0-1%{?dist}.ngx +- 1.5.0 +- fixed openssl version detection with dash as /bin/sh + +* Tue Apr 16 2013 Sergey Budnevitch - 1.3.16-1%{?dist}.ngx +- 1.3.16 + +* Tue Mar 26 2013 Sergey Budnevitch - 1.3.15-1%{?dist}.ngx +- 1.3.15 +- gunzip module added +- spdy module added if openssl version >= 1.0.1 +- set permissions on default log files at installation + diff --git a/SOURCES/nginx.suse.logrotate b/SOURCES/nginx.suse.logrotate new file mode 100644 index 0000000..988b3b2 --- /dev/null +++ b/SOURCES/nginx.suse.logrotate @@ -0,0 +1,15 @@ +/var/log/nginx/*.log { + daily + missingok + rotate 52 + compress + delaycompress + notifempty + create 640 nginx trusted + sharedscripts + postrotate + if [ -f /var/run/nginx.pid ]; then + kill -USR1 `cat /var/run/nginx.pid` + fi + endscript +} diff --git a/SOURCES/nginx.upgrade.sh b/SOURCES/nginx.upgrade.sh new file mode 100644 index 0000000..25f5c22 --- /dev/null +++ b/SOURCES/nginx.upgrade.sh @@ -0,0 +1,33 @@ +#!/bin/sh +# +# Legacy action script for "service nginx upgrade" + +if [ -f /etc/sysconfig/nginx ]; then + . /etc/sysconfig/nginx +fi + +prog=nginx +nginx=/usr/sbin/nginx +conffile=/etc/nginx/nginx.conf +pidfile=`/usr/bin/systemctl show -p PIDFile nginx.service | sed 's/^PIDFile=//' | tr ' ' '\n'` +SLEEPSEC=${SLEEPSEC:-1} +UPGRADEWAITLOOPS=${UPGRADEWAITLOOPS:-5} + +oldbinpidfile=${pidfile}.oldbin +${nginx} -t -c ${conffile} -q || return 6 +echo -n $"Starting new master $prog: " +pkill -F ${pidfile} ${prog} --signal USR2 +echo + +for i in `/usr/bin/seq $UPGRADEWAITLOOPS`; do + /bin/sleep $SLEEPSEC + if [ -f ${oldbinpidfile} -a -f ${pidfile} ]; then + echo -n $"Graceful shutdown of old $prog: " + pkill -F ${oldbinpidfile} ${prog} --signal QUIT + echo + exit 0 + fi +done + +echo $"Upgrade failed!" +exit 1 diff --git a/SPECS/nginx.spec b/SPECS/nginx.spec new file mode 100644 index 0000000..e1e33c1 --- /dev/null +++ b/SPECS/nginx.spec @@ -0,0 +1,712 @@ +# +%define nginx_home %{_localstatedir}/cache/nginx +%define nginx_user nginx +%define nginx_group nginx +%define nginx_loggroup adm + +BuildRequires: systemd +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd + +%if 0%{?rhel} +%define _group System Environment/Daemons +%endif + +%if (0%{?rhel} == 7) && (0%{?amzn} == 0) +%define epoch 2 +Epoch: %{epoch} +Requires(pre): shadow-utils +#Requires: openssl >= 1.0.2 +Requires: procps-ng +#BuildRequires: openssl-devel >= 1.0.2 +%define dist .el7 +%endif + +%if (0%{?rhel} == 7) && (0%{?amzn} == 2) +%define epoch 2 +Epoch: %{epoch} +Requires(pre): shadow-utils +Requires: openssl11 >= 1.1.1 +Requires: procps-ng +BuildRequires: openssl11-devel >= 1.1.1 +%endif + +%if 0%{?rhel} == 8 +%define epoch 2 +Epoch: %{epoch} +Requires(pre): shadow-utils +Requires: procps-ng +BuildRequires: openssl-devel >= 1.1.1 +%define _debugsource_template %{nil} +%endif + +%if 0%{?rhel} == 9 +%define epoch 2 +Epoch: %{epoch} +Requires(pre): shadow-utils +Requires: procps-ng +BuildRequires: openssl-devel +%define _debugsource_template %{nil} +%endif + +%if 0%{?suse_version} >= 1315 +%define _group Productivity/Networking/Web/Servers +%define nginx_loggroup trusted +Requires(pre): shadow +Requires: procps +BuildRequires: libopenssl-devel +%define _debugsource_template %{nil} +%endif + +%if 0%{?fedora} +%define _debugsource_template %{nil} +%global _hardened_build 1 +%define _group System Environment/Daemons +Requires: procps-ng +BuildRequires: openssl-devel +Requires(pre): shadow-utils +%endif + +# end of distribution specific definitions + +%define base_version 1.24.0 +%define base_release 1%{?dist}.ngx + +%define bdir %{_builddir}/%{name}-%{base_version} + +%define WITH_CC_OPT $(echo %{optflags} $(pcre2-config --cflags)) -fPIC +%define WITH_LD_OPT -Wl,-z,relro -Wl,-z,now -pie + +%define BASE_CONFIGURE_ARGS $(echo "--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-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module") + +Summary: High performance web server +Name: nginx +Version: %{base_version} +Release: %{base_release} +Vendor: NGINX Packaging +URL: https://nginx.org/ +Group: %{_group} + +Source0: https://nginx.org/download/%{name}-%{version}.tar.gz +Source1: logrotate +Source2: nginx.conf +Source3: nginx.default.conf +Source4: nginx.service +Source5: nginx.upgrade.sh +Source6: nginx.suse.logrotate +Source7: nginx-debug.service +Source8: nginx.copyright +Source9: nginx.check-reload.sh + + + +License: 2-clause BSD-like license + +BuildRoot: %{_tmppath}/%{name}-%{base_version}-%{base_release}-root +BuildRequires: zlib-devel +BuildRequires: pcre2-devel + +Provides: webserver +Provides: nginx-r%{base_version} + +%description +nginx [engine x] is an HTTP and reverse proxy server, as well as +a mail proxy server. + +%if 0%{?suse_version} >= 1315 +%debug_package +%endif + +%prep +%autosetup -p1 +%if 0%{?rhel} == 7 + sed \ + -e 's|\(ngx_feature_path=\)$|\1%{_includedir}/openssl11|' \ + -e 's|\(ngx_feature_libs="\)|\1-L%{_libdir}/openssl11 |' \ + -i auto/lib/openssl/conf +%endif + +%build +./configure %{BASE_CONFIGURE_ARGS} \ + --with-cc-opt="%{WITH_CC_OPT}" \ + --with-ld-opt="%{WITH_LD_OPT}" \ + --with-debug +make %{?_smp_mflags} +%{__mv} %{bdir}/objs/nginx \ + %{bdir}/objs/nginx-debug +./configure %{BASE_CONFIGURE_ARGS} \ + --with-cc-opt="%{WITH_CC_OPT}" \ + --with-ld-opt="%{WITH_LD_OPT}" +make %{?_smp_mflags} + +%install +%{__rm} -rf $RPM_BUILD_ROOT +%{__make} DESTDIR=$RPM_BUILD_ROOT INSTALLDIRS=vendor 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%{_datadir}/doc/%{name}-%{base_version} +%{__install} -m 644 -p %{SOURCE8} \ + $RPM_BUILD_ROOT%{_datadir}/doc/%{name}-%{base_version}/COPYRIGHT + +%{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/nginx/conf.d +%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/nginx/nginx.conf +%{__install} -m 644 -p %{SOURCE2} \ + $RPM_BUILD_ROOT%{_sysconfdir}/nginx/nginx.conf +%{__install} -m 644 -p %{SOURCE3} \ + $RPM_BUILD_ROOT%{_sysconfdir}/nginx/conf.d/default.conf + +%{__install} -p -D -m 0644 %{bdir}/objs/nginx.8 \ + $RPM_BUILD_ROOT%{_mandir}/man8/nginx.8 + +%{__mkdir} -p $RPM_BUILD_ROOT%{_unitdir} +%{__install} -m644 %SOURCE4 \ + $RPM_BUILD_ROOT%{_unitdir}/nginx.service +%{__install} -m644 %SOURCE7 \ + $RPM_BUILD_ROOT%{_unitdir}/nginx-debug.service +%{__mkdir} -p $RPM_BUILD_ROOT%{_libexecdir}/initscripts/legacy-actions/nginx +%{__install} -m755 %SOURCE5 \ + $RPM_BUILD_ROOT%{_libexecdir}/initscripts/legacy-actions/nginx/upgrade +%{__install} -m755 %SOURCE9 \ + $RPM_BUILD_ROOT%{_libexecdir}/initscripts/legacy-actions/nginx/check-reload + +# install log rotation stuff +%{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d +%if 0%{?suse_version} +%{__install} -m 644 -p %{SOURCE6} \ + $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/nginx +%else +%{__install} -m 644 -p %{SOURCE1} \ + $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/nginx +%endif + +%{__install} -m755 %{bdir}/objs/nginx-debug \ + $RPM_BUILD_ROOT%{_sbindir}/nginx-debug + +%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/nginx/koi-utf +%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/nginx/koi-win +%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/nginx/win-utf + +%check +%{__rm} -rf $RPM_BUILD_ROOT/usr/src +cd %{bdir} +grep -v 'usr/src' debugfiles.list > debugfiles.list.new && mv debugfiles.list.new debugfiles.list +cat /dev/null > debugsources.list +%if 0%{?suse_version} >= 1500 +cat /dev/null > debugsourcefiles.list +%endif + +%clean +%{__rm} -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root) + +%{_sbindir}/nginx +%{_sbindir}/nginx-debug + +%dir %{_sysconfdir}/nginx +%dir %{_sysconfdir}/nginx/conf.d +%{_sysconfdir}/nginx/modules + +%config(noreplace) %{_sysconfdir}/nginx/nginx.conf +%config(noreplace) %{_sysconfdir}/nginx/conf.d/default.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}/logrotate.d/nginx +%{_unitdir}/nginx.service +%{_unitdir}/nginx-debug.service +%dir %{_libexecdir}/initscripts/legacy-actions/nginx +%{_libexecdir}/initscripts/legacy-actions/nginx/* + +%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 + +%dir %{_datadir}/doc/%{name}-%{base_version} +%doc %{_datadir}/doc/%{name}-%{base_version}/COPYRIGHT +%{_mandir}/man8/nginx.8* + +%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 + /usr/bin/systemctl preset nginx.service >/dev/null 2>&1 ||: + /usr/bin/systemctl preset nginx-debug.service >/dev/null 2>&1 ||: + # print site info + cat </dev/null 2>&1 ||: + /usr/bin/systemctl stop nginx.service >/dev/null 2>&1 ||: +fi + +%postun +/usr/bin/systemctl daemon-reload >/dev/null 2>&1 ||: +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 +* Tue Apr 11 2023 Nginx Packaging - 1.24.0-1%{?dist}.ngx +- 1.24.0-1 + +* Tue Mar 28 2023 Nginx Packaging - 1.23.4-1%{?dist}.ngx +- 1.23.4-1 + +* Tue Dec 13 2022 Nginx Packaging - 1.23.3-1%{?dist}.ngx +- 1.23.3-1 + +* Wed Oct 19 2022 Nginx Packaging - 1.23.2-1%{?dist}.ngx +- 1.23.2-1 + +* Tue Jul 19 2022 Nginx Packaging - 1.23.1-1%{?dist}.ngx +- 1.23.1-1 + +* Tue Jun 21 2022 Nginx Packaging - 1.23.0-1%{?dist}.ngx +- 1.23.0-1 + +* Tue Jan 25 2022 Mikhail Isachenkov - 1.21.6-1%{?dist}.ngx +- 1.21.6-1 + +* Tue Dec 28 2021 Konstantin Pavlov - 1.21.5-1%{?dist}.ngx +- 1.21.5-1 +- built with PCRE2 + +* Tue Nov 2 2021 Konstantin Pavlov - 1.21.4-1%{?dist}.ngx +- 1.21.4-1 + +* Tue Sep 7 2021 Konstantin Pavlov - 1.21.3-1%{?dist}.ngx +- 1.21.3-1 + +* Tue Aug 31 2021 Andrei Belov - 1.21.2-1%{?dist}.ngx +- 1.21.2-1 + +* Tue Jul 6 2021 Konstantin Pavlov - 1.21.1-1%{?dist}.ngx +- 1.21.1-1 + +* Tue May 25 2021 Konstantin Pavlov - 1.21.0-1%{?dist}.ngx +- 1.21.0-1 + +* Tue Apr 13 2021 Andrei Belov - 1.19.10-1%{?dist}.ngx +- 1.19.10-1 + +* Tue Mar 30 2021 Konstantin Pavlov - 1.19.9-1%{?dist}.ngx +- 1.19.9-1 + +* Tue Mar 9 2021 Konstantin Pavlov - 1.19.8-1%{?dist}.ngx +- 1.19.8-1 + +* Tue Feb 16 2021 Konstantin Pavlov - 1.19.7-1%{?dist}.ngx +- 1.19.7-1 + +* Tue Dec 15 2020 Konstantin Pavlov - 1.19.6-1%{?dist}.ngx +- 1.19.6-1 + +* Tue Nov 24 2020 Konstantin Pavlov - 1.19.5-1%{?dist}.ngx +- 1.19.5-1 + +* Tue Oct 27 2020 Andrei Belov - 1.19.4-1%{?dist}.ngx +- 1.19.4-1 + +* Tue Sep 29 2020 Konstantin Pavlov - 1.19.3-1%{?dist}.ngx +- 1.19.3 + +* Tue Aug 11 2020 Konstantin Pavlov - 1.19.2-1%{?dist}.ngx +- 1.19.2 + +* Tue Jul 7 2020 Konstantin Pavlov - 1.19.1-1%{?dist}.ngx +- 1.19.1 + +* Tue May 26 2020 Konstantin Pavlov - 1.19.0-1%{?dist}.ngx +- 1.19.0 + +* Tue Apr 14 2020 Konstantin Pavlov - 1.17.10-1%{?dist}.ngx +- 1.17.10 + +* Tue Mar 3 2020 Konstantin Pavlov - 1.17.9-1%{?dist}.ngx +- 1.17.9 + +* Tue Jan 21 2020 Konstantin Pavlov - 1.17.8-1%{?dist}.ngx +- 1.17.8 + +* Tue Dec 24 2019 Konstantin Pavlov - 1.17.7-1%{?dist}.ngx +- 1.17.7 + +* Tue Nov 19 2019 Konstantin Pavlov - 1.17.6-1%{?dist}.ngx +- 1.17.6 + +* Tue Oct 22 2019 Andrei Belov - 1.17.5-1%{?dist}.ngx +- 1.17.5 + +* Tue Sep 24 2019 Konstantin Pavlov - 1.17.4-1%{?dist}.ngx +- 1.17.4 + +* Tue Aug 13 2019 Andrei Belov - 1.17.3-1%{?dist}.ngx +- 1.17.3 + +* Tue Jul 23 2019 Konstantin Pavlov - 1.17.2-1%{?dist}.ngx +- 1.17.2 + +* Tue Jun 25 2019 Andrei Belov - 1.17.1-1%{?dist}.ngx +- 1.17.1 + +* Tue May 21 2019 Konstantin Pavlov - 1.17.0-1%{?dist}.ngx +- 1.17.0 + +* Tue Apr 16 2019 Konstantin Pavlov - 1.15.12-1%{?dist}.ngx +- 1.15.12 + +* Tue Apr 9 2019 Konstantin Pavlov - 1.15.11-1%{?dist}.ngx +- 1.15.11 + +* Tue Mar 26 2019 Konstantin Pavlov - 1.15.10-1%{?dist}.ngx +- 1.15.10 + +* Tue Feb 26 2019 Konstantin Pavlov - 1.15.9-1%{?dist}.ngx +- 1.15.9 + +* Tue Dec 25 2018 Konstantin Pavlov - 1.15.8-1%{?dist}.ngx +- 1.15.8 + +* Tue Nov 27 2018 Konstantin Pavlov - 1.15.7-1%{?dist}.ngx +- 1.15.7 + +* Tue Nov 6 2018 Konstantin Pavlov - 1.15.6-1%{?dist}.ngx +- 1.15.6 +- Security: fixes CVE-2018-16843. +- Security: fixes CVE-2018-16844. +- Security: fixes CVE-2018-16845. + +* Tue Oct 2 2018 Konstantin Pavlov - 1.15.5-1%{?dist}.ngx +- 1.15.5 + +* Tue Sep 25 2018 Konstantin Pavlov - 1.15.4-1%{?dist}.ngx +- 1.15.4 + +* Tue Aug 28 2018 Konstantin Pavlov - 1.15.3-1%{?dist}.ngx +- 1.15.3 + +* Tue Jul 24 2018 Konstantin Pavlov - 1.15.2-1%{?dist}.ngx +- 1.15.2 + +* Tue Jul 3 2018 Konstantin Pavlov - 1.15.1-1%{?dist}.ngx +- 1.15.1 + +* Tue Jun 5 2018 Konstantin Pavlov - 1.15.0-1%{?dist}.ngx +- 1.15.0 + +* Mon Apr 9 2018 Konstantin Pavlov - 1.13.12-1%{?dist}.ngx +- 1.13.12 + +* Tue Apr 3 2018 Konstantin Pavlov - 1.13.11-1%{?dist}.ngx +- 1.13.11 + +* Tue Mar 20 2018 Konstantin Pavlov - 1.13.10-1%{?dist}.ngx +- 1.13.10 + +* Tue Feb 20 2018 Konstantin Pavlov - 1.13.9-1%{?dist}.ngx +- 1.13.9 + +* Tue Dec 26 2017 Konstantin Pavlov - 1.13.8-1%{?dist}.ngx +- 1.13.8 + +* Tue Nov 21 2017 Konstantin Pavlov - 1.13.7-1%{?dist}.ngx +- 1.13.7 + +* Thu Sep 14 2017 Konstantin Pavlov - 1.13.6-1%{?dist}.ngx +- 1.13.6 +- Bugfix: in systemd service support + (https://trac.nginx.org/nginx/ticket/1380). + +* Thu Sep 14 2017 Konstantin Pavlov - 1.13.5-1%{?dist}.ngx +- 1.13.5 + +* Tue Aug 8 2017 Sergey Budnevitch - 1.13.4-1%{?dist}.ngx +- 1.13.4 + +* Tue Jul 11 2017 Konstantin Pavlov - 1.13.3-1%{?dist}.ngx +- 1.13.3 +- Security: fixes CVE-2017-7529. + +* Tue Jun 27 2017 Konstantin Pavlov - 1.13.2-1%{?dist}.ngx +- 1.13.2 + +* Tue May 30 2017 Konstantin Pavlov - 1.13.1-1%{?dist}.ngx +- 1.13.1 + +* Tue Apr 25 2017 Konstantin Pavlov - 1.13.0-1%{?dist}.ngx +- 1.13.0 + +* Tue Apr 4 2017 Konstantin Pavlov - 1.11.13-1%{?dist}.ngx +- 1.11.13 +- Made upgrade loops/timeouts configurable via /etc/defaults/nginx. + +* Fri Mar 24 2017 Konstantin Pavlov - 1.11.12-1%{?dist}.ngx +- 1.11.12 + +* Tue Mar 21 2017 Konstantin Pavlov - 1.11.11-1%{?dist}.ngx +- 1.11.11 + +* Tue Feb 14 2017 Konstantin Pavlov - 1.11.10-1%{?dist}.ngx +- 1.11.10 + +* Tue Jan 24 2017 Konstantin Pavlov - 1.11.9-1%{?dist}.ngx +- 1.11.9 +- Extended hardening build flags. +- Added check-reload target to init script / systemd service. + +* Tue Dec 27 2016 Konstantin Pavlov - 1.11.8-1%{?dist}.ngx +- 1.11.8 + +* Tue Dec 13 2016 Konstantin Pavlov - 1.11.7-1%{?dist}.ngx +- 1.11.7 + +* Fri Nov 25 2016 Konstantin Pavlov - 1.11.6-1%{?dist}.ngx +- 1.11.6 + +* Mon Oct 10 2016 Andrei Belov - 1.11.5-1%{?dist}.ngx +- 1.11.5 + +* Tue Sep 13 2016 Konstantin Pavlov - 1.11.4-1%{?dist}.ngx +- 1.11.4 +- njs updated to 0.1.2. + +* Tue Jul 26 2016 Konstantin Pavlov - 1.11.3-1%{?dist}.ngx +- 1.11.3 +- njs updated to 0.1.0. +- njs stream dynamic module added to nginx-module-njs package. +- geoip stream dynamic module added to nginx-module-geoip package. + +* Tue Jul 5 2016 Konstantin Pavlov - 1.11.2-1%{?dist}.ngx +- 1.11.2 +- njs updated to ef2b708510b1. + +* Tue May 31 2016 Konstantin Pavlov - 1.11.1-1%{?dist}.ngx +- 1.11.1 + +* Tue May 24 2016 Sergey Budnevitch - 1.11.0-1%{?dist}.ngx +- 1.11.0 +- Bugfix: fixed logrotate error if nginx is not running. + +* Tue Apr 19 2016 Konstantin Pavlov - 1.9.15-1%{?dist}.ngx +- 1.9.15 +- njs updated to 1c50334fbea6. + +* Tue Apr 5 2016 Konstantin Pavlov - 1.9.14-1%{?dist}.ngx +- 1.9.14 + +* Tue Mar 29 2016 Konstantin Pavlov - 1.9.13-1%{?dist}.ngx +- 1.9.13 +- Fixed modules path +- Added perl and njs dynamic modules subpackages + +* Wed Feb 24 2016 Sergey Budnevitch - 1.9.12-1%{?dist}.ngx +- 1.9.12 +- common configure args are now in variable +- xslt, image-filter and geoip dynamic modules added + +* Tue Feb 9 2016 Sergey Budnevitch - 1.9.11-1%{?dist}.ngx +- 1.9.11 +- dynamic modules path and symlink in /etc/nginx added + +* Tue Jan 26 2016 Konstantin Pavlov - 1.9.10-1%{?dist}.ngx +- 1.9.10 + +* Wed Dec 9 2015 Konstantin Pavlov - 1.9.9-1%{?dist}.ngx +- 1.9.9 + +* Tue Dec 8 2015 Konstantin Pavlov - 1.9.8-1%{?dist}.ngx +- 1.9.8 +- http_slice module enabled + +* Tue Nov 17 2015 Konstantin Pavlov - 1.9.7-1%{?dist}.ngx +- 1.9.7 + +* Tue Oct 27 2015 Sergey Budnevitch - 1.9.6-1%{?dist}.ngx +- 1.9.6 + +* Tue Sep 22 2015 Andrei Belov - 1.9.5-1%{?dist}.ngx +- 1.9.5 +- http_spdy module replaced with http_v2 module + +* Tue Aug 18 2015 Konstantin Pavlov - 1.9.4-1%{?dist}.ngx +- 1.9.4 + +* Tue Jul 14 2015 Sergey Budnevitch - 1.9.3-1%{?dist}.ngx +- 1.9.3 + +* Tue Jun 16 2015 Sergey Budnevitch - 1.9.2-1%{?dist}.ngx +- 1.9.2 + +* Tue May 26 2015 Sergey Budnevitch - 1.9.1-1%{?dist}.ngx +- 1.9.1 + +* Tue Apr 28 2015 Sergey Budnevitch - 1.9.0-1%{?dist}.ngx +- 1.9.0 +- thread pool support added +- stream module added +- example_ssl.conf removed + +* Tue Apr 7 2015 Sergey Budnevitch - 1.7.12-1%{?dist}.ngx +- 1.7.12 + +* Tue Mar 24 2015 Sergey Budnevitch - 1.7.11-1%{?dist}.ngx +- 1.7.11 + +* Tue Feb 10 2015 Sergey Budnevitch - 1.7.10-1%{?dist}.ngx +- 1.7.10 + +* Tue Dec 23 2014 Sergey Budnevitch - 1.7.9-1%{?dist}.ngx +- 1.7.9 +- init-script now sends signal only to the PID derived from pidfile + +* Tue Dec 2 2014 Sergey Budnevitch - 1.7.8-1%{?dist}.ngx +- 1.7.8 +- package with debug symbols added + +* Tue Oct 28 2014 Sergey Budnevitch - 1.7.7-1%{?dist}.ngx +- 1.7.7 + +* Tue Sep 30 2014 Sergey Budnevitch - 1.7.6-1%{?dist}.ngx +- 1.7.6 + +* Tue Sep 16 2014 Sergey Budnevitch - 1.7.5-1%{?dist}.ngx +- 1.7.5 + +* Tue Aug 5 2014 Sergey Budnevitch - 1.7.4-1%{?dist}.ngx +- 1.7.4 +- init-script now returns 0 on stop command if nginx is not running + +* Tue Jul 8 2014 Sergey Budnevitch - 1.7.3-1%{?dist}.ngx +- 1.7.3 + +* Tue Jun 17 2014 Sergey Budnevitch - 1.7.2-1%{?dist}.ngx +- 1.7.2 + +* Tue May 27 2014 Sergey Budnevitch - 1.7.1-1%{?dist}.ngx +- 1.7.1 + +* Thu Apr 24 2014 Konstantin Pavlov - 1.7.0-1%{?dist}.ngx +- 1.7.0 + +* Tue Apr 8 2014 Sergey Budnevitch - 1.5.13-1%{?dist}.ngx +- 1.5.13 + +* Tue Mar 18 2014 Sergey Budnevitch - 1.5.12-1%{?dist}.ngx +- 1.5.12 +- warning added when binary upgrade returns non-zero exit code + +* Tue Mar 4 2014 Sergey Budnevitch - 1.5.11-1%{?dist}.ngx +- 1.5.11 + +* Tue Feb 4 2014 Sergey Budnevitch - 1.5.10-1%{?dist}.ngx +- 1.5.10 + +* Wed Jan 22 2014 Sergey Budnevitch - 1.5.9-1%{?dist}.ngx +- 1.5.9 + +* Tue Dec 17 2013 Sergey Budnevitch - 1.5.8-1%{?dist}.ngx +- 1.5.8 + +* Fri Nov 29 2013 Sergey Budnevitch - 1.5.7-1%{?dist}.ngx +- 1.5.7 +- init script now honours additional options sourced from /etc/default/nginx + +* Tue Oct 1 2013 Sergey Budnevitch - 1.5.6-1%{?dist}.ngx +- 1.5.6 + +* Tue Sep 17 2013 Andrei Belov - 1.5.5-1%{?dist}.ngx +- 1.5.5 + +* Tue Aug 27 2013 Sergey Budnevitch - 1.5.4-1%{?dist}.ngx +- 1.5.4 +- auth request module added + +* Tue Jul 30 2013 Sergey Budnevitch - 1.5.3-1%{?dist}.ngx +- 1.5.3 + +* Tue Jul 2 2013 Sergey Budnevitch - 1.5.2-1%{?dist}.ngx +- 1.5.2 + +* Tue Jun 4 2013 Sergey Budnevitch - 1.5.1-1%{?dist}.ngx +- 1.5.1 +- dpkg-buildflags options now passed by --with-{cc,ld}-opt + +* Mon May 6 2013 Sergey Budnevitch - 1.5.0-1%{?dist}.ngx +- 1.5.0 +- fixed openssl version detection with dash as /bin/sh + +* Tue Apr 16 2013 Sergey Budnevitch - 1.3.16-1%{?dist}.ngx +- 1.3.16 + +* Tue Mar 26 2013 Sergey Budnevitch - 1.3.15-1%{?dist}.ngx +- 1.3.15 +- gunzip module added +- spdy module added if openssl version >= 1.0.1 +- set permissions on default log files at installation +