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