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