Accepting request 137952 from home:ammler:branches:server:http

http://lists.opensuse.org/opensuse-packaging/2012-10/msg00021.html (there was unneeded buildrequires which failed SLE)

OBS-URL: https://build.opensuse.org/request/show/137952
OBS-URL: https://build.opensuse.org/package/show/server:http/nginx?expand=0&rev=1
This commit is contained in:
Marcel Gmür 2012-10-19 07:39:44 +00:00 committed by Git OBS Bridge
commit 05c75e143e
13 changed files with 1309 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,13 @@
Index: auto/cc/gcc
===================================================================
--- auto/cc/gcc.orig
+++ auto/cc/gcc
@@ -171,7 +171,7 @@
# stop on warning
-CFLAGS="$CFLAGS -Werror"
+CFLAGS="$CFLAGS"
# debug
CFLAGS="$CFLAGS -g"

12
nginx-0.6.38-html.patch Normal file
View File

@ -0,0 +1,12 @@
--- auto/install
+++ auto/install
@@ -146,8 +146,7 @@
test -d '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`' || \
mkdir -p '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`'
- test -d '\$(DESTDIR)$NGX_PREFIX/html' \
- || cp -R $NGX_HTML '\$(DESTDIR)$NGX_PREFIX'
+ test -d '\$(DESTDIR)/srv/www/htdocs' || install -d '\$(DESTDIR)/srv/www/' && cp -r docs/html '\$(DESTDIR)/srv/www/htdocs'
END

22
nginx-1.0.15_docs.patch Normal file
View File

@ -0,0 +1,22 @@
--- auto/install
+++ auto/install
@@ -147,7 +147,7 @@
test -d '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`' || \
mkdir -p '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`'
- test -d '\$(DESTDIR)/srv/www/htdocs' || install -d '\$(DESTDIR)/srv/www/' && cp -r docs/html '\$(DESTDIR)/srv/www/htdocs'
+ test -d '\$(DESTDIR)/srv/www/htdocs' || install -d '\$(DESTDIR)/srv/www/' && cp -r html '\$(DESTDIR)/srv/www/htdocs'
END
--- auto/install.orig
+++ auto/install.orig
@@ -147,7 +147,7 @@
test -d '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`' || \
mkdir -p '\$(DESTDIR)`dirname "$NGX_HTTP_LOG_PATH"`'
- test -d '\$(DESTDIR)/srv/www/htdocs' || install -d '\$(DESTDIR)/srv/www/' && cp -r docs/html '\$(DESTDIR)/srv/www/htdocs'
+ test -d '\$(DESTDIR)/srv/www/htdocs' || install -d '\$(DESTDIR)/srv/www/' && cp -r html '\$(DESTDIR)/srv/www/htdocs'
END

View File

