]> git.pld-linux.org Git - packages/nginx.git/blame - nginx.spec
common install function
[packages/nginx.git] / nginx.spec
CommitLineData
f9e65082 1# TODO
ee4f2132 2# - /etc/sysconfig/nginx file
1c438d78 3# - missing perl build/install requires
ee4f2132 4#
362f5ab2 5# Conditional build for nginx:
056acc18 6%bcond_without light # don't build light version
7%bcond_without mail # don't build imap/mail proxy
8%bcond_without perl # don't build with perl module
d0c0492d 9%bcond_without addition # adds module
10%bcond_without dav # WebDAV
11%bcond_without flv # FLV stream
3d4bad81 12%bcond_without ipv6 # build without ipv6 support
d6fc4b09 13%bcond_without sub # ngx_http_sub_module
d0c0492d 14%bcond_without poll # poll
15%bcond_without realip # real ip (behind proxy)
16%bcond_without rtsig # rtsig
17%bcond_without select # select
36e2ba5a 18%bcond_without spdy # spdy module
f2d29d05 19%bcond_without status # status module
d0c0492d 20%bcond_without ssl # ssl support
056acc18 21%bcond_with http_browser # header "User-agent" parser
3b14ae78 22%bcond_with rtmp # rtmp support
8cf64677 23%bcond_with threads # thread pool support
f2d29d05 24%bcond_with debug # enable debug logging: http://nginx.org/en/docs/debugging_log.html
e9a11359 25%bcond_without auth_request # auth_request module
fb649fe5 26
8cf64677
WF
27%ifarch x32
28%undefine with_rtsig
29%endif
30
5d0d957d 31%define rtmp_version 1.1.7
8e1389c7 32Summary: High perfomance HTTP and reverse proxy server
185313bb 33Summary(pl.UTF-8): Serwer HTTP i odwrotne proxy o wysokiej wydajności
3dfa1ca2
AM
34# nginx lines:
35# - stable: production quality with stable API
36# - mainline: production quality but API can change
f9e65082 37Name: nginx
ae3d8fce 38Version: 1.8.0
32c47bd6 39Release: 2
51ef519b 40License: BSD-like
cbf76340 41Group: Networking/Daemons/HTTP
06e274b9 42Source0: http://nginx.org/download/%{name}-%{version}.tar.gz
ae3d8fce 43# Source0-md5: 3ca4a37931e9fa301964b8ce889da8cb
06e274b9 44Source1: http://nginx.net/favicon.ico
87404bf2 45# Source1-md5: 2aaf2115c752cbdbfb8a2f0b3c3189ab
06e274b9 46Source2: proxy.conf
226bcc40 47Source3: %{name}.logrotate
48Source4: %{name}.mime
226bcc40 49Source6: %{name}-light.monitrc
2cb3d9b2 50Source7: %{name}.init
0da077af 51Source8: %{name}-mail.conf
52Source9: %{name}-mail.monitrc
0da077af 53Source12: %{name}-perl.monitrc
5d9f0850 54Source14: %{name}.conf
0da077af 55Source15: %{name}-standard.monitrc
7d80c773 56Source17: %{name}-mime.types.sh
d323480a
JK
57Source18: %{name}-standard.service
58Source19: %{name}-light.service
59Source20: %{name}-perl.service
60Source21: %{name}-mail.service
5d0d957d
ER
61Source101: https://github.com/arut/nginx-rtmp-module/archive/v%{rtmp_version}/nginx-rtmp-module-%{rtmp_version}.tar.gz
62# Source101-md5: 8006de2560db3e55bb15d110220076ac
5ca9795d 63Patch0: %{name}-no-Werror.patch
51ef519b 64URL: http://nginx.net/
dfef7372 65BuildRequires: mailcap
f9e65082 66BuildRequires: openssl-devel
f1fc9780 67BuildRequires: pcre-devel
1c438d78 68%{?with_perl:BuildRequires: perl-CGI}
d0c0492d 69%{?with_perl:BuildRequires: perl-devel}
dd2388c2 70%{?with_perl:BuildRequires: python}
1c438d78 71%{?with_perl:BuildRequires: rpm-perlprov}
d323480a 72BuildRequires: rpmbuild(macros) >= 1.644
f9e65082
ER
73BuildRequires: zlib-devel
74BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
75
362f5ab2 76%define _sysconfdir /etc/%{name}
77%define _nginxdir /home/services/%{name}
f9e65082
ER
78
79%description
57f21172 80nginx ("engine x") is a high-performance HTTP server and reverse
81proxy, as well as an IMAP/POP3 proxy server. nginx was written by Igor
894ff1f7
ER
82Sysoev for Rambler.ru, Russia's second-most visited website, where it
83has been running in production for over two and a half years. Igor has
84released the source code under a BSD-like license. Although still in
57f21172 85beta, nginx is known for its stability, rich feature set, simple
894ff1f7 86configuration, and low resource consumption.
8e1389c7 87
390f5b88 88%description -l pl.UTF-8
57f21172 89nginx ("engine x") jest wysokowydajnym serwerem HTTP, odwrotnym proxy
5ca9795d
ER
90a także IMAP/POP3 proxy. nginx został napisany przez Igora Sysoeva na
91potrzeby serwisu Rambler.ru. Jest to drugi pod względem ilości
056acc18 92odwiedzin serwis w Rosji i działa od ponad dwóch i pół roku. Igor
5ca9795d
ER
93opublikował źródła na licencji BSD. Mimo, że projekt jest ciągle w
94fazie beta, już zasłynął dzięki stabilności, bogactwu dodatków,
1dc54c84 95prostej konfiguracji oraz małej "zasobożerności".
2ee780b1 96
1a973791
JK
97%package common
98Summary: nginx - common files
99Summary(pl.UTF-8): nginx - pliki wspólne
100Group: Networking/Daemons/HTTP
101Requires(postun): /usr/sbin/groupdel
102Requires(postun): /usr/sbin/userdel
103Requires(pre): /bin/id
104Requires(pre): /usr/bin/getgid
105Requires(pre): /usr/sbin/groupadd
106Requires(pre): /usr/sbin/useradd
1a973791
JK
107Requires: rc-scripts >= 0.2.0
108Requires: systemd-units >= 38
1a973791
JK
109Provides: group(http)
110Provides: group(nginx)
111Provides: user(nginx)
112Provides: webserver
5ca9795d 113Obsoletes: nginx < 1.4.1-4.1
1a973791 114Conflicts: logrotate < 3.8.0
1a973791
JK
115
116%description common
117Common files for the nginx daemon.
118
119%description common -l pl.UTF-8
57f21172 120Niezbędne pliki dla nginx.
85600569 121
2ee780b1 122%package light
123Summary: High perfomance HTTP and reverse proxy server
7ad53968 124Summary(pl.UTF-8): Serwer HTTP i odwrotne proxy o wysokiej wydajności
cbf76340 125Group: Networking/Daemons/HTTP
85600569 126Requires(post,preun): /sbin/chkconfig
1a973791
JK
127Requires(post,preun,postun): systemd-units >= 38
128Requires: %{name}-common = %{version}-%{release}
119e2f19 129Provides: nginx-daemon
2ee780b1 130Provides: webserver
131
132%description light
1a973791
JK
133nginx ("engine x") is a high-performance HTTP server and reverse
134proxy, as well as an IMAP/POP3 proxy server. nginx was written by Igor
135Sysoev for Rambler.ru, Russia's second-most visited website, where it
136has been running in production for over two and a half years. Igor has
137released the source code under a BSD-like license. Although still in
138beta, nginx is known for its stability, rich feature set, simple
139configuration, and low resource consumption.
140
57f21172 141The smallest, but also the fastest nginx edition. No additional
7ad53968 142modules, no Perl, no DAV, no FLV, no IMAP, POP3, SMTP proxy.
2ee780b1 143
144%description light -l pl.UTF-8
1a973791 145nginx ("engine x") jest wysokowydajnym serwerem HTTP, odwrotnym proxy
5ca9795d
ER
146a także IMAP/POP3 proxy. nginx został napisany przez Igora Sysoeva na
147potrzeby serwisu Rambler.ru. Jest to drugi pod względem ilości
1a973791 148odwiedzin serwis w Rosji i działa od ponad dwóch i pół roku. Igor
5ca9795d
ER
149opublikował źródła na licencji BSD. Mimo, że projekt jest ciągle w
150fazie beta, już zasłynął dzięki stabilności, bogactwu dodatków,
1a973791
JK
151prostej konfiguracji oraz małej "zasobożerności".
152
57f21172 153Najmniejsza i najszybsza wersja nginx. Bez wsparcia dla Perla, DAV,
1cf92547 154FLV oraz IMAP, POP3, SMTP proxy.
2ee780b1 155
156%package perl
157Summary: High perfomance HTTP and reverse proxy server
7ad53968 158Summary(pl.UTF-8): Serwer HTTP i odwrotne proxy o wysokiej wydajności
cbf76340 159Group: Networking/Daemons/HTTP
85600569 160Requires(post,preun): /sbin/chkconfig
1a973791
JK
161Requires(post,preun,postun): systemd-units >= 38
162Requires: %{name}-common = %{version}-%{release}
85600569 163Requires: openssl
1cf92547 164Provides: nginx-daemon
2ee780b1 165Provides: webserver
166
167%description perl
1a973791
JK
168nginx ("engine x") is a high-performance HTTP server and reverse
169proxy, as well as an IMAP/POP3 proxy server. nginx was written by Igor
170Sysoev for Rambler.ru, Russia's second-most visited website, where it
171has been running in production for over two and a half years. Igor has
172released the source code under a BSD-like license. Although still in
173beta, nginx is known for its stability, rich feature set, simple
174configuration, and low resource consumption.
175
57f21172 176nginx with Perl support. Mail modules not included.
2ee780b1 177
178%description perl -l pl.UTF-8
1a973791 179nginx ("engine x") jest wysokowydajnym serwerem HTTP, odwrotnym proxy
5ca9795d
ER
180a także IMAP/POP3 proxy. nginx został napisany przez Igora Sysoeva na
181potrzeby serwisu Rambler.ru. Jest to drugi pod względem ilości
1a973791 182odwiedzin serwis w Rosji i działa od ponad dwóch i pół roku. Igor
5ca9795d
ER
183opublikował źródła na licencji BSD. Mimo, że projekt jest ciągle w
184fazie beta, już zasłynął dzięki stabilności, bogactwu dodatków,
1a973791
JK
185prostej konfiguracji oraz małej "zasobożerności".
186
57f21172 187nginx z obsługą Perla. Bez wsparcia dla modułów poczty.
2ee780b1 188
189%package mail
57f21172 190Summary: High perfomance IMAP, POP3, SMTP proxy server
191Summary(pl.UTF-8): IMAP, POP3, SMTP proxy o wysokiej wydajności
cbf76340 192Group: Networking/Daemons/HTTP
85600569 193Requires(post,preun): /sbin/chkconfig
1a973791
JK
194Requires(post,preun,postun): systemd-units >= 38
195Requires: %{name}-common = %{version}-%{release}
1cf92547 196Provides: nginx-daemon
2ee780b1 197
198%description mail
1a973791
JK
199nginx ("engine x") is a high-performance HTTP server and reverse
200proxy, as well as an IMAP/POP3 proxy server. nginx was written by Igor
201Sysoev for Rambler.ru, Russia's second-most visited website, where it
202has been running in production for over two and a half years. Igor has
203released the source code under a BSD-like license. Although still in
204beta, nginx is known for its stability, rich feature set, simple
205configuration, and low resource consumption.
206
57f21172 207nginx with mail support. Only mail modules included.
2ee780b1 208
209%description mail -l pl.UTF-8
1a973791 210nginx ("engine x") jest wysokowydajnym serwerem HTTP, odwrotnym proxy
5ca9795d
ER
211a także IMAP/POP3 proxy. nginx został napisany przez Igora Sysoeva na
212potrzeby serwisu Rambler.ru. Jest to drugi pod względem ilości
1a973791 213odwiedzin serwis w Rosji i działa od ponad dwóch i pół roku. Igor
5ca9795d
ER
214opublikował źródła na licencji BSD. Mimo, że projekt jest ciągle w
215fazie beta, już zasłynął dzięki stabilności, bogactwu dodatków,
1a973791
JK
216prostej konfiguracji oraz małej "zasobożerności".
217
57f21172 218nginx ze wsparciem tylko dla modułów poczty.
2ee780b1 219
b0fa7cc6 220%package standard
57f21172 221Summary: High perfomance HTTP and reverse proxy server
4ca0234e 222Summary(pl.UTF-8): Serwer HTTP i odwrotne proxy o wysokiej wydajności
cbf76340 223Group: Networking/Daemons/HTTP
d6fc4b09 224Requires(post,preun): /sbin/chkconfig
1a973791
JK
225Requires(post,preun,postun): systemd-units >= 38
226Requires: %{name}-common = %{version}-%{release}
6de999a5 227Requires: openssl
1a973791 228Provides: nginx
1cf92547 229Provides: nginx-daemon
d6fc4b09 230Conflicts: logrotate < 3.7-4
28a25161 231
b0fa7cc6 232%description standard
1a973791
JK
233nginx ("engine x") is a high-performance HTTP server and reverse
234proxy, as well as an IMAP/POP3 proxy server. nginx was written by Igor
235Sysoev for Rambler.ru, Russia's second-most visited website, where it
236has been running in production for over two and a half years. Igor has
237released the source code under a BSD-like license. Although still in
238beta, nginx is known for its stability, rich feature set, simple
239configuration, and low resource consumption.
240
57f21172 241This is standard nginx version, without Perl support and IMAP, POP3,
5ca9795d 242SMTP proxy.
fccff804 243
b0fa7cc6 244%description standard -l pl.UTF-8
1a973791 245nginx ("engine x") jest wysokowydajnym serwerem HTTP, odwrotnym proxy
5ca9795d
ER
246a także IMAP/POP3 proxy. nginx został napisany przez Igora Sysoeva na
247potrzeby serwisu Rambler.ru. Jest to drugi pod względem ilości
1a973791 248odwiedzin serwis w Rosji i działa od ponad dwóch i pół roku. Igor
5ca9795d
ER
249opublikował źródła na licencji BSD. Mimo, że projekt jest ciągle w
250fazie beta, już zasłynął dzięki stabilności, bogactwu dodatków,
251prostej konfiguracji oraz małej "zasobożerności". ginx ("engine x")
252jest wysokowydajnym serwerem HTTP, odwrotnym proxy a także IMAP/POP3
253proxy. nginx został napisany przez Igora Sysoeva na potrzeby serwisu
254Rambler.ru. Jest to drugi pod względem ilości odwiedzin serwis w Rosji
255i działa od ponad dwóch i pół roku. Igor opublikował źródła na
256licencji BSD. Mimo, że projekt jest ciągle w fazie beta, już zasłynął
257dzięki stabilności, bogactwu dodatków, prostej konfiguracji oraz małej
258"zasobożerności".
1a973791 259
57f21172 260To jest standardowa wersja nginx, bez obsługi Perla oraz proxy dla
1dc54c84 261IMAP, POP3, SMTP.
85600569 262
dd7459ac 263%package -n monit-rc-nginx
57f21172 264Summary: nginx support for monit
265Summary(pl.UTF-8): Wsparcie nginx dla monit
60b8f836 266Group: Applications/System
267URL: http://nginx.eu/
1a973791 268Requires: %{name}-common = %{version}-%{release}
1cf92547 269Requires: monit
dd7459ac 270
271%description -n monit-rc-nginx
57f21172 272monitrc file for monitoring nginx webserver.
dd7459ac 273
274%description -n monit-rc-nginx -l pl.UTF-8
57f21172 275Plik monitrc do monitorowania serwera WWW nginx.
dd7459ac 276
f9e65082 277%prep
9fc2d63c 278%setup -q %{?with_rtmp:-a101}
717159c4 279%patch0 -p0
f9e65082 280
fb649fe5
ER
281%if %{with rtmp}
282mv nginx-rtmp-module-%{rtmp_version} nginx-rtmp-module
283%endif
284
a8eaad11 285# build mime.types.conf
7d80c773 286#sh %{SOURCE17} /etc/mime.types
a8eaad11 287
f9e65082
ER
288%build
289# NB: not autoconf generated configure
056acc18 290cp -f configure auto/
5d0d957d 291
2fb62cf2
ER
292install -d bin
293
021e3ce8 294# build with default options
2fb62cf2 295build() {
78ac4e4e 296 local type=$1; shift
056acc18 297./configure \
298 --prefix=%{_prefix} \
78ac4e4e
ER
299 --sbin-path=%{_sbindir}/%{name}-$type \
300 --conf-path=%{_sysconfdir}/%{name}-$type.conf \
301 --error-log-path=%{_localstatedir}/log/%{name}/%{name}-${type}_error.log \
302 --http-log-path=%{_localstatedir}/log/%{name}/%{name}-${type}_access.log \
303 --pid-path=%{_localstatedir}/run/%{name}-$type.pid \
304 --lock-path=%{_localstatedir}/lock/subsys/%{name}-$type \
305 --http-client-body-temp-path=%{_localstatedir}/cache/%{name}-$type/client_body_temp \
306 --http-fastcgi-temp-path=%{_localstatedir}/cache/%{name}-$type/fastcgi_temp \
307 --http-proxy-temp-path=%{_localstatedir}/cache/%{name}-$type/proxy_temp \
2fb62cf2
ER
308 --user=nginx \
309 --group=nginx \
021e3ce8
ER
310 %{?with_ipv6:--with-ipv6} \
311 %{?with_select:--with-select_module} \
312 %{?with_poll:--with-poll_module} \
313 %{?with_rtsig:--with-rtsig_module} \
2fb62cf2
ER
314 --with-cc="%{__cc}" \
315 --with-cc-opt="%{rpmcflags}" \
316 --with-ld-opt="%{rpmldflags}" \
0aa7dc69 317 %{?with_debug:--with-debug} \
2fb62cf2
ER
318 "$@"
319%{__make}
320}
321
322%if %{with perl}
78ac4e4e 323build perl \
056acc18 324 --with-http_perl_module \
325 %{?with_addition:--with-http_addition_module} \
326 %{?with_dav:--with-http_dav_module} \
327 %{?with_flv:--with-http_flv_module} \
d6fc4b09 328 %{?with_sub:--with-http_sub_module} \
056acc18 329 %{?with_realip:--with-http_realip_module} \
056acc18 330 %{?with_status:--with-http_stub_status_module} \
331 %{?with_ssl:--with-http_ssl_module} \
332 %{!?with_http_browser:--without-http_browser_module} \
fb649fe5 333 %{?with_rtmp:--add-module=./nginx-rtmp-module} \
e9a11359 334 %{?with_auth_request:--with-http_auth_request_module} \
8cf64677 335 %{?with_threads:--with-threads} \
36e2ba5a 336 %{?with_spdy:--with-http_spdy_module} \
ca3f3f03 337 --with-http_secure_link_module \
2fb62cf2
ER
338 %{nil}
339
340mv -f objs/nginx bin/nginx-perl
341mv -f objs/src/http/modules/perl/blib/arch/auto/nginx/nginx.so bin/nginx.so
342mv -f objs/src/http/modules/perl/nginx.pm bin/nginx.pm
056acc18 343%endif
344
345%if %{with mail}
78ac4e4e 346build mail \
f2d29d05 347 --without-http \
056acc18 348 --with-imap \
349 --with-mail \
350 --with-mail_ssl_module \
2fb62cf2
ER
351 %{nil}
352
353mv -f objs/nginx bin/nginx-mail
056acc18 354%endif
355
356%if %{with light}
78ac4e4e 357build light \
056acc18 358 %{?with_realip:--with-http_realip_module} \
056acc18 359 %{?with_status:--with-http_stub_status_module} \
360 %{?with_ssl:--with-http_ssl_module} \
fb649fe5 361 %{?with_rtmp:--add-module=./nginx-rtmp-module} \
e9a11359 362 %{?with_auth_request:--with-http_auth_request_module} \
8cf64677 363 %{?with_threads:--with-threads} \
36e2ba5a 364 %{?with_spdy:--with-http_spdy_module} \
056acc18 365 --without-http_browser_module \
ca3f3f03 366 --with-http_secure_link_module \
2fb62cf2
ER
367 %{nil}
368
369mv -f objs/nginx bin/nginx-light
056acc18 370%endif
371
78ac4e4e 372build standard \
d0c0492d 373 %{?with_addition:--with-http_addition_module} \
374 %{?with_dav:--with-http_dav_module} \
375 %{?with_flv:--with-http_flv_module} \
d6fc4b09 376 %{?with_sub:--with-http_sub_module} \
d0c0492d 377 %{?with_realip:--with-http_realip_module} \
d0c0492d 378 %{?with_status:--with-http_stub_status_module} \
362f5ab2 379 %{?with_ssl:--with-http_ssl_module} \
ee4f2132 380 %{!?with_http_browser:--without-http_browser_module} \
fb649fe5 381 %{?with_rtmp:--add-module=./nginx-rtmp-module} \
e9a11359 382 %{?with_auth_request:--with-http_auth_request_module} \
8cf64677 383 %{?with_threads:--with-threads} \
ca3f3f03 384 --with-http_secure_link_module \
2fb62cf2 385 %{nil}
f9e65082 386
2fb62cf2 387mv -f objs/%{name} bin/%{name}-standard
056acc18 388
f9e65082
ER
389%install
390rm -rf $RPM_BUILD_ROOT
362f5ab2 391install -d $RPM_BUILD_ROOT/etc/rc.d/init.d \
392 $RPM_BUILD_ROOT%{_nginxdir}/{cgi-bin,html,errors} \
4e61eac8 393 $RPM_BUILD_ROOT%{_localstatedir}/log/{%{name},archive/%{name}} \
226bcc40 394 $RPM_BUILD_ROOT%{_localstatedir}/cache/{%{name}-standard,%{name}-perl,%{name}-mail,%{name}-light} \
395 $RPM_BUILD_ROOT%{_localstatedir}/lock/subsys/{%{name}-standard,%{name}-perl,%{name}-mail,%{name}-light} \
36b3be34 396 $RPM_BUILD_ROOT{%{_sbindir},%{_sysconfdir}/{vhosts,webapps}.d} \
d323480a 397 $RPM_BUILD_ROOT/etc/{logrotate.d,monit} \
599f35f0 398 $RPM_BUILD_ROOT{%{systemdunitdir},/etc/systemd/system}
f9e65082 399
32c47bd6 400cp -p conf/*_params $RPM_BUILD_ROOT%{_sysconfdir}
5ca9795d
ER
401cp -p conf/koi-utf $RPM_BUILD_ROOT%{_sysconfdir}/koi-utf
402cp -p conf/koi-win $RPM_BUILD_ROOT%{_sysconfdir}/koi-win
403cp -p conf/win-utf $RPM_BUILD_ROOT%{_sysconfdir}/win-utf
404cp -p html/index.html $RPM_BUILD_ROOT%{_nginxdir}/html
405cp -p html/50x.html $RPM_BUILD_ROOT%{_nginxdir}/errors
406cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_nginxdir}/html/favicon.ico
407cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/proxy.conf
408cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
409cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/mime.types
c9aa991c
ER
410
411install_build() {
412 local type=$1
413 %{__sed} -e 's/@type@/standard/g' %{_sourcedir}/%{name}.conf \
414 > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}-$type.conf
415
416 install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-$type
417 %{__sed} -i -e 's/@type@/standard/g' $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-$type
418
419 cp -p %{_sourcedir}/%{name}-$type.service $RPM_BUILD_ROOT%{systemdunitdir}
420 cp -p %{_sourcedir}/%{name}-$type.monitrc $RPM_BUILD_ROOT/etc/monit
421 install -p bin/%{name}-$type $RPM_BUILD_ROOT%{_sbindir}
422}
423
424install_build standard
599f35f0 425ln -sf %{systemdunitdir}/%{name}-standard.service $RPM_BUILD_ROOT/etc/systemd/system/nginx.service
85600569 426
427%if %{with light}
c9aa991c 428install_build light
85600569 429%endif
430
431%if %{with perl}
432install -d $RPM_BUILD_ROOT{%{perl_vendorarch},%{perl_vendorarch}/auto/%{name}}
c9aa991c 433install_build perl
2fb62cf2
ER
434cp -p bin/nginx.pm $RPM_BUILD_ROOT%{perl_vendorarch}/%{name}.pm
435install -p bin/nginx.so $RPM_BUILD_ROOT%{perl_vendorarch}/auto/%{name}/%{name}.so
436install -p bin/nginx-perl $RPM_BUILD_ROOT%{_sbindir}
85600569 437%endif
f9e65082 438
c9aa991c
ER
439%if %{with mail}
440install_build mail
441%endif
442
f9e65082
ER
443rm -f $RPM_BUILD_ROOT%{_sysconfdir}/*.default
444rm -rf $RPM_BUILD_ROOT%{_prefix}/html
445
32c47bd6
ER
446# only touch these for ghost packaging
447touch $RPM_BUILD_ROOT%{_sysconfdir}/{fastcgi,scgi,uwsgi}.params
448
f9e65082
ER
449%clean
450rm -rf $RPM_BUILD_ROOT
451
1a973791 452%pre common
a37373c3 453%groupadd -r -g 213 %{name}
362f5ab2 454%groupadd -g 51 http
a37373c3 455%useradd -r -u 213 -d /usr/share/empty -s /bin/false -c "Nginx HTTP User" -g %{name} %{name}
362f5ab2 456%addusertogroup %{name} http
f1fc9780 457
738166d2 458%post standard
459for a in access.log error.log; do
460 if [ ! -f /var/log/%{name}/nginx-standard_$a ]; then
98376457 461 umask 022
738166d2 462 touch /var/log/%{name}/nginx-standard_$a
1cf92547 463 chown nginx:nginx /var/log/%{name}/nginx-standard_$a
738166d2 464 chmod 644 /var/log/%{name}/nginx-standard_$a
465 fi
466done
3d760264 467/sbin/chkconfig --add %{name}-standard
d323480a 468%systemd_post %{name}-standard.service
27d3b195 469%service %{name}-standard force-reload
a20d2702 470echo 'NOTE: this nginx daemon is using "/etc/nginx/nginx-standard.conf" as config.'
599f35f0
JK
471if ! [ -L /etc/systemd/system/nginx.service ] ; then
472 ln -s %{systemdunitdir}/%{name}-standard.service /etc/systemd/system/nginx.service || :
473fi
738166d2 474
475%post light
476for a in access.log error.log; do
477 if [ ! -f /var/log/%{name}/nginx-light_$a ]; then
98376457 478 umask 022
738166d2 479 touch /var/log/%{name}/nginx-light_$a
480 chown nginx:nginx /var/log/%{name}/nginx-light_$a
481 chmod 644 /var/log/%{name}/nginx-light_$a
482 fi
483done
3d760264 484/sbin/chkconfig --add %{name}-light
d323480a 485%systemd_post %{name}-light.service
27d3b195 486%service %{name}-light force-reload
a20d2702 487echo 'NOTE: this nginx daemon is using "/etc/nginx/nginx-light.conf" as config'
738166d2 488
489%post perl
490for a in access.log error.log; do
491 if [ ! -f /var/log/%{name}/nginx-perl_$a ]; then
98376457 492 umask 022
738166d2 493 touch /var/log/%{name}/nginx-perl_$a
494 chown nginx:nginx /var/log/%{name}/nginx-perl_$a
495 chmod 644 /var/log/%{name}/nginx-perl_$a
496 fi
497done
3d760264 498/sbin/chkconfig --add %{name}-perl
d323480a 499%systemd_post %{name}-perl.service
27d3b195 500%service %{name}-perl force-reload
a20d2702 501echo 'NOTE: this nginx daemon is using "/etc/nginx/nginx-perl.conf" as config'
738166d2 502
503%post mail
362f5ab2 504for a in access.log error.log; do
738166d2 505 if [ ! -f /var/log/%{name}/nginx-mail_$a ]; then
98376457 506 umask 022
738166d2 507 touch /var/log/%{name}/nginx-mail_$a
508 chown nginx:nginx /var/log/%{name}/nginx-mail_$a
509 chmod 644 /var/log/%{name}/nginx-mail_$a
362f5ab2 510 fi
511done
3d760264 512/sbin/chkconfig --add %{name}-mail
d323480a 513%systemd_post %{name}-mail.service
27d3b195 514%service %{name}-mail force-reload
a20d2702 515echo 'NOTE: this nginx daemon is using "/etc/nginx/nginx-mail.conf" as config'
f9e65082 516
b0fa7cc6 517%preun standard
7d80c773 518if [ "$1" = "0" ];then
6eef4074 519 %service %{name}-standard stop
226bcc40 520 /sbin/chkconfig --del %{name}-standard
f9e65082 521fi
d323480a 522%systemd_preun %{name}-standard.service
f9e65082 523
0663f9da 524%preun light
525if [ "$1" = "0" ]; then
6eef4074 526 %service %{name}-light stop
226bcc40 527 /sbin/chkconfig --del %{name}-light
0663f9da 528fi
d323480a 529%systemd_preun %{name}-light.service
0663f9da 530
531%preun perl
532if [ "$1" = "0" ]; then
6eef4074 533 %service %{name}-perl stop
226bcc40 534 /sbin/chkconfig --del %{name}-perl
0663f9da 535fi
d323480a 536%systemd_preun %{name}-perl.service
0663f9da 537
538%preun mail
539if [ "$1" = "0" ]; then
6eef4074 540 %service %{name}-mail stop
226bcc40 541 /sbin/chkconfig --del %{name}-mail
0663f9da 542fi
d323480a 543%systemd_preun %{name}-mail.service
0663f9da 544
1a973791 545%postun common
f1fc9780 546if [ "$1" = "0" ]; then
7d9b86c7
ER
547 %userremove %{name}
548 %groupremove %{name}
f1fc9780 549fi
550
d323480a
JK
551%postun standard
552%systemd_reload
553
554%postun light
555%systemd_reload
556
557%postun perl
558%systemd_reload
559
560%postun mail
561%systemd_reload
562
563%triggerpostun -- %{name}-standard < 1.4.1-4
564%systemd_trigger %{name}-standard.service
565
566%triggerpostun -- %{name}-light < 1.4.1-4
567%systemd_trigger %{name}-light.service
568
569%triggerpostun -- %{name}-perl < 1.4.1-4
570%systemd_trigger %{name}-perl.service
571
572%triggerpostun -- %{name}-mail < 1.4.1-4
573%systemd_trigger %{name}-mail.service
574
32c47bd6
ER
575%triggerpostun common -- %{name}-common < 1.8.0-2
576# skip *this* trigger on downgrade
577[ $1 -le 1 ] && exit 0
578ln -sf fastcgi_params %{_sysconfdir}/fastcgi.params
579ln -sf scgi_params %{_sysconfdir}/scgi.params
580ln -sf uwsgi_params %{_sysconfdir}/uwsgi.params
581exit 0
582
1a973791 583%files common
f9e65082 584%defattr(644,root,root,755)
6f8318ed 585%doc CHANGES LICENSE README html/index.html conf/nginx.conf
f9e65082 586%doc %lang(ru) CHANGES.ru
f1fc9780 587%dir %attr(754,root,root) %{_sysconfdir}
164ab75d 588%dir %{_nginxdir}
589%dir %{_nginxdir}/cgi-bin
590%dir %{_nginxdir}/html
591%dir %{_nginxdir}/errors
28a25161 592%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
98376457 593# XXX: duplicates, don't use such glob here
57f21172 594#%attr(640,root,root) %{_sysconfdir}/*[_-]*
98376457 595%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/proxy.conf
32c47bd6
ER
596%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fastcgi_params
597%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scgi_params
598%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/uwsgi_params
599%ghost %{_sysconfdir}/fastcgi.params
600%ghost %{_sysconfdir}/scgi.params
601%ghost %{_sysconfdir}/uwsgi.params
f1fc9780 602%attr(640,root,root) %{_sysconfdir}/mime.types
57f21172 603%attr(640,root,root) %{_sysconfdir}/koi-utf
604%attr(640,root,root) %{_sysconfdir}/koi-win
605%attr(640,root,root) %{_sysconfdir}/win-utf
36b3be34
JK
606%dir %{_sysconfdir}/webapps.d
607%dir %{_sysconfdir}/vhosts.d
debe6eba
JR
608%attr(750,nginx,logs) %dir /var/log/archive/%{name}
609%attr(750,nginx,logs) /var/log/%{name}
475fecd1 610%config(noreplace,missingok) %verify(not md5 mtime size) %{_nginxdir}/html/*
cd728db7 611%config(noreplace,missingok) %verify(not md5 mtime size) %{_nginxdir}/errors/*
599f35f0 612%ghost /etc/systemd/system/nginx.service
28a25161 613
b0fa7cc6 614%files standard
615%defattr(644,root,root,755)
de0bfb9b 616%attr(755,root,root) %{_sbindir}/%{name}-standard
1846cd14 617%attr(770,root,%{name}) /var/cache/%{name}-standard
0da077af 618%attr(754,root,root) /etc/rc.d/init.d/%{name}-standard
4ddbebd7 619%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}-standard.conf
d323480a 620%{systemdunitdir}/%{name}-standard.service
b0fa7cc6 621
85600569 622%if %{with mail}
623%files mail
624%defattr(644,root,root,755)
4e61eac8 625%attr(755,root,root) %{_sbindir}/%{name}-mail
1846cd14 626%attr(770,root,%{name}) /var/cache/%{name}-mail
0da077af 627%attr(754,root,root) /etc/rc.d/init.d/%{name}-mail
4ddbebd7 628%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}-mail.conf
d323480a 629%{systemdunitdir}/%{name}-mail.service
85600569 630%endif
631
632%if %{with light}
633%files light
634%defattr(644,root,root,755)
4e61eac8 635%attr(755,root,root) %{_sbindir}/%{name}-light
1846cd14 636%attr(770,root,%{name}) /var/cache/%{name}-light
0da077af 637%attr(754,root,root) /etc/rc.d/init.d/%{name}-light
4ddbebd7 638%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}-light.conf
d323480a 639%{systemdunitdir}/%{name}-light.service
85600569 640%endif
641
642%if %{with perl}
643%files perl
644%defattr(644,root,root,755)
4e61eac8 645%attr(755,root,root) %{_sbindir}/%{name}-perl
0da077af 646%attr(754,root,root) /etc/rc.d/init.d/%{name}-perl
f7b57295 647%attr(770,root,%{name}) /var/cache/%{name}-perl
1846cd14 648%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}-perl.conf
85600569 649%dir %{perl_vendorarch}/auto/%{name}
650%attr(755,root,root) %{perl_vendorarch}/auto/%{name}/%{name}.so
98376457 651%{perl_vendorarch}/%{name}.pm
d323480a 652%{systemdunitdir}/%{name}-perl.service
dd7459ac 653%endif
654
655%files -n monit-rc-nginx
656%defattr(644,root,root,755)
657%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/monit/%{name}-standard.monitrc
658%if %{with perl}
1846cd14 659%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/monit/%{name}-perl.monitrc
85600569 660%endif
dd7459ac 661%if %{with light}
662%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/monit/%{name}-light.monitrc
663%endif
664%if %{with mail}
665%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/monit/%{name}-mail.monitrc
666%endif
This page took 0.998573 seconds and 4 git commands to generate.