diff options
author | Tiziano Müller <dev-zero@gentoo.org> | 2014-04-15 06:11:59 +0000 |
---|---|---|
committer | Tiziano Müller <dev-zero@gentoo.org> | 2014-04-15 06:11:59 +0000 |
commit | fb032083b0f607be15c1a257d86a0a08cffa6374 (patch) | |
tree | f40c1c3f01ba86c3f03e8e0f3d73ac2a57d670c2 /www-servers | |
parent | Add USE flag descriptions for nginx_modules_http_{ajp,sticky}. (diff) | |
download | gentoo-2-fb032083b0f607be15c1a257d86a0a08cffa6374.tar.gz gentoo-2-fb032083b0f607be15c1a257d86a0a08cffa6374.tar.bz2 gentoo-2-fb032083b0f607be15c1a257d86a0a08cffa6374.zip |
Version bump for mainline (1.5.13, bug #503414), drop syslog-patch (no version available for nginx-1.5) and old push-module (use push_stream instead) and add ajp, sticky modules. Drop old/vulnerable mainline versions. Add rev-bump for stable series (1.4.7-r1) to fix compilation problems with USE=nginx_modules_http_security (bugs #506690, #506804). Thanks to jbergstroem for providing the initial bump including the new modules, a lot of testing and ass-kicking.
(Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key 0x1A5D023975B0583D!)
Diffstat (limited to 'www-servers')
-rw-r--r-- | www-servers/nginx/ChangeLog | 16 | ||||
-rw-r--r-- | www-servers/nginx/files/upstream-check-1.5.13.patch | 200 | ||||
-rw-r--r-- | www-servers/nginx/nginx-1.4.7-r1.ebuild (renamed from www-servers/nginx/nginx-1.5.7-r1.ebuild) | 95 | ||||
-rw-r--r-- | www-servers/nginx/nginx-1.5.13.ebuild (renamed from www-servers/nginx/nginx-1.5.10.ebuild) | 79 |
4 files changed, 342 insertions, 48 deletions
diff --git a/www-servers/nginx/ChangeLog b/www-servers/nginx/ChangeLog index 1c75d8fa8bfc..684c8527de1b 100644 --- a/www-servers/nginx/ChangeLog +++ b/www-servers/nginx/ChangeLog @@ -1,6 +1,20 @@ # ChangeLog for www-servers/nginx # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/ChangeLog,v 1.379 2014/03/29 06:07:29 ago Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/ChangeLog,v 1.380 2014/04/15 06:11:59 dev-zero Exp $ + +*nginx-1.5.13 (15 Apr 2014) +*nginx-1.4.7-r1 (15 Apr 2014) + + 15 Apr 2014; Tiziano Müller <dev-zero@gentoo.org> + +files/upstream-check-1.5.13.patch, +nginx-1.4.7-r1.ebuild, + +nginx-1.5.13.ebuild, -nginx-1.5.10.ebuild, -nginx-1.5.7-r1.ebuild: + Version bump for mainline (1.5.13, bug #503414), drop syslog-patch (no version + available for nginx-1.5) and old push-module (use push_stream instead) and add + ajp, sticky modules. Drop old/vulnerable mainline versions. Add rev-bump for + stable series (1.4.7-r1) to fix compilation problems with + USE=nginx_modules_http_security (bugs #506690, #506804). Thanks to jbergstroem + for providing the initial bump including the new modules, a lot of testing and + ass-kicking. 29 Mar 2014; Agostino Sarubbo <ago@gentoo.org> -nginx-1.4.4.ebuild: Remove old diff --git a/www-servers/nginx/files/upstream-check-1.5.13.patch b/www-servers/nginx/files/upstream-check-1.5.13.patch new file mode 100644 index 000000000000..288f5ebbf889 --- /dev/null +++ b/www-servers/nginx/files/upstream-check-1.5.13.patch @@ -0,0 +1,200 @@ +diff --git a/src/http/modules/ngx_http_upstream_ip_hash_module.c b/src/http/modules/ngx_http_upstream_ip_hash_module.c +index 041883f..db7791f 100644 +--- a/src/http/modules/ngx_http_upstream_ip_hash_module.c ++++ b/src/http/modules/ngx_http_upstream_ip_hash_module.c +@@ -9,6 +9,10 @@ + #include <ngx_core.h> + #include <ngx_http.h> + ++#if (NGX_UPSTREAM_CHECK_MODULE) ++#include "ngx_http_upstream_check_handler.h" ++#endif ++ + + typedef struct { + /* the round robin data must be first */ +@@ -212,6 +216,15 @@ ngx_http_upstream_get_ip_hash_peer(ngx_peer_connection_t *pc, void *data) + goto next_try; + } + ++#if (NGX_UPSTREAM_CHECK_MODULE) ++ ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0, ++ "get ip_hash peer, check_index: %ui", ++ peer->check_index); ++ if (ngx_http_check_peer_down(peer->check_index)) { ++ goto next_try; ++ } ++#endif ++ + if (peer->max_fails + && peer->fails >= peer->max_fails + && now - peer->checked <= peer->fail_timeout) +diff --git a/src/http/modules/ngx_http_upstream_least_conn_module.c b/src/http/modules/ngx_http_upstream_least_conn_module.c +index dbef95d..e080682 100644 +--- a/src/http/modules/ngx_http_upstream_least_conn_module.c ++++ b/src/http/modules/ngx_http_upstream_least_conn_module.c +@@ -9,6 +9,10 @@ + #include <ngx_core.h> + #include <ngx_http.h> + ++#if (NGX_UPSTREAM_CHECK_MODULE) ++#include "ngx_http_upstream_check_handler.h" ++#endif ++ + + typedef struct { + ngx_uint_t *conns; +@@ -203,6 +207,16 @@ ngx_http_upstream_get_least_conn_peer(ngx_peer_connection_t *pc, void *data) + continue; + } + ++#if (NGX_UPSTREAM_CHECK_MODULE) ++ ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0, ++ "get least_conn peer, check_index: %ui", ++ peer->check_index); ++ ++ if (ngx_http_check_peer_down(peer->check_index)) { ++ continue; ++ } ++#endif ++ + if (peer->max_fails + && peer->fails >= peer->max_fails + && now - peer->checked <= peer->fail_timeout) +@@ -256,6 +270,16 @@ ngx_http_upstream_get_least_conn_peer(ngx_peer_connection_t *pc, void *data) + continue; + } + ++#if (NGX_UPSTREAM_CHECK_MODULE) ++ ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0, ++ "get least_conn peer, check_index: %ui", ++ peer->check_index); ++ ++ if (ngx_http_check_peer_down(peer->check_index)) { ++ continue; ++ } ++#endif ++ + if (lcp->conns[i] * best->weight != lcp->conns[p] * peer->weight) { + continue; + } +diff --git a/src/http/ngx_http_upstream_round_robin.c b/src/http/ngx_http_upstream_round_robin.c +index 85ff558..25d74be 100644 +--- a/src/http/ngx_http_upstream_round_robin.c ++++ b/src/http/ngx_http_upstream_round_robin.c +@@ -9,6 +9,9 @@ + #include <ngx_core.h> + #include <ngx_http.h> + ++#if (NGX_UPSTREAM_CHECK_MODULE) ++#include "ngx_http_upstream_check_handler.h" ++#endif + + static ngx_http_upstream_rr_peer_t *ngx_http_upstream_get_peer( + ngx_http_upstream_rr_peer_data_t *rrp); +@@ -85,6 +88,16 @@ ngx_http_upstream_init_round_robin(ngx_conf_t *cf, + peers->peer[n].max_fails = server[i].max_fails; + peers->peer[n].fail_timeout = server[i].fail_timeout; + peers->peer[n].down = server[i].down; ++ ++#if (NGX_UPSTREAM_CHECK_MODULE) ++ if (!server[i].down) { ++ peers->peer[n].check_index = ++ ngx_http_check_add_peer(cf, us, &server[i].addrs[j]); ++ } ++ else { ++ peers->peer[n].check_index = (ngx_uint_t) NGX_ERROR; ++ } ++#endif + n++; + } + } +@@ -139,6 +152,17 @@ ngx_http_upstream_init_round_robin(ngx_conf_t *cf, + backup->peer[n].max_fails = server[i].max_fails; + backup->peer[n].fail_timeout = server[i].fail_timeout; + backup->peer[n].down = server[i].down; ++ ++#if (NGX_UPSTREAM_CHECK_MODULE) ++ if (!server[i].down) { ++ backup->peer[n].check_index = ++ ngx_http_check_add_peer(cf, us, &server[i].addrs[j]); ++ } ++ else { ++ backup->peer[n].check_index = (ngx_uint_t) NGX_ERROR; ++ } ++#endif ++ + n++; + } + } +@@ -196,6 +220,9 @@ ngx_http_upstream_init_round_robin(ngx_conf_t *cf, + peers->peer[i].current_weight = 0; + peers->peer[i].max_fails = 1; + peers->peer[i].fail_timeout = 10; ++#if (NGX_UPSTREAM_CHECK_MODULE) ++ peers->peer[i].check_index = (ngx_uint_t) NGX_ERROR; ++#endif + } + + us->peer.data = peers; +@@ -302,6 +329,9 @@ ngx_http_upstream_create_round_robin_peer(ngx_http_request_t *r, + peers->peer[0].current_weight = 0; + peers->peer[0].max_fails = 1; + peers->peer[0].fail_timeout = 10; ++#if (NGX_UPSTREAM_CHECK_MODULE) ++ peers->peer[0].check_index = (ngx_uint_t) NGX_ERROR; ++#endif + + } else { + +@@ -342,6 +372,9 @@ ngx_http_upstream_create_round_robin_peer(ngx_http_request_t *r, + peers->peer[i].current_weight = 0; + peers->peer[i].max_fails = 1; + peers->peer[i].fail_timeout = 10; ++#if (NGX_UPSTREAM_CHECK_MODULE) ++ peers->peer[i].check_index = (ngx_uint_t) NGX_ERROR; ++#endif + } + } + +@@ -399,6 +432,12 @@ ngx_http_upstream_get_round_robin_peer(ngx_peer_connection_t *pc, void *data) + goto failed; + } + ++#if (NGX_UPSTREAM_CHECK_MODULE) ++ if (ngx_http_check_peer_down(peer->check_index)) { ++ goto failed; ++ } ++#endif ++ + } else { + + /* there are several peers */ +@@ -498,6 +537,12 @@ ngx_http_upstream_get_peer(ngx_http_upstream_rr_peer_data_t *rrp) + continue; + } + ++#if (NGX_UPSTREAM_CHECK_MODULE) ++ if (ngx_http_check_peer_down(peer->check_index)) { ++ continue; ++ } ++#endif ++ + if (peer->max_fails + && peer->fails >= peer->max_fails + && now - peer->checked <= peer->fail_timeout) +diff --git a/src/http/ngx_http_upstream_round_robin.h b/src/http/ngx_http_upstream_round_robin.h +index ea90ab9..ccff3c2 100644 +--- a/src/http/ngx_http_upstream_round_robin.h ++++ b/src/http/ngx_http_upstream_round_robin.h +@@ -30,6 +30,10 @@ typedef struct { + ngx_uint_t max_fails; + time_t fail_timeout; + ++#if (NGX_UPSTREAM_CHECK_MODULE) ++ ngx_uint_t check_index; ++#endif ++ + ngx_uint_t down; /* unsigned down:1; */ + + #if (NGX_HTTP_SSL) diff --git a/www-servers/nginx/nginx-1.5.7-r1.ebuild b/www-servers/nginx/nginx-1.4.7-r1.ebuild index fc510c87a314..18179db4664d 100644 --- a/www-servers/nginx/nginx-1.5.7-r1.ebuild +++ b/www-servers/nginx/nginx-1.4.7-r1.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2013 Gentoo Foundation +# Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/nginx-1.5.7-r1.ebuild,v 1.1 2013/11/21 13:41:17 dev-zero Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/nginx-1.4.7-r1.ebuild,v 1.1 2014/04/15 06:11:59 dev-zero Exp $ EAPI="5" @@ -17,6 +17,13 @@ EAPI="5" # prevent perl-module from adding automagic perl DEPENDs GENTOO_DEPEND_ON_PERL="no" +# syslog +SYSLOG_MODULE_PV="165affd9741f0e30c4c8225da5e487d33832aca3" +SYSLOG_MODULE_NGINX_PV="1.4.0" +SYSLOG_MODULE_P="ngx_syslog-${SYSLOG_MODULE_PV}" +SYSLOG_MODULE_URI="https://github.com/yaoweibin/nginx_syslog_patch/archive/${SYSLOG_MODULE_PV}.tar.gz" +SYSLOG_MODULE_WD="${WORKDIR}/nginx_syslog_patch-${SYSLOG_MODULE_PV}" + # devel_kit (https://github.com/simpl/ngx_devel_kit, BSD license) DEVEL_KIT_MODULE_PV="0.2.19" DEVEL_KIT_MODULE_P="ngx_devel_kit-${DEVEL_KIT_MODULE_PV}-r1" @@ -30,11 +37,17 @@ HTTP_UPLOAD_PROGRESS_MODULE_URI="https://github.com/masterzen/nginx-upload-progr HTTP_UPLOAD_PROGRESS_MODULE_WD="${WORKDIR}/nginx-upload-progress-module-${HTTP_UPLOAD_PROGRESS_MODULE_PV}" # http_headers_more (http://github.com/agentzh/headers-more-nginx-module, BSD license) -HTTP_HEADERS_MORE_MODULE_PV="0.23" +HTTP_HEADERS_MORE_MODULE_PV="0.25" HTTP_HEADERS_MORE_MODULE_P="ngx_http_headers_more-${HTTP_HEADERS_MORE_MODULE_PV}-r1" HTTP_HEADERS_MORE_MODULE_URI="https://github.com/agentzh/headers-more-nginx-module/archive/v${HTTP_HEADERS_MORE_MODULE_PV}.tar.gz" HTTP_HEADERS_MORE_MODULE_WD="${WORKDIR}/headers-more-nginx-module-${HTTP_HEADERS_MORE_MODULE_PV}" +# http_push (http://pushmodule.slact.net/, MIT license) +HTTP_PUSH_MODULE_PV="0.712" +HTTP_PUSH_MODULE_P="ngx_http_push-${HTTP_PUSH_MODULE_PV}" +HTTP_PUSH_MODULE_URI="https://github.com/slact/nginx_http_push_module/archive/v${HTTP_PUSH_MODULE_PV}.tar.gz" +HTTP_PUSH_MODULE_WD="${WORKDIR}/nginx_http_push_module-${HTTP_PUSH_MODULE_PV}" + # http_cache_purge (http://labs.frickle.com/nginx_ngx_cache_purge/, BSD-2 license) HTTP_CACHE_PURGE_MODULE_PV="2.1" HTTP_CACHE_PURGE_MODULE_P="ngx_http_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}" @@ -47,14 +60,14 @@ HTTP_SLOWFS_CACHE_MODULE_P="ngx_http_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV} HTTP_SLOWFS_CACHE_MODULE_URI="http://labs.frickle.com/files/ngx_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}.tar.gz" HTTP_SLOWFS_CACHE_MODULE_WD="${WORKDIR}/ngx_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}" -# http_fancyindex (http://wiki.nginx.org/NgxFancyIndex, BSD license) +# http_fancyindex (https://github.com/aperezdc/ngx-fancyindex, BSD license) HTTP_FANCYINDEX_MODULE_PV="0.3.3" HTTP_FANCYINDEX_MODULE_P="ngx_http_fancyindex-${HTTP_FANCYINDEX_MODULE_PV}" HTTP_FANCYINDEX_MODULE_URI="https://github.com/aperezdc/ngx-fancyindex/archive/v${HTTP_FANCYINDEX_MODULE_PV}.tar.gz" HTTP_FANCYINDEX_MODULE_WD="${WORKDIR}/ngx-fancyindex-${HTTP_FANCYINDEX_MODULE_PV}" # http_lua (https://github.com/chaoslawful/lua-nginx-module, BSD license) -HTTP_LUA_MODULE_PV="0.9.2" +HTTP_LUA_MODULE_PV="0.9.6" HTTP_LUA_MODULE_P="ngx_http_lua-${HTTP_LUA_MODULE_PV}" HTTP_LUA_MODULE_URI="https://github.com/chaoslawful/lua-nginx-module/archive/v${HTTP_LUA_MODULE_PV}.tar.gz" HTTP_LUA_MODULE_WD="${WORKDIR}/lua-nginx-module-${HTTP_LUA_MODULE_PV}" @@ -78,32 +91,32 @@ HTTP_METRICS_MODULE_URI="https://github.com/madvertise/ngx_metrics/archive/v${HT HTTP_METRICS_MODULE_WD="${WORKDIR}/ngx_metrics-${HTTP_METRICS_MODULE_PV}" # naxsi-core (https://github.com/nbs-system/naxsi, GPLv2+) -HTTP_NAXSI_MODULE_PV="0.53-1" +HTTP_NAXSI_MODULE_PV="0.53-2" HTTP_NAXSI_MODULE_P="ngx_http_naxsi-${HTTP_NAXSI_MODULE_PV}" HTTP_NAXSI_MODULE_URI="https://github.com/nbs-system/naxsi/archive/${HTTP_NAXSI_MODULE_PV}.tar.gz" HTTP_NAXSI_MODULE_WD="${WORKDIR}/naxsi-${HTTP_NAXSI_MODULE_PV}/naxsi_src" # nginx-rtmp-module (http://github.com/arut/nginx-rtmp-module, BSD license) -RTMP_MODULE_PV="1.0.6" +RTMP_MODULE_PV="1.1.3" RTMP_MODULE_P="ngx_rtmp-${RTMP_MODULE_PV}" RTMP_MODULE_URI="http://github.com/arut/nginx-rtmp-module/archive/v${RTMP_MODULE_PV}.tar.gz" RTMP_MODULE_WD="${WORKDIR}/nginx-rtmp-module-${RTMP_MODULE_PV}" # nginx-dav-ext-module (http://github.com/arut/nginx-dav-ext-module, BSD license) -HTTP_DAV_EXT_MODULE_PV="0.0.2" +HTTP_DAV_EXT_MODULE_PV="0.0.3" HTTP_DAV_EXT_MODULE_P="ngx_http_dav_ext-${HTTP_DAV_EXT_MODULE_PV}" HTTP_DAV_EXT_MODULE_URI="http://github.com/arut/nginx-dav-ext-module/archive/v${HTTP_DAV_EXT_MODULE_PV}.tar.gz" HTTP_DAV_EXT_MODULE_WD="${WORKDIR}/nginx-dav-ext-module-${HTTP_DAV_EXT_MODULE_PV}" # echo-nginx-module (https://github.com/agentzh/echo-nginx-module, BSD license) -HTTP_ECHO_MODULE_PV="0.49" +HTTP_ECHO_MODULE_PV="0.52" HTTP_ECHO_MODULE_P="ngx_http_echo-${HTTP_ECHO_MODULE_PV}" HTTP_ECHO_MODULE_URI="https://github.com/agentzh/echo-nginx-module/archive/v${HTTP_ECHO_MODULE_PV}.tar.gz" HTTP_ECHO_MODULE_WD="${WORKDIR}/echo-nginx-module-${HTTP_ECHO_MODULE_PV}" # mod_security for nginx (https://modsecurity.org/, Apache-2.0) # keep the MODULE_P here consistent with upstream to avoid tarball duplication -HTTP_SECURITY_MODULE_PV="2.7.5" +HTTP_SECURITY_MODULE_PV="2.7.7" HTTP_SECURITY_MODULE_P="modsecurity-apache_${HTTP_SECURITY_MODULE_PV}" HTTP_SECURITY_MODULE_URI="https://www.modsecurity.org/tarball/${HTTP_SECURITY_MODULE_PV}/${HTTP_SECURITY_MODULE_P}.tar.gz" HTTP_SECURITY_MODULE_WD="${WORKDIR}/${HTTP_SECURITY_MODULE_P}" @@ -119,9 +132,11 @@ inherit eutils ssl-cert toolchain-funcs perl-module flag-o-matic user systemd ve DESCRIPTION="Robust, small and high performance http and reverse proxy server" HOMEPAGE="http://nginx.org" SRC_URI="http://nginx.org/download/${P}.tar.gz + syslog? ( ${SYSLOG_MODULE_URI} -> ${SYSLOG_MODULE_P}.tar.gz ) ${DEVEL_KIT_MODULE_URI} -> ${DEVEL_KIT_MODULE_P}.tar.gz nginx_modules_http_upload_progress? ( ${HTTP_UPLOAD_PROGRESS_MODULE_URI} -> ${HTTP_UPLOAD_PROGRESS_MODULE_P}.tar.gz ) nginx_modules_http_headers_more? ( ${HTTP_HEADERS_MORE_MODULE_URI} -> ${HTTP_HEADERS_MORE_MODULE_P}.tar.gz ) + nginx_modules_http_push? ( ${HTTP_PUSH_MODULE_URI} -> ${HTTP_PUSH_MODULE_P}.tar.gz ) nginx_modules_http_cache_purge? ( ${HTTP_CACHE_PURGE_MODULE_URI} -> ${HTTP_CACHE_PURGE_MODULE_P}.tar.gz ) nginx_modules_http_slowfs_cache? ( ${HTTP_SLOWFS_CACHE_MODULE_URI} -> ${HTTP_SLOWFS_CACHE_MODULE_P}.tar.gz ) nginx_modules_http_fancyindex? ( ${HTTP_FANCYINDEX_MODULE_URI} -> ${HTTP_FANCYINDEX_MODULE_P}.tar.gz ) @@ -146,12 +161,13 @@ KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux" NGINX_MODULES_STD="access auth_basic autoindex browser charset empty_gif fastcgi geo gzip limit_req limit_conn map memcached proxy referer rewrite scgi ssi split_clients upstream_ip_hash userid uwsgi" -NGINX_MODULES_OPT="addition auth_request dav degradation flv geoip gunzip gzip_static -image_filter mp4 perl random_index realip secure_link spdy stub_status sub xslt" +NGINX_MODULES_OPT="addition dav degradation flv geoip gunzip gzip_static image_filter +mp4 perl random_index realip secure_link spdy stub_status sub xslt" NGINX_MODULES_MAIL="imap pop3 smtp" NGINX_MODULES_3RD=" http_upload_progress http_headers_more + http_push http_cache_purge http_slowfs_cache http_fancyindex @@ -166,7 +182,7 @@ NGINX_MODULES_3RD=" http_push_stream" IUSE="aio debug +http +http-cache ipv6 libatomic +pcre pcre-jit rtmp selinux ssl -userland_GNU vim-syntax" +syslog userland_GNU vim-syntax" for mod in $NGINX_MODULES_STD; do IUSE="${IUSE} +nginx_modules_http_${mod}" @@ -250,14 +266,16 @@ pkg_setup() { src_prepare() { epatch "${FILESDIR}/${PN}-1.4.1-fix-perl-install-path.patch" + if use syslog; then + epatch "${SYSLOG_MODULE_WD}"/syslog_${SYSLOG_MODULE_NGINX_PV}.patch + fi + if use nginx_modules_http_upstream_check; then epatch "${HTTP_UPSTREAM_CHECK_MODULE_WD}"/check_1.2.6+.patch fi - if use nginx_modules_http_security; then - cd "${HTTP_SECURITY_MODULE_WD}/nginx/modsecurity" - epatch "${FILESDIR}/modsecurity-${HTTP_SECURITY_MODULE_PV}-include-paths.patch" - cd - + if use nginx_modules_http_lua; then + sed -i -e 's/-llua5.1/-llua/' "${HTTP_LUA_MODULE_WD}/config" fi find auto/ -type f -print0 | xargs -0 sed -i 's:\&\& make:\&\& \\$(MAKE):' || die @@ -278,6 +296,17 @@ src_prepare() { } src_configure() { + # mod_security needs to generate nginx/modsecurity/config before including it + if use nginx_modules_http_security; then + cd "${HTTP_SECURITY_MODULE_WD}" + ./configure \ + --enable-standalone-module \ + $(use_enable pcre-jit) \ + $(use_with nginx_modules_http_lua lua) || die "configure failed for mod_security" + fi + + cd "${S}" + local myconf= http_enabled= mail_enabled= use aio && myconf+=" --with-file-aio --with-aio_module" @@ -287,6 +316,11 @@ src_configure() { use pcre && myconf+=" --with-pcre" use pcre-jit && myconf+=" --with-pcre-jit" + # syslog support + if use syslog; then + myconf+=" --add-module=${SYSLOG_MODULE_WD}" + fi + # HTTP modules for mod in $NGINX_MODULES_STD; do if use nginx_modules_http_${mod}; then @@ -318,6 +352,11 @@ src_configure() { myconf+=" --add-module=${HTTP_HEADERS_MORE_MODULE_WD}" fi + if use nginx_modules_http_push; then + http_enabled=1 + myconf+=" --add-module=${HTTP_PUSH_MODULE_WD}" + fi + if use nginx_modules_http_cache_purge; then http_enabled=1 myconf+=" --add-module=${HTTP_CACHE_PURGE_MODULE_WD}" @@ -437,14 +476,6 @@ src_configure() { --http-scgi-temp-path="${EPREFIX}/${NGINX_HOME_TMP}"/scgi \ --http-uwsgi-temp-path="${EPREFIX}/${NGINX_HOME_TMP}"/uwsgi \ ${myconf} || die "configure failed" - - if use nginx_modules_http_security; then - cd "${HTTP_SECURITY_MODULE_WD}" - ./configure \ - --enable-standalone-module \ - $(use_enable pcre-jit) \ - $(use_with nginx_modules_http_lua lua) || die "configure failed for mod_security" - fi } src_compile() { @@ -498,6 +529,16 @@ src_install() { fixlocalpod fi + if use syslog; then + docinto ${SYSLOG_MODULE_P} + dodoc "${SYSLOG_MODULE_WD}"/README + fi + + if use nginx_modules_http_push; then + docinto ${HTTP_PUSH_MODULE_P} + dodoc "${HTTP_PUSH_MODULE_WD}"/{changelog.txt,protocol.txt,README} + fi + if use nginx_modules_http_cache_purge; then docinto ${HTTP_CACHE_PURGE_MODULE_P} dodoc "${HTTP_CACHE_PURGE_MODULE_WD}"/{CHANGES,README.md,TODO.md} @@ -541,7 +582,7 @@ src_install() { if use rtmp; then docinto ${RTMP_MODULE_P} - dodoc "${RTMP_MODULE_WD}"/{AUTHORS,README.md,TODO,stat.xsl} + dodoc "${RTMP_MODULE_WD}"/{AUTHORS,README.md,stat.xsl} fi if use nginx_modules_http_dav_ext; then @@ -551,7 +592,7 @@ src_install() { if use nginx_modules_http_echo; then docinto ${HTTP_ECHO_MODULE_P} - dodoc "${HTTP_ECHO_MODULE_WD}"/{README,README.markdown,doc/HttpEchoModule.wiki} + dodoc "${HTTP_ECHO_MODULE_WD}"/{README.markdown,doc/HttpEchoModule.wiki} fi if use nginx_modules_http_security; then diff --git a/www-servers/nginx/nginx-1.5.10.ebuild b/www-servers/nginx/nginx-1.5.13.ebuild index 08288fca472b..38df424efb45 100644 --- a/www-servers/nginx/nginx-1.5.10.ebuild +++ b/www-servers/nginx/nginx-1.5.13.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/nginx-1.5.10.ebuild,v 1.1 2014/02/10 03:12:24 zx2c4 Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/nginx-1.5.13.ebuild,v 1.1 2014/04/15 06:11:59 dev-zero Exp $ EAPI="5" @@ -54,7 +54,7 @@ HTTP_FANCYINDEX_MODULE_URI="https://github.com/aperezdc/ngx-fancyindex/archive/v HTTP_FANCYINDEX_MODULE_WD="${WORKDIR}/ngx-fancyindex-${HTTP_FANCYINDEX_MODULE_PV}" # http_lua (https://github.com/chaoslawful/lua-nginx-module, BSD license) -HTTP_LUA_MODULE_PV="0.9.5rc2" +HTTP_LUA_MODULE_PV="0.9.7" HTTP_LUA_MODULE_P="ngx_http_lua-${HTTP_LUA_MODULE_PV}" HTTP_LUA_MODULE_URI="https://github.com/chaoslawful/lua-nginx-module/archive/v${HTTP_LUA_MODULE_PV}.tar.gz" HTTP_LUA_MODULE_WD="${WORKDIR}/lua-nginx-module-${HTTP_LUA_MODULE_PV}" @@ -78,13 +78,13 @@ HTTP_METRICS_MODULE_URI="https://github.com/madvertise/ngx_metrics/archive/v${HT HTTP_METRICS_MODULE_WD="${WORKDIR}/ngx_metrics-${HTTP_METRICS_MODULE_PV}" # naxsi-core (https://github.com/nbs-system/naxsi, GPLv2+) -HTTP_NAXSI_MODULE_PV="0.53-1" +HTTP_NAXSI_MODULE_PV="0.53-2" HTTP_NAXSI_MODULE_P="ngx_http_naxsi-${HTTP_NAXSI_MODULE_PV}" HTTP_NAXSI_MODULE_URI="https://github.com/nbs-system/naxsi/archive/${HTTP_NAXSI_MODULE_PV}.tar.gz" HTTP_NAXSI_MODULE_WD="${WORKDIR}/naxsi-${HTTP_NAXSI_MODULE_PV}/naxsi_src" # nginx-rtmp-module (http://github.com/arut/nginx-rtmp-module, BSD license) -RTMP_MODULE_PV="1.1.2" +RTMP_MODULE_PV="1.1.4" RTMP_MODULE_P="ngx_rtmp-${RTMP_MODULE_PV}" RTMP_MODULE_URI="http://github.com/arut/nginx-rtmp-module/archive/v${RTMP_MODULE_PV}.tar.gz" RTMP_MODULE_WD="${WORKDIR}/nginx-rtmp-module-${RTMP_MODULE_PV}" @@ -96,7 +96,7 @@ HTTP_DAV_EXT_MODULE_URI="http://github.com/arut/nginx-dav-ext-module/archive/v${ HTTP_DAV_EXT_MODULE_WD="${WORKDIR}/nginx-dav-ext-module-${HTTP_DAV_EXT_MODULE_PV}" # echo-nginx-module (https://github.com/agentzh/echo-nginx-module, BSD license) -HTTP_ECHO_MODULE_PV="0.51" +HTTP_ECHO_MODULE_PV="0.52" HTTP_ECHO_MODULE_P="ngx_http_echo-${HTTP_ECHO_MODULE_PV}" HTTP_ECHO_MODULE_URI="https://github.com/agentzh/echo-nginx-module/archive/v${HTTP_ECHO_MODULE_PV}.tar.gz" HTTP_ECHO_MODULE_WD="${WORKDIR}/echo-nginx-module-${HTTP_ECHO_MODULE_PV}" @@ -114,6 +114,18 @@ HTTP_PUSH_STREAM_MODULE_P="ngx_http_push_stream-${HTTP_PUSH_STREAM_MODULE_PV}" HTTP_PUSH_STREAM_MODULE_URI="https://github.com/wandenberg/nginx-push-stream-module/archive/${HTTP_PUSH_STREAM_MODULE_PV}.tar.gz" HTTP_PUSH_STREAM_MODULE_WD="${WORKDIR}/nginx-push-stream-module-${HTTP_PUSH_STREAM_MODULE_PV}" +# sticky-module (https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng, BSD-2) +HTTP_STICKY_MODULE_PV="1.2.3" +HTTP_STICKY_MODULE_P="nginx_http_sticky_module_ng-${HTTP_STICKY_MODULE_PV}" +HTTP_STICKY_MODULE_URI="https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/v${HTTP_STICKY_MODULE_PV}.tar.bz2" +HTTP_STICKY_MODULE_WD="${WORKDIR}/nginx-goodies-nginx-sticky-module-ng-45973be2b64e" + +# ajp-module (https://github.com/yaoweibin/nginx_ajp_module, BSD-2) +HTTP_AJP_MODULE_PV="0.3.0" +HTTP_AJP_MODULE_P="ngx_http_ajp_module-${HTTP_AJP_MODULE_PV}" +HTTP_AJP_MODULE_URI="https://github.com/yaoweibin/nginx_ajp_module/archive/v${HTTP_AJP_MODULE_PV}.tar.gz" +HTTP_AJP_MODULE_WD="${WORKDIR}/nginx_ajp_module-${HTTP_AJP_MODULE_PV}" + inherit eutils ssl-cert toolchain-funcs perl-module flag-o-matic user systemd versionator DESCRIPTION="Robust, small and high performance http and reverse proxy server" @@ -134,7 +146,9 @@ SRC_URI="http://nginx.org/download/${P}.tar.gz nginx_modules_http_dav_ext? ( ${HTTP_DAV_EXT_MODULE_URI} -> ${HTTP_DAV_EXT_MODULE_P}.tar.gz ) nginx_modules_http_echo? ( ${HTTP_ECHO_MODULE_URI} -> ${HTTP_ECHO_MODULE_P}.tar.gz ) nginx_modules_http_security? ( ${HTTP_SECURITY_MODULE_URI} -> ${HTTP_SECURITY_MODULE_P}.tar.gz ) - nginx_modules_http_push_stream? ( ${HTTP_PUSH_STREAM_MODULE_URI} -> ${HTTP_PUSH_STREAM_MODULE_P}.tar.gz )" + nginx_modules_http_push_stream? ( ${HTTP_PUSH_STREAM_MODULE_URI} -> ${HTTP_PUSH_STREAM_MODULE_P}.tar.gz ) + nginx_modules_http_sticky? ( ${HTTP_STICKY_MODULE_URI} -> ${HTTP_STICKY_MODULE_P}.tar.bz2 ) + nginx_modules_http_ajp? ( ${HTTP_AJP_MODULE_URI} -> ${HTTP_AJP_MODULE_P}.tar.gz )" LICENSE="BSD-2 BSD SSLeay MIT GPL-2 GPL-2+ nginx_modules_http_security? ( Apache-2.0 ) @@ -163,7 +177,9 @@ NGINX_MODULES_3RD=" http_dav_ext http_echo http_security - http_push_stream" + http_push_stream + http_sticky + http_ajp" IUSE="aio debug +http +http-cache ipv6 libatomic +pcre pcre-jit rtmp selinux ssl userland_GNU vim-syntax" @@ -207,6 +223,8 @@ CDEPEND=" nginx_modules_http_security? ( >=dev-libs/libxml2-2.7.8 dev-libs/apr-util www-servers/apache )" RDEPEND="${CDEPEND}" DEPEND="${CDEPEND} + nginx_modules_http_security? ( + nginx_modules_http_lua? ( virtual/pkgconfig ) ) arm? ( dev-libs/libatomic_ops ) libatomic? ( dev-libs/libatomic_ops )" PDEPEND="vim-syntax? ( app-vim/nginx-syntax )" @@ -251,13 +269,11 @@ src_prepare() { epatch "${FILESDIR}/${PN}-1.4.1-fix-perl-install-path.patch" if use nginx_modules_http_upstream_check; then - epatch "${FILESDIR}"/upstream-check-1.5.8.patch + epatch "${FILESDIR}"/upstream-check-${PV}.patch fi - if use nginx_modules_http_security; then - cd "${HTTP_SECURITY_MODULE_WD}/nginx/modsecurity" - epatch "${FILESDIR}/modsecurity-${HTTP_SECURITY_MODULE_PV}-include-paths.patch" - cd - + if use nginx_modules_http_lua; then + sed -i -e 's/-llua5.1/-llua/' "${HTTP_LUA_MODULE_WD}/config" fi find auto/ -type f -print0 | xargs -0 sed -i 's:\&\& make:\&\& \\$(MAKE):' || die @@ -278,6 +294,17 @@ src_prepare() { } src_configure() { + # mod_security needs to generate nginx/modsecurity/config before including it + if use nginx_modules_http_security; then + cd "${HTTP_SECURITY_MODULE_WD}" + ./configure \ + --enable-standalone-module \ + $(use_enable pcre-jit) \ + $(use_with nginx_modules_http_lua lua) || die "configure failed for mod_security" + fi + + cd "${S}" + local myconf= http_enabled= mail_enabled= use aio && myconf+=" --with-file-aio --with-aio_module" @@ -384,6 +411,16 @@ src_configure() { myconf+=" --add-module=${HTTP_PUSH_STREAM_MODULE_WD}" fi + if use nginx_modules_http_sticky ; then + http_enabled=1 + myconf+=" --add-module=${HTTP_STICKY_MODULE_WD}" + fi + + if use nginx_modules_http_ajp ; then + http_enabled=1 + myconf+=" --add-module=${HTTP_AJP_MODULE_WD}" + fi + if use http || use http-cache; then http_enabled=1 fi @@ -437,14 +474,6 @@ src_configure() { --http-scgi-temp-path="${EPREFIX}/${NGINX_HOME_TMP}"/scgi \ --http-uwsgi-temp-path="${EPREFIX}/${NGINX_HOME_TMP}"/uwsgi \ ${myconf} || die "configure failed" - - if use nginx_modules_http_security; then - cd "${HTTP_SECURITY_MODULE_WD}" - ./configure \ - --enable-standalone-module \ - $(use_enable pcre-jit) \ - $(use_with nginx_modules_http_lua lua) || die "configure failed for mod_security" - fi } src_compile() { @@ -563,6 +592,16 @@ src_install() { docinto ${HTTP_PUSH_STREAM_MODULE_P} dodoc "${HTTP_PUSH_STREAM_MODULE_WD}"/{AUTHORS,CHANGELOG.textile,README.textile} fi + + if use nginx_modules_http_sticky; then + docinto ${HTTP_STICKY_MODULE_P} + dodoc "${HTTP_STICKY_MODULE_WD}"/{README.md,Changelog.txt,docs/sticky.pdf} + fi + + if use nginx_modules_http_ajp; then + docinto ${HTTP_AJP_MODULE_P} + dodoc "${HTTP_AJP_MODULE_WD}"/README + fi } pkg_postinst() { |