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