# %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 1 Epoch: %{epoch} Requires(pre): shadow-utils Requires: procps-ng %define dist .el7 %endif %if (0%{?rhel} == 7) && (0%{?amzn} == 2) %define epoch 1 Epoch: %{epoch} Requires(pre): shadow-utils Requires: procps-ng %endif %if 0%{?rhel} == 8 %define epoch 1 Epoch: %{epoch} Requires(pre): shadow-utils Requires: procps-ng %define _debugsource_template %{nil} %endif %if 0%{?rhel} == 9 %define epoch 1 Epoch: %{epoch} Requires(pre): shadow-utils Requires: procps-ng %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 %define _debugsource_template %{nil} %endif %if 0%{?fedora} %define _debugsource_template %{nil} %global _hardened_build 1 %define _group System Environment/Daemons Requires: procps-ng Requires(pre): shadow-utils %endif # end of distribution specific definitions %define base_version 1.23.4 %define base_release 0.20230131%{?dist} %define bdir %{_builddir}/%{name}-%{base_version} %define WITH_CC_OPT $(echo %{optflags} $(pcre2-config --cflags)) -fPIC $(pkg-config --cflags quictls) %define WITH_LD_OPT -Wl,-z,relro -Wl,-z,now -pie $(pkg-config --libs quictls) %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 --build=nginx-quic-def8e398d7c5 --with-http_v3_module --with-stream_quic_module") Summary: High performance web server Name: nginx-quic 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-quic.nginx.conf Source3: nginx-quic.default.conf Source4: nginx-quic.nginx.service Source5: nginx.upgrade.sh Source6: nginx.suse.logrotate Source7: nginx-quic.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 BuildRequires: quictls-devel BuildRequires: pkgconfig Conflicts: nginx Obsoletes: nginx Provides: webserver Provides: nginx-quic-r%{base_version} %description nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server. This is a package with experimental QUIC support. %if 0%{?suse_version} >= 1315 %debug_package %endif %prep %autosetup -p1 -n nginx-quic-%{version} %build cp auto/configure ./configure ./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 Jan 31 2023 Nginx Packaging - 1.23.4-0.20230131%{?dist}.ngx - Updated to 1.23.4-0.20230131 (nginx-quic def8e398d7c5) * Tue Jan 24 2023 Nginx Packaging - 1.23.4-0.20230124%{?dist}.ngx - Updated to 1.23.4-0.20230124 (nginx-quic a954b551dc3f) * Tue Jan 10 2023 Nginx Packaging - 1.23.3-1%{?dist}.ngx - Initial release based on 1.23.3