%global _hardened_build 1 %global nginx_user nginx %global nginx_group %{nginx_user} %global nginx_home %{_localstatedir}/lib/nginx %global nginx_home_tmp %{nginx_home}/tmp %global nginx_confdir %{_sysconfdir}/nginx %global nginx_datadir %{_datadir}/nginx %global nginx_logdir %{_localstatedir}/log/nginx %global nginx_webroot %{nginx_datadir}/html Name: nginx Epoch: 1 Version: 1.2.6 Release: 6%{?dist} Summary: A high performance web server and reverse proxy server Group: System Environment/Daemons # BSD License (two clause) # http://www.freebsd.org/copyright/freebsd-license.html License: BSD URL: http://nginx.org/ Source0: http://nginx.org/download/nginx-%{version}.tar.gz Source1: nginx.service Source2: nginx.logrotate Source3: nginx.conf Source4: nginx-upgrade Source5: nginx-upgrade.8 Source100: index.html Source101: poweredby.png Source102: nginx-logo.png Source103: 404.html Source104: 50x.html # removes -Werror in upstream build scripts. -Werror conflicts with # -D_FORTIFY_SOURCE=2 causing warnings to turn into errors. Patch0: nginx-auto-cc-gcc.patch BuildRequires: GeoIP-devel BuildRequires: gd-devel BuildRequires: libxslt-devel BuildRequires: openssl-devel BuildRequires: pcre-devel BuildRequires: perl-devel BuildRequires: perl(ExtUtils::Embed) BuildRequires: zlib-devel BuildRequires: systemd Requires: GeoIP Requires: gd Requires: openssl Requires: pcre Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) Requires(pre): shadow-utils Requires(post): systemd Requires(preun): systemd Requires(postun): systemd Provides: webserver %description Nginx is a web server and a reverse proxy server for HTTP, SMTP, POP3 and IMAP protocols, with a strong focus on high concurrency, performance and low memory usage. %prep %setup -q %patch0 -p0 %build # nginx does not utilize a standard configure script. It has its own # and the standard configure options cause the nginx configure script # to error out. This is is also the reason for the DESTDIR environment # variable. export DESTDIR=%{buildroot} ./configure \ --prefix=%{nginx_datadir} \ --sbin-path=%{_sbindir}/nginx \ --conf-path=%{nginx_confdir}/nginx.conf \ --error-log-path=%{nginx_logdir}/error.log \ --http-log-path=%{nginx_logdir}/access.log \ --http-client-body-temp-path=%{nginx_home_tmp}/client_body \ --http-proxy-temp-path=%{nginx_home_tmp}/proxy \ --http-fastcgi-temp-path=%{nginx_home_tmp}/fastcgi \ --http-uwsgi-temp-path=%{nginx_home_tmp}/uwsgi \ --http-scgi-temp-path=%{nginx_home_tmp}/scgi \ --pid-path=/run/nginx.pid \ --lock-path=/run/lock/subsys/nginx \ --user=%{nginx_user} \ --group=%{nginx_group} \ --with-file-aio \ --with-ipv6 \ --with-http_ssl_module \ --with-http_realip_module \ --with-http_addition_module \ --with-http_xslt_module \ --with-http_image_filter_module \ --with-http_geoip_module \ --with-http_sub_module \ --with-http_dav_module \ --with-http_flv_module \ --with-http_mp4_module \ --with-http_gzip_static_module \ --with-http_random_index_module \ --with-http_secure_link_module \ --with-http_degradation_module \ --with-http_stub_status_module \ --with-http_perl_module \ --with-mail \ --with-mail_ssl_module \ --with-cc-opt="%{optflags} $(pcre-config --cflags)" \ --with-ld-opt="$RPM_LD_FLAGS -Wl,-E" # so the perl module finds its symbols make %{?_smp_mflags} %install make install DESTDIR=%{buildroot} INSTALLDIRS=vendor find %{buildroot} -type f -name .packlist -exec rm -f '{}' \; find %{buildroot} -type f -name perllocal.pod -exec rm -f '{}' \; find %{buildroot} -type f -empty -exec rm -f '{}' \; find %{buildroot} -type f -iname '*.so' -exec chmod 0755 '{}' \; install -p -D -m 0644 %{SOURCE1} \ %{buildroot}%{_unitdir}/nginx.service install -p -D -m 0644 %{SOURCE2} \ %{buildroot}%{_sysconfdir}/logrotate.d/nginx install -p -d -m 0755 %{buildroot}%{nginx_confdir}/conf.d install -p -d -m 0755 %{buildroot}%{nginx_home_tmp} install -p -d -m 0755 %{buildroot}%{nginx_logdir} install -p -d -m 0755 %{buildroot}%{nginx_webroot} install -p -m 0644 %{SOURCE3} \ %{buildroot}%{nginx_confdir} install -p -m 0644 %{SOURCE100} \ %{buildroot}%{nginx_webroot} install -p -m 0644 %{SOURCE101} %{SOURCE102} \ %{buildroot}%{nginx_webroot} install -p -m 0644 %{SOURCE103} %{SOURCE104} \ %{buildroot}%{nginx_webroot} install -p -D -m 0644 %{_builddir}/nginx-%{version}/man/nginx.8 \ %{buildroot}%{_mandir}/man8/nginx.8 install -p -D -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/nginx-upgrade install -p -D -m 0644 %{SOURCE5} %{buildroot}%{_mandir}/man8/nginx-upgrade.8 %pre if [ $1 -eq 1 ]; then getent group %{nginx_group} > /dev/null || groupadd -r %{nginx_group} getent passwd %{nginx_user} > /dev/null || \ useradd -r -d %{nginx_home} -g %{nginx_group} \ -s /sbin/nologin -c "Nginx web server" %{nginx_user} exit 0 fi %post %systemd_post nginx.service %preun %systemd_preun nginx.service %postun %systemd_postun nginx.service %files %doc LICENSE CHANGES README %{nginx_datadir}/ %{_bindir}/nginx-upgrade %{_sbindir}/nginx %{_mandir}/man3/nginx.3pm* %{_mandir}/man8/nginx.8* %{_mandir}/man8/nginx-upgrade.8* %{_unitdir}/nginx.service %dir %{nginx_confdir} %dir %{nginx_confdir}/conf.d %dir %{nginx_logdir} %config(noreplace) %{nginx_confdir}/fastcgi.conf %config(noreplace) %{nginx_confdir}/fastcgi.conf.default %config(noreplace) %{nginx_confdir}/fastcgi_params %config(noreplace) %{nginx_confdir}/fastcgi_params.default %config(noreplace) %{nginx_confdir}/koi-utf %config(noreplace) %{nginx_confdir}/koi-win %config(noreplace) %{nginx_confdir}/mime.types %config(noreplace) %{nginx_confdir}/mime.types.default %config(noreplace) %{nginx_confdir}/nginx.conf %config(noreplace) %{nginx_confdir}/nginx.conf.default %config(noreplace) %{nginx_confdir}/scgi_params %config(noreplace) %{nginx_confdir}/scgi_params.default %config(noreplace) %{nginx_confdir}/uwsgi_params %config(noreplace) %{nginx_confdir}/uwsgi_params.default %config(noreplace) %{nginx_confdir}/win-utf %config(noreplace) %{_sysconfdir}/logrotate.d/nginx %dir %{perl_vendorarch}/auto/nginx %{perl_vendorarch}/nginx.pm %{perl_vendorarch}/auto/nginx/nginx.so %attr(-,%{nginx_user},%{nginx_group}) %dir %{nginx_home} %attr(-,%{nginx_user},%{nginx_group}) %dir %{nginx_home_tmp} %changelog * Tue Feb 05 2013 Jamie Nguyen - 1:1.2.6-6 - use 'kill' instead of 'systemctl' when rotating log files to workaround SELinux issue (#889151) * Wed Jan 23 2013 Jamie Nguyen - 1:1.2.6-5 - uncomment "include /etc/nginx/conf.d/*.conf by default but leave the conf.d directory empty (#903065) * Wed Jan 23 2013 Jamie Nguyen - 1:1.2.6-4 - add comment in nginx.conf regarding "include /etc/nginf/conf.d/*.conf" (#903065) * Wed Dec 19 2012 Jamie Nguyen - 1:1.2.6-3 - use correct file ownership when rotating log files * Tue Dec 18 2012 Jamie Nguyen - 1:1.2.6-2 - send correct kill signal and use correct file permissions when rotating log files (#888225) - send correct kill signal in nginx-upgrade * Tue Dec 11 2012 Jamie Nguyen - 1:1.2.6-1 - update to upstream release 1.2.6 * Sat Nov 17 2012 Jamie Nguyen - 1:1.2.5-1 - update to upstream release 1.2.5 * Sun Oct 28 2012 Jamie Nguyen - 1:1.2.4-1 - update to upstream release 1.2.4 - introduce new systemd-rpm macros (#850228) - link to official documentation not the community wiki (#870733) - do not run systemctl try-restart after package upgrade to allow the administrator to run nginx-upgrade and avoid downtime - add nginx man page (#870738) - add nginx-upgrade man page and remove README.fedora - remove chkconfig from Requires(post/preun) - remove initscripts from Requires(preun/postun) - remove separate configuration files in "/etc/nginx/conf.d" directory and revert to upstream default of a centralized nginx.conf file (#803635) (#842738) * Fri Sep 21 2012 Jamie Nguyen - 1:1.2.3-1 - update to upstream release 1.2.3 * Fri Jul 20 2012 Fedora Release Engineering - 1:1.2.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Thu Jun 28 2012 Petr Pisar - 1:1.2.1-2 - Perl 5.16 rebuild * Sun Jun 10 2012 Jamie Nguyen - 1:1.2.1-1 - update to upstream release 1.2.1 * Fri Jun 08 2012 Petr Pisar - 1:1.2.0-2 - Perl 5.16 rebuild * Wed May 16 2012 Jamie Nguyen - 1:1.2.0-1 - update to upstream release 1.2.0 * Wed May 16 2012 Jamie Nguyen - 1:1.0.15-4 - add nginx-upgrade to replace functionality from the nginx initscript that was lost after migration to systemd - add README.fedora to describe usage of nginx-upgrade - nginx.logrotate: use built-in systemd kill command in postrotate script - nginx.service: start after syslog.target and network.target - nginx.service: remove unnecessary references to config file location - nginx.service: use /bin/kill instead of "/usr/sbin/nginx -s" following advice from nginx-devel - nginx.service: use private /tmp * Mon May 14 2012 Jamie Nguyen - 1:1.0.15-3 - fix incorrect postrotate script in nginx.logrotate * Thu Apr 19 2012 Jamie Nguyen - 1:1.0.15-2 - renable auto-cc-gcc patch due to warnings on rawhide * Sat Apr 14 2012 Jamie Nguyen - 1:1.0.15-1 - update to upstream release 1.0.15 - no need to apply auto-cc-gcc patch - add %%global _hardened_build 1 * Thu Mar 15 2012 Jamie Nguyen - 1:1.0.14-1 - update to upstream release 1.0.14 - amend some %%changelog formatting * Tue Mar 06 2012 Jamie Nguyen - 1:1.0.13-1 - update to upstream release 1.0.13 - amend --pid-path and --log-path * Sun Mar 04 2012 Jamie Nguyen - 1:1.0.12-5 - change pid path in nginx.conf to match systemd service file * Sun Mar 04 2012 Jamie Nguyen - 1:1.0.12-3 - fix %%pre scriptlet * Mon Feb 20 2012 Jamie Nguyen - 1:1.0.12-2 - update upstream URL - replace %%define with %%global - remove obsolete BuildRoot tag, %%clean section and %%defattr - remove various unnecessary commands - add systemd service file and update scriptlets - add Epoch to accommodate %%triggerun as part of systemd migration * Sun Feb 19 2012 Jeremy Hinegardner - 1.0.12-1 - Update to 1.0.12 * Thu Nov 17 2011 Keiran "Affix" Smith - 1.0.10-1 - Bugfix: a segmentation fault might occur in a worker process if resolver got a big DNS response. Thanks to Ben Hawkes. - Bugfix: in cache key calculation if internal MD5 implementation wasused; the bug had appeared in 1.0.4. - Bugfix: the module ngx_http_mp4_module sent incorrect "Content-Length" response header line if the "start" argument was used. Thanks to Piotr Sikora. * Thu Oct 27 2011 Keiran "Affix" Smith - 1.0.8-1 - Update to new 1.0.8 stable release * Fri Aug 26 2011 Keiran "Affix" Smith - 1.0.5-1 - Update nginx to Latest Stable Release * Fri Jun 17 2011 Marcela Mašláňová - 1.0.0-3 - Perl mass rebuild * Thu Jun 09 2011 Marcela Mašláňová - 1.0.0-2 - Perl 5.14 mass rebuild * Wed Apr 27 2011 Jeremy Hinegardner - 1.0.0-1 - Update to 1.0.0 * Tue Feb 08 2011 Fedora Release Engineering - 0.8.53-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Sun Dec 12 2010 Jeremy Hinegardner - 0.8.53.5 - Extract out default config into its own file (bug #635776) * Sun Dec 12 2010 Jeremy Hinegardner - 0.8.53-4 - Revert ownership of log dir * Sun Dec 12 2010 Jeremy Hinegardner - 0.8.53-3 - Change ownership of /var/log/nginx to be 0700 nginx:nginx - update init script to use killproc -p - add reopen_logs command to init script - update init script to use nginx -q option * Sun Oct 31 2010 Jeremy Hinegardner - 0.8.53-2 - Fix linking of perl module * Sun Oct 31 2010 Jeremy Hinegardner - 0.8.53-1 - Update to new stable 0.8.53 * Sat Jul 31 2010 Jeremy Hinegardner - 0.7.67-2 - add Provides: webserver (bug #619693) * Sun Jun 20 2010 Jeremy Hinegardner - 0.7.67-1 - Update to new stable 0.7.67 - fix bugzilla #591543 * Tue Jun 01 2010 Marcela Maslanova - 0.7.65-2 - Mass rebuild with perl-5.12.0 * Mon Feb 15 2010 Jeremy Hinegardner - 0.7.65-1 - Update to new stable 0.7.65 - change ownership of logdir to root:root - add support for ipv6 (bug #561248) - add random_index_module - add secure_link_module * Fri Dec 04 2009 Jeremy Hinegardner - 0.7.64-1 - Update to new stable 0.7.64 * Tue Oct 29 2009 Jeremy Hinegardner - 0.7.63-1 - Update to new stable 0.7.63 - reinstate zlib dependency * Mon Sep 14 2009 Jeremy Hinegardner - 0.7.62-1 - Update to new stable 0.7.62 - fixes CVE-2009-2629 - fix rpmlint zlib dependency complaint * Fri Aug 21 2009 Tomas Mraz - 0.7.61-2 - rebuilt with new openssl * Sun Aug 02 2009 Jeremy Hinegardner - 0.7.61-1 - Update to new stable 0.7.61 * Sat Jul 25 2009 Fedora Release Engineering - 0.6.36-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Sun May 17 2009 Jeremy Hinegardner - 0.6.36-2 - init script updates from Gena Makhomed - remove nginx-upstream-fair * Sat Apr 11 2009 Jeremy Hinegardner - 0.6.36-1 - update to 0.6.36 * Wed Feb 25 2009 Fedora Release Engineering - 0.6.35-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Thu Feb 19 2009 Jeremy Hinegardner - 0.6.35-2 - rebuild * Thu Feb 19 2009 Jeremy Hinegardner - 0.6.35-1 - update to 0.6.35 * Sat Jan 17 2009 Tomas Mraz - 0.6.34-2 - rebuild with new openssl * Tue Dec 30 2008 Jeremy Hinegardner - 0.6.34-1 - update to 0.6.34 * Thu Dec 4 2008 Michael Schwendt - 0.6.33-2 - Fix inclusion of /usr/share/nginx tree => no unowned directories. * Sun Nov 23 2008 Jeremy Hinegardner - 0.6.33-1 - update to 0.6.33 * Tue Jul 22 2008 Jeremy Hinegardner - 0.6.32-1 - update to 0.6.32 - nginx now supports DESTDIR so removed the patches that enabled it * Mon May 26 2008 Jeremy Hinegardner - 0.6.31-3 - init script fixes - resolve 'listen 80 default' [#447873] * Mon May 12 2008 Jeremy Hinegardner - 0.6.31-2 - update to 0.6.31 * Sun May 11 2008 Jeremy Hinegardner - 0.6.30-2 - upate to new upstream stable branch 0.6 - added 3rd party module nginx-upstream-fair - added default webpages * Sun Apr 20 2008 Jeremy Hinegardner - 0.5.35-2 - update init script to match recommended guidelines - add /etc/nginx/conf.d support [#443280] - use /etc/sysconfig/nginx to determine nginx.conf [#442708] * Tue Mar 18 2008 Tom "spot" Callaway - 0.5.35-3 - add Requires for versioned perl (libperl.so) - drop silly file Requires * Tue Feb 19 2008 Fedora Release Engineering - 0.5.35-2 - Autorebuild for GCC 4.3 * Sat Jan 19 2008 Jeremy Hinegardner - 0.5.35-1 - update to 0.5.35 * Sat Dec 15 2007 Jeremy Hinegardner - 0.5.34-1 - update to 0.5.34 * Wed Dec 05 2007 Release Engineering - 0.5.33-2 - Rebuild for deps * Sun Nov 11 2007 Jeremy Hinegardner - 0.5.33-1 - update to 0.5.33 * Mon Sep 24 2007 Jeremy Hinegardner - 0.5.32-1 - updated to 0.5.32 - fixed rpmlint UTF-8 complaints. * Sat Aug 18 2007 Jeremy Hinegardner - 0.5.31-2 - added --with-http_stub_status_module build option. - added --with-http_sub_module build option. - added use of pcre-config --cflags * Fri Aug 17 2007 Jeremy Hinegardner - 0.5.31-1 - Update to 0.5.31 - specify license is BSD * Sat Aug 11 2007 Jeremy Hinegardner - 0.5.30-2 - Add BuildRequires: perl-devel - fixing rawhide build * Mon Jul 30 2007 Jeremy Hinegardner - 0.5.30-1 - Update to 0.5.30 * Tue Jul 24 2007 Jeremy Hinegardner - 0.5.29-1 - Update to 0.5.29 * Wed Jul 18 2007 Jeremy Hinegardner - 0.5.28-1 - Update to 0.5.28 * Mon Jul 09 2007 Jeremy Hinegardner - 0.5.27-1 - Update to 0.5.27 * Mon Jun 18 2007 Jeremy Hinegardner - 0.5.26-1 - Update to 0.5.26 * Sat Apr 28 2007 Jeremy Hinegardner - 0.5.19-1 - Update to 0.5.19 * Mon Apr 02 2007 Jeremy Hinegardner - 0.5.17-1 - Update to 0.5.17 * Mon Mar 26 2007 Jeremy Hinegardner - 0.5.16-1 - Update to 0.5.16 - add ownership of /usr/share/nginx/html (#233950) * Fri Mar 23 2007 Jeremy Hinegardner - 0.5.15-3 - fixed package review bugs (#235222) given by ruben@rubenkerkhof.com * Thu Mar 22 2007 Jeremy Hinegardner - 0.5.15-2 - fixed package review bugs (#233522) given by kevin@tummy.com * Thu Mar 22 2007 Jeremy Hinegardner - 0.5.15-1 - create patches to assist with building for Fedora - initial packaging for Fedora