@ -0,0 +1,87 @@
Index: conf/nginx.conf
===================================================================
--- conf/nginx.conf.orig
+++ conf/nginx.conf
@@ -1,16 +1,17 @@
-#user nobody;
+#user nginx;
worker_processes 1;
-#error_log logs/error.log;
-#error_log logs/error.log notice;
-#error_log logs/error.log info;
+#error_log /var/log/nginx/error.log;
+#error_log /var/log/nginx/error.log notice;
+#error_log /var/log/nginx/error.log info;
-#pid logs/nginx.pid;
+#pid /var/run/nginx.pid;
events {
worker_connections 1024;
+ use epoll;
}
@@ -22,7 +23,7 @@ http {
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
- #access_log logs/access.log main;
+ #access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
@@ -32,16 +33,18 @@ http {
#gzip on;
+ include conf.d/*.conf;
+
server {
listen 80;
server_name localhost;
#charset koi8-r;
- #access_log logs/host.access.log main;
+ #access_log /var/log/nginx/host.access.log main;
location / {
- root html;
+ root /srv/www/htdocs/;
index index.html index.htm;
}
@@ -51,7 +54,7 @@ http {
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
- root html;
+ root /srv/www/htdocs/;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
@@ -87,7 +90,7 @@ http {
# server_name somename alias another.alias;
# location / {
- # root html;
+ # root /srv/www/htdocs/;
# index index.html index.htm;
# }
#}
@@ -110,9 +113,10 @@ http {
# ssl_prefer_server_ciphers on;
# location / {
- # root html;
+ # root /srv/www/htdocs/;
# index index.html index.htm;
# }
#}
+ include vhosts.d/*.conf;
}

View File

@ -0,0 +1,13 @@
Index: auto/install
===================================================================
--- auto/install.orig
+++ auto/install
@@ -7,7 +7,7 @@
cat << END >> $NGX_MAKEFILE
install_perl_modules:
- cd $NGX_OBJS/src/http/modules/perl && \$(MAKE) install
+ cd $NGX_OBJS/src/http/modules/perl && \$(MAKE) install_vendor
END
NGX_INSTALL_PERL_MODULES=install_perl_modules

3
nginx-1.2.4.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c587c25f2fa9c9dde6a58cbaf7bf2c808ee360cfa3cdaf00a13a33f728d96c43
size 724309

546
nginx.changes Normal file
View File

@ -0,0 +1,546 @@
-------------------------------------------------------------------
Thu Oct 11 14:53:37 UTC 2012 - suse@ammler.ch
- remove version from package name
- update to 1.2.4
*) Bugfix: in the "limit_req" directive; the bug had appeared in 1.1.14.
Thanks to Charles Chen.
*) Bugfix: nginx could not be built by gcc 4.7 with -O2 optimization if
the --with-ipv6 option was used.
*) Bugfix: a segmentation fault might occur in a worker process if the
"map" directive was used with variables as values.
*) Bugfix: a segmentation fault might occur in a worker process if the
"geo" directive was used with the "ranges" parameter but without the
"default" parameter; the bug had appeared in 0.8.43.
Thanks to Zhen Chen and Weibin Yao.
*) Bugfix: in the -p command-line parameter handling.
*) Bugfix: in the mail proxy server.
*) Bugfix: of minor potential bugs.
Thanks to Coverity.
- Changes with nginx 1.2.3
*) Feature: the Clang compiler support.
*) Bugfix: extra listening sockets might be created.
Thanks to Roman Odaisky.
*) Bugfix: the "proxy_pass_header", "fastcgi_pass_header",
"scgi_pass_header", "uwsgi_pass_header", "proxy_hide_header",
"fastcgi_hide_header", "scgi_hide_header", and "uwsgi_hide_header"
directives might be inherited incorrectly.
*) Bugfix: trailing dot in a source value was not ignored if the "map"
directive was used with the "hostnames" parameter.
*) Bugfix: incorrect location might be used to process a request if a
URI was changed via a "rewrite" directive before an internal redirect
to a named location.
- update patch perl_vendor_install
-------------------------------------------------------------------
Sat Jul 21 02:41:34 UTC 2012 - crrodriguez@opensuse.org
- Update to version 1,2,2
- Enable only the epoll event model.
-------------------------------------------------------------------
Fri Jun 8 17:57:35 UTC 2012 - crrodriguez@opensuse.org
- Update to version 1.2.1; list too long to mention here
see http://nginx.org/en/CHANGES-1.2.
- Add systemd support.
-------------------------------------------------------------------
Tue Jun 5 07:33:42 UTC 2012 - lslezak@suse.cz
- added "BuildRequires: ruby" (needed for %rb_ver macro expansion),
fixes build at Factory
-------------------------------------------------------------------
Mon Apr 16 08:42:51 UTC 2012 - schubi@suse.com
- Update to version 1.0.15
Changes with nginx 1.0.15 12 Apr 2012
*) Security: specially crafted mp4 file might allow to overwrite memory
locations in a worker process if the ngx_http_mp4_module was used,
potentially resulting in arbitrary code execution (CVE-2012-2089).
Thanks to Matthew Daley.
*) Bugfix: in the ngx_http_mp4_module.
-------------------------------------------------------------------
Fri Mar 16 14:16:44 UTC 2012 - schubi@suse.com
- Update to Version 1.0.14
Changes with nginx 1.0.14 15 Mar 2012
*) Security: content of previously freed memory might be sent to a
client if backend returned specially crafted response.
Thanks to Matthew Daley.
-------------------------------------------------------------------
Tue Mar 13 09:49:05 UTC 2012 - schubi@suse.com
- Update to Version 1.0.13
Changes with nginx 1.0.13 05 Mar 2012
*) Feature: the "return" and "error_page" directives can now be used to
return 307 redirections.
*) Bugfix: a segmentation fault might occur in a worker process if the
"resolver" directive was used and there was no "error_log" directive
specified at global level.
Thanks to Roman Arutyunyan.
*) Bugfix: memory leaks.
Thanks to Lanshun Zhou.
*) Bugfix: nginx might log incorrect error "upstream prematurely closed
connection" instead of correct "upstream sent too big header" one.
Thanks to Feibo Li.
*) Bugfix: on ZFS filesystem disk cache size might be calculated
incorrectly; the bug had appeared in 1.0.1.
*) Bugfix: the number of internal redirects to named locations was not
limited.
*) Bugfix: temporary files might be not removed if the "proxy_store"
directive was used with SSI includes.
*) Bugfix: in some cases non-cacheable variables (such as the $args
variable) returned old empty cached value.
*) Bugfix: the "proxy_redirect" directives might be inherited
incorrectly.
*) Bugfix: nginx could not be built with the ngx_http_perl_module if the
--with-openssl option was used.
*) Bugfix: nginx could not be built by the icc 12.1 compiler.
Changes with nginx 1.0.12 06 Feb 2012
*) Feature: the "TLSv1.1" and "TLSv1.2" parameters of the
"ssl_protocols" directive.
*) Feature: the "if" SSI command supports captures in regular
expressions.
*) Bugfix: the "if" SSI command did not work inside the "block" command.
*) Bugfix: in AIO error handling on FreeBSD.
*) Bugfix: in the OpenSSL library initialization.
*) Bugfix: the "worker_cpu_affinity" directive might not work.
*) Bugfix: the "limit_conn_log_level" and "limit_req_log_level"
directives might not work.
*) Bugfix: the "read_ahead" directive might not work combined with
"try_files" and "open_file_cache".
*) Bugfix: the "proxy_cache_use_stale" directive with "error" parameter
did not return answer from cache if there were no live upstreams.
*) Bugfix: a segmentation fault might occur in a worker process if small
time was used in the "inactive" parameter of the "proxy_cache_path"
directive.
*) Bugfix: responses from cache might hang.
*) Bugfix: in error handling while connecting to a backend.
Thanks to Piotr Sikora.
*) Bugfix: in the "epoll" event method.
Thanks to Yichun Zhang.
*) Bugfix: the $sent_http_cache_control variable might contain a wrong
value if the "expires" directive was used.
Thanks to Yichun Zhang.
*) Bugfix: the "limit_rate" directive did not allow to use full
throughput, even if limit value was very high.
*) Bugfix: the "sendfile_max_chunk" directive did not work, if the
"limit_rate" directive was used.
*) Bugfix: nginx could not be built on Solaris; the bug had appeared in
1.0.11.
*) Bugfix: in the ngx_http_scgi_module.
*) Bugfix: in the ngx_http_mp4_module.
Changes with nginx 1.0.11 15 Dec 2011
*) Change: now double quotes are encoded in an "echo" SSI-command
output.
Thanks to Zaur Abasmirzoev.
*) Feature: the "image_filter_sharpen" directive.
*) Bugfix: a segmentation fault might occur in a worker process if SNI
was used; the bug had appeared in 1.0.9.
*) Bugfix: SIGWINCH signal did not work after first binary upgrade; the
bug had appeared in 1.0.9.
*) Bugfix: the "If-Modified-Since", "If-Range", etc. client request
header lines might be passed to backend while caching; or not passed
without caching if caching was enabled in another part of the
configuration.
*) Bugfix: in the "scgi_param" directive, if complex parameters were
used.
*) Bugfix: "add_header" and "expires" directives did not work if a
request was proxied and response status code was 206.
*) Bugfix: in the "expires @time" directive.
*) Bugfix: in the ngx_http_flv_module.
Thanks to Piotr Sikora.
*) Bugfix: in the ngx_http_mp4_module.
*) Bugfix: nginx could not be built on FreeBSD 10.
*) Bugfix: nginx could not be built on AIX.
-------------------------------------------------------------------
Fri Dec 2 14:48:35 UTC 2011 - schubi@suse.com
- 1.0.10 includes a fix for:
Fixed VUL-0: CVE-2011-4315: nginx: heap overflow (bnc #731084)
-------------------------------------------------------------------
Fri Nov 18 12:56:55 UTC 2011 - schubi@suse.com
- Uppstream update to 1.0.10
Changes with nginx 1.0.10
*) Bugfix: a segmentation fault might occur in a worker process if
resolver got a big DNS response.
Thanks to Ben Hawkes.
*) Bugfix: in cache key calculation if internal MD5 implementation was
used; the bug had appeared in 1.0.4.
*) Bugfix: the module ngx_http_mp4_module sent incorrect
"Content-Length" response header line if the "start" argument was
used.
Thanks to Piotr Sikora.
Changes with nginx 1.0.9
*) Change: now the 0x7F-0x1F characters are escaped as \xXX in an
access_log.
*) Change: now SIGWINCH signal works only in daemon mode.
*) Feature: "proxy/fastcgi/scgi/uwsgi_ignore_headers" directives support
the following additional values: X-Accel-Limit-Rate,
X-Accel-Buffering, X-Accel-Charset.
*) Feature: decrease of memory consumption if SSL is used.
*) Feature: accept filters are now supported on NetBSD.
*) Feature: the "uwsgi_buffering" and "scgi_buffering" directives.
Thanks to Peter Smit.
*) Bugfix: a segmentation fault occurred on start or while
reconfiguration if the "ssl" directive was used at http level and
there was no "ssl_certificate" defined.
*) Bugfix: some UTF-8 characters were processed incorrectly.
Thanks to Alexey Kuts.
*) Bugfix: the ngx_http_rewrite_module directives specified at "server"
level were executed twice if no matching locations were defined.
*) Bugfix: a socket leak might occurred if "aio sendfile" was used.
*) Bugfix: connections with fast clients might be closed after
send_timeout if file AIO was used.
*) Bugfix: in the ngx_http_autoindex_module.
*) Bugfix: the module ngx_http_mp4_module did not support seeking on
32-bit platforms.
*) Bugfix: non-cacheable responses might be cached if
"proxy_cache_bypass" directive was used.
Thanks to John Ferlito.
*) Bugfix: cached responses with an empty body were returned
incorrectly; the bug had appeared in 0.8.31.
*) Bugfix: 201 responses of the ngx_http_dav_module were incorrect; the
bug had appeared in 0.8.32.
*) Bugfix: in the "return" directive.
*) Bugfix: the "ssl_verify_client", "ssl_verify_depth", and
"ssl_prefer_server_ciphers" directives might work incorrectly if SNI
was used.
Changes with nginx 1.0.8
*) Bugfix: nginx could not be built --with-http_mp4_module and without
--with-debug option.
Changes with nginx 1.0.7
*) Change: now if total size of all ranges is greater than source
response size, then nginx disables ranges and returns just the source
response.
*) Feature: the "max_ranges" directive.
*) Feature: the module ngx_http_mp4_module.
*) Feature: the "worker_aio_requests" directive.
*) Bugfix: if nginx was built --with-file-aio it could not be run on
Linux kernel which did not support AIO.
*) Bugfix: in Linux AIO error processing.
Thanks to Hagai Avrahami.
*) Bugfix: in Linux AIO combined with open_file_cache.
*) Bugfix: open_file_cache did not update file info on retest if file
was not atomically changed.
*) Bugfix: reduced memory consumption for long-lived requests.
*) Bugfix: in the "proxy/fastcgi/scgi/uwsgi_ignore_client_abort"
directives.
*) Bugfix: nginx could not be built on MacOSX 10.7.
*) Bugfix: request body might be processed incorrectly if client used
pipelining.
*) Bugfix: in the "request_body_in_single_buf" directive.
*) Bugfix: in "proxy_set_body" and "proxy_pass_request_body" directives
if SSL connection to backend was used.
*) Bugfix: nginx hogged CPU if all servers in an upstream were marked as
"down".
*) Bugfix: a segmentation fault might occur during reconfiguration if
ssl_session_cache was defined but not used in previous configuration.
*) Bugfix: a segmentation fault might occur in a worker process if many
backup servers were used in an upstream.
Changes with nginx 1.0.6
*) Feature: cache loader run time decrease.
*) Feature: loading time decrease of configuration with large number of
HTTPS sites.
*) Feature: now nginx supports ECDHE key exchange ciphers.
Thanks to Adrian Kotelba.
*) Feature: the "lingering_close" directive.
*) Feature: now shared zones and caches use POSIX semaphores on Solaris.
Thanks to Den Ivanov.
*) Bugfix: nginx could not be built on Linux 3.0.
*) Bugfix: a segmentation fault might occur in a worker process if
"fastcgi/scgi/uwsgi_param" directives were used with values starting
with "HTTP_"; the bug had appeared in 0.8.40.
*) Bugfix: in closing connection for pipelined requests.
*) Bugfix: nginx did not disable gzipping if client sent "gzip;q=0" in
"Accept-Encoding" request header line.
*) Bugfix: in timeout in unbuffered proxied mode.
*) Bugfix: memory leaks when a "proxy_pass" directive contains variables
and proxies to an HTTPS backend.
*) Bugfix: in parameter validaiton of a "proxy_pass" directive with
variables.
Thanks to Lanshun Zhou.
*) Bugfix: SSL did not work on QNX.
*) Bugfix: SSL modules could not be built by gcc 4.6 without
--with-debug option.
-------------------------------------------------------------------
Mon Oct 24 11:59:37 UTC 2011 - schubi@suse.com
- Reduce requirement of rubygem-rack to 1_1 cause 1_3 produces
errors.
-------------------------------------------------------------------
Tue Aug 16 15:23:23 UTC 2011 - ammler@openttdcoop.org
- upstream update 1.0.5
* Change: now default SSL ciphers are "HIGH:!aNULL:!MD5".
* Feature: the "referer_hash_max_size" and "referer_hash_bucket_size"
directives.
* Feature: $uid_reset variable.
* Bugfix: a segmentation fault might occur in a worker process, if a
caching was used.
* Bugfix: worker processes may got caught in an endless loop during
reconfiguration, if a caching was used; the bug had appeared in
0.8.48.
* Bugfix: "stalled cache updating" alert.
- add logrotate
* add reopen killsiganl -USR1 to init script
* logrotate conf
- Backport r4003: Configure: catch up with new Linux version numbering
-------------------------------------------------------------------
Fri Jun 24 10:40:30 UTC 2011 - jreidinger@novell.com
- fix init script to write use its pid file to allow separate nginx
server run independent (bnc#702005)
-------------------------------------------------------------------
Thu Jun 9 12:02:59 UTC 2011 - ammler@openttdcoop.org
- upstream update 1.0.4
* Change: now regular expressions case sensitivity in the "map"
directive is given by prefixes "~" or "~*".
* Feature: now shared zones and caches use POSIX semaphores on
Linux. Thanks to Denis F. Latypoff.
* Bugfix: "stalled" cache updating" alert.
* Bugfix: nginx could not be built
--without-http_auth_basic_module; the bug had appeared in
1.0.3.
- additional changes from 1.0.3
- Feature: the "auth_basic_user_file" directive supports "$apr1",
"{PLAIN}", and "{SSHA}" password encryption methods. Thanks to
Maxim Dounin.
- Feature: the "geoip_org" directive and $geoip_org variable.
Thanks to Alexander Uskov, Arnaud Granal, and Denis F.
Latypoff.
- Feature: ngx_http_geo_module and ngx_http_geoip_module support
IPv4 addresses mapped to IPv6 addresses.
- Bugfix: a segmentation fault occurred in a worker process
during testing IPv4 address mapped to IPv6 address, if access
or deny rules were defined only for IPv6; the bug had appeared
in 0.8.22.
- Bugfix: a cached response may be broken if proxy/fastcgi/scgi/
uwsgi_cache_bypass and proxy/fastcgi/scgi/uwsgi_no_cache
directive values were different; the bug had appeared in
0.8.46.
- additional changes from 1.0.2
- Feature: now shared zones and caches use POSIX semaphores.
- Bugfix: in the "rotate" parameter of the "image_filter"
directive. Thanks to Adam Bocim.
- Bugfix: nginx could not be built on Solaris; the bug had
appeared in 1.0.1.
- additional changes from 1.0.1
- Change: now the "split_clients" directive uses MurmurHash2
algorithm because of better distribution. Thanks to Oleg
Mamontov.
- Change: now long strings starting with zero are not considered
as false values. Thanks to Maxim Dounin.
- Change: now nginx uses a default listen backlog value 511 on
Linux.
- Feature: the $upstream_... variables may be used in the SSI and
perl modules.
- Bugfix: now nginx limits better disk cache size. Thanks to
Oleg Mamontov.
- Bugfix: a segmentation fault might occur while parsing
incorrect IPv4 address; the bug had appeared in 0.9.3. Thanks
to Maxim Dounin.
- Bugfix: nginx could not be built by gcc 4.6 without
--with-debug option.
- Bugfix: nginx could not be built on Solaris 9 and earlier; the
bug had appeared in 0.9.3. Thanks to Dagobert Michelsen.
- Bugfix: $request_time variable had invalid values if
subrequests were used; the bug had appeared in 0.8.47. Thanks
to Igor A. Valcov.
- new config directories included in context http:
conf.d/*.conf on top before first server
vhosts.d/*.conf on bottom (for servers)
-------------------------------------------------------------------
Thu May 26 10:20:30 UTC 2011 - mrueckert@suse.de
- more accurate license header: BSD-2-Clause
-------------------------------------------------------------------
Thu Apr 14 12:17:01 UTC 2011 - mrueckert@suse.de
- move the libatomic usage to sle11/11.1 or newer
-------------------------------------------------------------------
Thu Apr 14 10:59:36 UTC 2011 - mrueckert@suse.de
- remove /srv/www/htdocs/index.html (bnc#670031).
-------------------------------------------------------------------
Thu Apr 14 10:34:52 UTC 2011 - mrueckert@suse.de
- build with libatomic_ops
-------------------------------------------------------------------
Thu Apr 14 10:28:37 UTC 2011 - mrueckert@suse.de
- minor spec file cleanup
- use perl instead of dos2unix
- remove commented out patches from the preamble
- fix ordering in preamble
-------------------------------------------------------------------
Wed Apr 13 23:50:04 UTC 2011 - alexandre@exatati.com.br
- Add epoll in default events config as recommended in
http://www.kegel.com/c10k.html#nb.epoll.
-------------------------------------------------------------------
Tue Apr 12 18:42:32 UTC 2011 - mrueckert@suse.de
- enable building of the passenger extension
-------------------------------------------------------------------
Tue Apr 12 16:10:00 UTC 2011 - mrueckert@suse.de
- added more directives to the configure line
- specify tmp path for scgi/uwsgi
- enabled more modules
- geoip lookup
- http_degradation
- mail ssl support
- added build time options to build the profiling/testing stuff
- see with_google_perftools and with_cpp_test
-------------------------------------------------------------------
Tue Apr 12 15:16:54 UTC 2011 - mrueckert@suse.de
- start 1.0 branch package

284
nginx.init Normal file
View File

@ -0,0 +1,284 @@
#!/bin/sh
#
# Copyright (C) 1995--2007 Marcus Rückert, SUSE / Novell Inc.
#
# This library is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or (at
# your option) any later version.
#
# This library is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307,
# USA.
#
# /etc/init.d/nginx
# and its symbolic link
# /(usr/)sbin/rcnginx
#
# Template system startup script for some example service/daemon nginx
#
# LSB compatible service control script; see http://www.linuxbase.org/spec/
#
# Note: This template uses functions rc_XXX defined in /etc/rc.status on
# UnitedLinux/SUSE/Novell based Linux distributions. If you want to base your
# script on this template and ensure that it works on non UL based LSB
# compliant Linux distributions, you either have to provide the rc.status
# functions from UL or change the script to work without them.
# See skeleton.compat for a template that works with other distros as well.
#
### BEGIN INIT INFO
# Provides: nginx
# Required-Start: $syslog $remote_fs
# Should-Start: $time ypbind sendmail
# Required-Stop: $syslog $remote_fs
# Should-Stop: $time ypbind sendmail
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: nginx
# Description: nginx
### END INIT INFO
#
# Any extensions to the keywords given above should be preceeded by
# X-VendorTag- (X-UnitedLinux- X-SuSE- for us) according to LSB.
#
# Notes on Required-Start/Should-Start:
# * There are two different issues that are solved by Required-Start
# and Should-Start
# (a) Hard dependencies: This is used by the runlevel editor to determine
# which services absolutely need to be started to make the start of
# this service make sense. Example: nfsserver should have
# Required-Start: $portmap
# Also, required services are started before the dependent ones.
# The runlevel editor will warn about such missing hard dependencies
# and suggest enabling. During system startup, you may expect an error,
# if the dependency is not fulfilled.
# (b) Specifying the init script ordering, not real (hard) dependencies.
# This is needed by insserv to determine which service should be
# started first (and at a later stage what services can be started
# in parallel). The tag Should-Start: is used for this.
# It tells, that if a service is available, it should be started
# before. If not, never mind.
# * When specifying hard dependencies or ordering requirements, you can
# use names of services (contents of their Provides: section)
# or pseudo names starting with a $. The following ones are available
# according to LSB (1.1):
# $local_fs all local file systems are mounted
# (most services should need this!)
# $remote_fs all remote file systems are mounted
# (note that /usr may be remote, so
# many services should Require this!)
# $syslog system logging facility up
# $network low level networking (eth card, ...)
# $named hostname resolution available
# $netdaemons all network daemons are running
# The $netdaemons pseudo service has been removed in LSB 1.2.
# For now, we still offer it for backward compatibility.
# These are new (LSB 1.2):
# $time the system time has been set correctly
# $portmap SunRPC portmapping service available
# UnitedLinux extensions:
# $ALL indicates that a script should be inserted
# at the end
# * The services specified in the stop tags
# (Required-Stop/Should-Stop)
# specify which services need to be still running when this service
# is shut down. Often the entries there are just copies or a subset
# from the respective start tag.
# * Should-Start/Stop are now part of LSB as of 2.0,
# formerly SUSE/Unitedlinux used X-UnitedLinux-Should-Start/-Stop.
# insserv does support both variants.
# * X-UnitedLinux-Default-Enabled: yes/no is used at installation time
# (%fillup_and_insserv macro in %post of many RPMs) to specify whether
# a startup script should default to be enabled after installation.
# It's not used by insserv.
#
# Note on runlevels:
# 0 - halt/poweroff 6 - reboot
# 1 - single user 2 - multiuser without network exported
# 3 - multiuser w/ network (text mode) 5 - multiuser w/ network and X11 (xdm)
#
# Note on script names:
# http://www.linuxbase.org/spec/refspecs/LSB_1.3.0/gLSB/gLSB/scrptnames.html
# A registry has been set up to manage the init script namespace.
# http://www.lanana.org/
# Please use the names already registered or register one or use a
# vendor prefix.
# Check for missing binaries (stale symlinks should not happen)
# Note: Special treatment of stop for LSB conformance
NGINX_BIN=/usr/sbin/nginx
test -x $NGINX_BIN || { echo "$NGINX_BIN not installed";
if [ "$1" = "stop" ]; then exit 0;
else exit 5; fi; }
NGINX_PID=/var/run/nginx.pid
# Check for existence of needed config file and read it
#NGINX_CONFIG=/etc/sysconfig/nginx
#test -r $NGINX_CONFIG || { echo "$NGINX_CONFIG not existing";
# if [ "$1" = "stop" ]; then exit 0;
# else exit 6; fi; }
#
# Read config
#. $NGINX_CONFIG
# Source LSB init functions
# providing start_daemon, killproc, pidofproc,
# log_success_msg, log_failure_msg and log_warning_msg.
# This is currently not used by UnitedLinux based distributions and
# not needed for init scripts for UnitedLinux only. If it is used,
# the functions from rc.status should not be sourced or used.
#. /lib/lsb/init-functions
# Shell functions sourced from /etc/rc.status:
# rc_check check and set local and overall rc status
# rc_status check and set local and overall rc status
# rc_status -v be verbose in local rc status and clear it afterwards
# rc_status -v -r ditto and clear both the local and overall rc status
# rc_status -s display "skipped" and exit with status 3
# rc_status -u display "unused" and exit with status 3
# rc_failed set local and overall rc status to failed
# rc_failed <num> set local and overall rc status to <num>
# rc_reset clear both the local and overall rc status
# rc_exit exit appropriate to overall rc status
# rc_active checks whether a service is activated by symlinks
. /etc/rc.status
# Reset status of this service
rc_reset
# Return values acc. to LSB for all commands but status:
# 0 - success
# 1 - generic or unspecified error
# 2 - invalid or excess argument(s)
# 3 - unimplemented feature (e.g. "reload")
# 4 - user had insufficient privileges
# 5 - program is not installed
# 6 - program is not configured
# 7 - program is not running
# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl)
#
# Note that starting an already running service, stopping
# or restarting a not-running service as well as the restart
# with force-reload (in case signaling is not supported) are
# considered a success.
case "$1" in
start)
echo -n "Starting nginx "
## Start daemon with startproc(8). If this fails
## the return value is set appropriately by startproc.
/sbin/startproc -p $NGINX_PID $NGINX_BIN
# Remember status and be verbose
rc_status -v
;;
stop)
echo -n "Shutting down nginx "
## Stop daemon with killproc(8) and if this fails
## killproc sets the return value according to LSB.
/sbin/killproc -p $NGINX_PID -TERM $NGINX_BIN
# Remember status and be verbose
rc_status -v
;;
try-restart|condrestart)
## Do a restart only if the service was active before.
## Note: try-restart is now part of LSB (as of 1.9).
## RH has a similar command named condrestart.
if test "$1" = "condrestart"; then
echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
fi
$0 status
if test $? = 0; then
$0 restart
else
rc_reset # Not running is not a failure.
fi
# Remember status and be quiet
rc_status
;;
restart)
## Stop the service and regardless of whether it was
## running or not, start it again.
$0 stop
$0 start
# Remember status and be quiet
rc_status
;;
force-reload)
## Signal the daemon to reload its config. Most daemons
## do this on signal 1 (SIGHUP).
## If it does not support it, restart the service if it
## is running.
echo -n "Reload service nginx "
## if it supports it:
/sbin/killproc -p $NGINX_PID -HUP $NGINX_BIN
#touch /var/run/nginx.pid
rc_status -v
## Otherwise:
#$0 try-restart
#rc_status
;;
reload)
## Like force-reload, but if daemon does not support
## signaling, do nothing (!)
# If it supports signaling:
echo -n "Reload service nginx "
/sbin/killproc -p $NGINX_PID -HUP $NGINX_BIN
#touch /var/run/nginx.pid
rc_status -v
## Otherwise if it does not support reload:
#rc_failed 3
#rc_status -v
;;
reopen)
echo -n "Reopen the logfiles "
/sbin/killproc -p $NGINX_PID -USR1 $NGINX_BIN
rc_status -v
;;
status)
echo -n "Checking for service nginx "
## Check status with checkproc(8), if process is running
## checkproc will return with exit status 0.
# Return value is slightly different for the status command:
# 0 - service up and running
# 1 - service dead, but /var/run/ pid file exists
# 2 - service dead, but /var/lock/ lock file exists
# 3 - service not running (unused)
# 4 - service status unknown :-(
# 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.)
# NOTE: checkproc returns LSB compliant status values.
/sbin/checkproc -p $NGINX_PID $NGINX_BIN
# NOTE: rc_status knows that we called this init script with
# "status" option and adapts its messages accordingly.
rc_status -v
;;
probe)
## Optional: Probe for the necessity of a reload, print out the
## argument to this init script which is required for a reload.
## Note: probe is not (yet) part of LSB (as of 1.9)
test /etc/nginx/nginx.conf -nt /var/run/nginx.pid && echo reload
;;
*)
echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
exit 1
;;
esac
rc_exit

14
nginx.logrotate Normal file
View File

@ -0,0 +1,14 @@
/var/log/nginx/*.log {
compress
dateext
maxage 365
rotate 99
size=+4096k
missingok
notifempty
create 644 root root
postrotate
/etc/init.d/nginx reopen
endscript
}

14
nginx.service Normal file
View File

@ -0,0 +1,14 @@
[Unit]
Description=The nginx HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
[Install]
WantedBy=multi-user.target

277
nginx.spec Normal file
View File

@ -0,0 +1,277 @@
#
# spec file for package nginx-1.0
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: nginx
Version: 1.2.4
Release: 0
#
%define pkg_name nginx
#
%define ngx_prefix %{_prefix}
%define ngx_sbindir %{_sbindir}/nginx
%define ngx_conf_dir %{_sysconfdir}/nginx
%define ngx_conf_path %{ngx_conf_dir}/nginx.conf
%define ngx_log_dir /var/log/nginx
%define ngx_error_log %{ngx_log_dir}/error.log
%define ngx_access_log %{ngx_log_dir}/access.log
%define ngx_pid_path /var/run/nginx.pid
%define ngx_lock_path /var/run/nginx.lock
%define ngx_home /var/lib/nginx
%define ngx_tmp_http %{ngx_home}/tmp/
%define ngx_tmp_proxy %{ngx_home}/proxy/
%define ngx_tmp_fcgi %{ngx_home}/fastcgi/
%define ngx_tmp_scgi %{ngx_home}/scgi/
%define ngx_tmp_uwsgi %{ngx_home}/uwsgi/
%define ngx_user_group nginx
%define with_cpp_test 0
%define with_google_perftools 0
%if 0%{?suse_version} >= 1110
%define with_passenger 0
%define with_libatomic 1
%endif
#
Group: Productivity/Networking/Web/Proxy
License: BSD-2-Clause
#
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?with_cpp_test}
BuildRequires: gcc-c++
%endif
BuildRequires: gd-devel
BuildRequires: GeoIP-devel
%if 0%{?with_google_perftools}
BuildRequires: google-perftools-devel
%endif
%if 0%{?with_libatomic}
BuildRequires: libatomic-ops-devel
%endif
BuildRequires: libxslt-devel
BuildRequires: openssl-devel
BuildRequires: pcre-devel
BuildRequires: pkgconfig
BuildRequires: zlib-devel
%if 0%{?with_passenger}
BuildRequires: ruby
BuildRequires: rubygem-passenger-devel-static
# workaround for obs scheduler:
BuildRequires: rubygem-rack-1_1
Recommends: packageand(rubygem-passenger:rubygem-passenger-nginx)
%endif
%if 0%{?suse_version} >= 1210
BuildRequires: systemd
%{?systemd_requires}
%define has_systemd 1
%endif
PreReq: %fillup_prereq
PreReq: %insserv_prereq
PreReq: pwdutils
Provides: nginx = %{version}
#
Conflicts: nginx-0.5 nginx-0.6 nginx-0.7 nginx-0.8 nginx-0.9 nginx-1.0 nginx-1.2 nginx-1.3 nginx-dev
%requires_eq perl
#
Url: http://nginx.net/
Source: http://www.nginx.org/download/nginx-%{version}.tar.gz
Source1: nginx.init
Source2: nginx.logrotate
Source3: nginx.service
# PATCH-FIX-UPSTREAM nginx-0.4.0-no_Werror.patch
Patch: nginx-0.4.0-no_Werror.patch
# PATCH-FIX-UPSTREAM nginx-0.6.38-html.patch
Patch2: nginx-0.6.38-html.patch
# PATCH-FIX-UPSTREAM nginx-1.2.4-perl_vendor_install.patch
Patch3: nginx-1.2.4-perl_vendor_install.patch
# PATCH-FIX-UPSTREAM nginx-1.0.4_default_config.patch
Patch4: nginx-1.0.4_default_config.patch
# PATCH for fixing docs/html path
Patch5: nginx-1.0.15_docs.patch
Summary: A HTTP server and IMAP/POP3 proxy server
%description
nginx [engine x] is a HTTP server and IMAP/POP3 proxy server written by Igor Sysoev.
It has been running on many heavily loaded Russian sites for more than two years.
Author:
-------
Igor Sysoev
%prep
%setup -n %{pkg_name}-%{version}
%patch
%patch2
%patch3
%patch4
%patch5
perl -pi -e 's|\r\n|\n|g' contrib/geo2nginx.pl
%build
%if 0%{?with_passenger}
ln -s %{_libdir}/ruby/gems/%{rb_ver}/gems/passenger-* passenger
%endif
./configure \
--prefix=%{ngx_prefix}/ \
--sbin-path=%{ngx_sbindir} \
--conf-path=%{ngx_conf_path} \
--error-log-path=%{ngx_error_log} \
--http-log-path=%{ngx_access_log} \
--pid-path=%{ngx_pid_path} \
--lock-path=%{ngx_lock_path} \
--http-client-body-temp-path=%{ngx_tmp_http} \
--http-proxy-temp-path=%{ngx_tmp_proxy} \
--http-fastcgi-temp-path=%{ngx_tmp_fcgi} \
--http-uwsgi-temp-path=%{ngx_tmp_uwsgi} \
--http-scgi-temp-path=%{ngx_tmp_scgi} \
--user=nginx --group=nginx \
--without-select_module \
--without-poll_module \
--with-ipv6 \
%if 0%{?suse_version} > 1110
--with-file-aio \
%endif
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_xslt_module \
--with-http_image_filter_module \
--with-http_geoip_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_degradation_module \
--with-http_stub_status_module \
--with-http_perl_module \
--with-perl=%{_bindir}/perl \
--with-mail \
--with-mail_ssl_module \
--with-pcre \
%if 0%{?with_libatomic}
--with-libatomic \
%endif
%if 0%{?with_passenger}
--add-module=passenger/ext/nginx \
%endif
%if 0%{?with_google_perftools}
--with-google_perftools_module \
%endif
%if 0%{?with_cpp_test}
--with-cpp_test_module \
%endif
--with-md5=/usr \
--with-sha1=/usr \
%if 0%{?suse_version} > 1000 || 0%{?fedora_version} > 4 || 0%{?mandriva_version} > 2006
--with-cc-opt="%{optflags} -D_GNU_SOURCE -std=gnu99 -fstack-protector"
%else
--with-cc-opt="%{optflags}"
%endif
%{__make}
%install
%makeinstall
%perl_process_packlist
#
%{__install} -d -m 0750 %{buildroot}%{ngx_home}/{,tmp,proxy,fastcgi,scgi,uwsgi}
#
%{__install} -D -m 0755 %{S:1} %{buildroot}%{_sysconfdir}/init.d/%{pkg_name}
%{__ln_s} -f %{_sysconfdir}/init.d/%{pkg_name} %{buildroot}%{_sbindir}/rc%{pkg_name}
%{__install} -D -m 0644 %{S:2} %{buildroot}%{_sysconfdir}/logrotate.d/%{pkg_name}
%if 0%{?has_systemd}
%{__install} -D -m 0644 %{S:3} %{buildroot}%{_unitdir}/nginx.service
%endif
%{__rm} %{buildroot}/srv/www/htdocs/index.html
%post
%fillup_and_insserv %{pkg_name}
%if 0%{?has_systemd}
%service_add_post nginx.service
%endif
%preun
%stop_on_removal %{pkg_name}
%if 0%{?has_systemd}
%service_del_preun nginx.service
%endif
%postun
%restart_on_update %{pkg_name}
%{insserv_cleanup}
%if 0%{?has_systemd}
%service_del_postun nginx.service
%endif
%clean
%{__rm} -rf %{buildroot}
%pre
/usr/sbin/groupadd -r %{ngx_user_group} &>/dev/null ||:
/usr/sbin/useradd -g %{ngx_user_group} -s /bin/false -r -c "user for %{ngx_user_group}" -d %{ngx_home} %{ngx_user_group} &>/dev/null ||:
%if 0%{?has_systemd}
%service_add_pre nginx.service
%endif
%files
%defattr(-,root,root,-)
%dir %{ngx_conf_dir}/
%config(noreplace) %{ngx_conf_dir}/koi-utf
%config(noreplace) %{ngx_conf_dir}/koi-win
%config(noreplace) %{ngx_conf_dir}/fastcgi_params
%config(noreplace) %{ngx_conf_dir}/fastcgi_params.default
%config(noreplace) %{ngx_conf_dir}/mime.types
%config(noreplace) %{ngx_conf_dir}/mime.types.default
%config(noreplace) %{ngx_conf_dir}/nginx.conf
%config(noreplace) %{ngx_conf_dir}/nginx.conf.default
%config(noreplace) %{ngx_conf_dir}/fastcgi.conf
%config(noreplace) %{ngx_conf_dir}/fastcgi.conf.default
%config(noreplace) %{ngx_conf_dir}/win-utf
%config(noreplace) %{ngx_conf_dir}/scgi_params
%config(noreplace) %{ngx_conf_dir}/scgi_params.default
%config(noreplace) %{ngx_conf_dir}/uwsgi_params
%config(noreplace) %{ngx_conf_dir}/uwsgi_params.default
%{perl_vendorarch}/auto/nginx/
%{perl_vendorarch}/nginx.pm
%{ngx_sbindir}
%{_mandir}/man3/nginx.3pm*
/srv/www/htdocs/50x.html
%if 0%{?suse_version} && 0%{?suse_version} < 1140
%{_localstatedir}/adm/perl-modules/%{name}
%endif
%{_sysconfdir}/init.d/%{pkg_name}
%{_sbindir}/rc%{pkg_name}
%config(noreplace) %{_sysconfdir}/logrotate.d/%{pkg_name}
%dir %attr(750,%{ngx_user_group},%{ngx_user_group}) /var/log/nginx/
%dir %attr(750,%{ngx_user_group},%{ngx_user_group}) %{ngx_home}/
%dir %attr(750,%{ngx_user_group},%{ngx_user_group}) %{ngx_tmp_http}
%dir %attr(750,%{ngx_user_group},%{ngx_user_group}) %{ngx_tmp_proxy}
%dir %attr(750,%{ngx_user_group},%{ngx_user_group}) %{ngx_tmp_fcgi}
%dir %attr(750,%{ngx_user_group},%{ngx_user_group}) %{ngx_tmp_scgi}
%dir %attr(750,%{ngx_user_group},%{ngx_user_group}) %{ngx_tmp_uwsgi}
%doc CHANGES*
%doc conf/ contrib/
%if 0%{?has_systemd}
%{_unitdir}/nginx.service
%endif
%changelog