From d71c7fa8bc067efb89fa2d7daeebab03c1993f83 Mon Sep 17 00:00:00 2001 From: Yuriy Ustushenko Date: Mon, 17 Feb 2014 03:03:59 +0700 Subject: Manifest updated --- www-servers/nginx/Manifest | 2 +- www-servers/nginx/nginx-1.4.4-r102.ebuild | 664 ------------------------------ www-servers/nginx/nginx-1.4.4-r103.ebuild | 664 ++++++++++++++++++++++++++++++ 3 files changed, 665 insertions(+), 665 deletions(-) delete mode 100644 www-servers/nginx/nginx-1.4.4-r102.ebuild create mode 100644 www-servers/nginx/nginx-1.4.4-r103.ebuild diff --git a/www-servers/nginx/Manifest b/www-servers/nginx/Manifest index 0807691..8d07b5b 100644 --- a/www-servers/nginx/Manifest +++ b/www-servers/nginx/Manifest @@ -26,6 +26,6 @@ DIST ngx_syslog-165affd9741f0e30c4c8225da5e487d33832aca3.tar.gz 91535 SHA256 6fb DIST ngx_xsltproc-0.14.tar.gz 532723 SHA256 dc9b29fb7a1ad75486404677c0d8df792475eb469f96824486f19198fadbf96c SHA512 88f4df26438bd2f525b9554a2b94fa61c212f46bf476754ddfa30ebe70187fda59a1017a69f82c1542568454d5e9f122068bd616b9bc7b26b408aaf0a7de0ca9 WHIRLPOOL 6cfb8bddacd2a0e3ae05b88a435a216d52ce5205bcc4797b08b8c0712038eea9699859e11a5663cd6761255162a8e305ba6565f60095990611683777063a02b4 DIST ngx_xsltproc-0.15.tar.gz 535723 SHA256 df89400f606fc6f262b68d2d1646c4e6f7b8b0e8bcbc491c7e530c6bf1b18d96 SHA512 6ce21ed11897b399b6e0a220bc190ee03a05c5e94dce5603ee7a97c171df0d612744fe40c1aeb2795d167d4fb8d5ead8304084090cab352ed18f925b37f7ab35 WHIRLPOOL 8b50e373c15ecec07e1ccf4574b62bd6091a853297326d5cfaa7ec86bc5c6dac2c0cb3d28aa6d4305f29fb1d0a673f4629f60cd7087de68a22ea61004c0e3cda EBUILD nginx-1.4.4-r101.ebuild 24609 SHA256 bde7afc48947a1eac70940a6454a17d9043064b943702153594c8f4f6ccf657d SHA512 a502bf065c47a0d2d404e1ea3e88a7d7caf9eb69aa1a943d5dce6ae0c53eaf9f147e0ed7febebd5bbdf2691bf509156a1c854f0d44fff036167356a8a2950c41 WHIRLPOOL ac19314202e6bdbb0112acf732ac74a77f7bbfe563a6b7605b1a76a49cb780dc31eab7498441afd910fd621e4a59fd59ca0268176e7dccd75162236d3be1c6e8 -EBUILD nginx-1.4.4-r102.ebuild 24707 SHA256 fe4597bec97dff7f60f59ea9fdc846530a68c912d0a0add03b66a118510d1b51 SHA512 6f5f5a5f769b5c28e24535895ed813a1f208d3daca9e1737f18e21bb0306731c5161f4a9b0a5f1329f4b99dc89e17539b8237f133f51cfaa02672d1a96081fa5 WHIRLPOOL 5ee63fd469be49fd2b9bcb126bd6ef0d492f87440a47008afe36106c3d655d283ff4348e2c13cb99d6fec032659e6456724e34b11d091c49c1c68bbf633ff518 +EBUILD nginx-1.4.4-r103.ebuild 24706 SHA256 94271bb094102f577f569b48d7346411d9465903e9a88a3964c8344b44bd270b SHA512 a1aa9152502ab33c476e90e001a68f175adf9306f22537f0b84e6b6c8ce612b9bd05f6c000fbf84bd22cab1cd13f9dbb6f3e612ff5ed98598cfa47956ba678cf WHIRLPOOL e87682a7e614e308be66f260083762aa3dc1d13a33f804a15634fb9a5a1c53a83d3379762004c40d582aa6768cab9a4c604dcb36666a10eabed9d9bb16741902 MISC ChangeLog 62662 SHA256 97e947dd8b04812587fe352b28eee0116134c529efb046bc650d165a5f106f00 SHA512 ac7bd0bb3e4545d057165123f4ac7943879f6bc36f10d4ec3ef83697654cae7363dc05096389fb140835934064894e843e9015338d0f2b1f24cdc63f0992792c WHIRLPOOL 57c1b72be564950d93a370dbb39ffeadbe172ac6a2ebf832786a4c65b1db08b7c0a3b2a1c09d1d6e8c5474b7ab88487d10d0826596a4e41bc30bd8cbd3874f43 MISC metadata.xml 827 SHA256 750fe1d3ad8a43f2772ba296a0bfd35259d32a1746847dfe4119a18d49c01397 SHA512 5248aaf2524123b68d6fd6b82bc58426d419801763d8dcb87b5a5b15475936daf0160f9e878db06307ede0ab215ba0b571a9ff39873f7a77c18780f31c92b0d0 WHIRLPOOL 70c74c2b920dc049b01038e89d7046d188cad9a8a60cbd52dd11db32fe34ca9b55e62ec0bf3ad32c7fb8b26e519a97dc38175f1be3ef5e24c3d55d76f6ed8d10 diff --git a/www-servers/nginx/nginx-1.4.4-r102.ebuild b/www-servers/nginx/nginx-1.4.4-r102.ebuild deleted file mode 100644 index 13ceaf1..0000000 --- a/www-servers/nginx/nginx-1.4.4-r102.ebuild +++ /dev/null @@ -1,664 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/nginx-1.4.4.ebuild,v 1.3 2013/11/20 20:22:16 ago Exp $ - -EAPI="5" - -# Maintainer notes: -# - http_rewrite-independent pcre-support makes sense for matching locations without an actual rewrite -# - any http-module activates the main http-functionality and overrides USE=-http -# - keep the following requirements in mind before adding external modules: -# * alive upstream -# * sane packaging -# * builds cleanly -# * does not need a patch for nginx core -# - TODO: test the google-perftools module (included in vanilla tarball) - -# 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" -DEVEL_KIT_MODULE_URI="https://github.com/simpl/ngx_devel_kit/archive/v${DEVEL_KIT_MODULE_PV}.tar.gz" -DEVEL_KIT_MODULE_WD="${WORKDIR}/ngx_devel_kit-${DEVEL_KIT_MODULE_PV}" - -# http_uploadprogress (https://github.com/masterzen/nginx-upload-progress-module, BSD-2 license) -HTTP_UPLOAD_PROGRESS_MODULE_PV="0.9.0" -HTTP_UPLOAD_PROGRESS_MODULE_P="ngx_http_upload_progress-${HTTP_UPLOAD_PROGRESS_MODULE_PV}-r1" -HTTP_UPLOAD_PROGRESS_MODULE_URI="https://github.com/masterzen/nginx-upload-progress-module/archive/v${HTTP_UPLOAD_PROGRESS_MODULE_PV}.tar.gz" -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.22" -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.692" -HTTP_PUSH_MODULE_P="ngx_http_push-${HTTP_PUSH_MODULE_PV}" -HTTP_PUSH_MODULE_URI="http://pushmodule.slact.net/downloads/nginx_http_push_module-${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}" -HTTP_CACHE_PURGE_MODULE_URI="http://labs.frickle.com/files/ngx_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}.tar.gz" -HTTP_CACHE_PURGE_MODULE_WD="${WORKDIR}/ngx_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}" - -# http_slowfs_cache (http://labs.frickle.com/nginx_ngx_slowfs_cache/, BSD-2 license) -HTTP_SLOWFS_CACHE_MODULE_PV="1.10" -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_MODULE_PV="0.3.2" -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.0" -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}" - -# http_auth_pam (http://web.iti.upv.es/~sto/nginx/, BSD-2 license) -HTTP_AUTH_PAM_MODULE_PV="1.3" -HTTP_AUTH_PAM_MODULE_P="ngx_http_auth_pam-${HTTP_AUTH_PAM_MODULE_PV}" -HTTP_AUTH_PAM_MODULE_URI="http://web.iti.upv.es/~sto/nginx/ngx_http_auth_pam_module-${HTTP_AUTH_PAM_MODULE_PV}.tgz" -HTTP_AUTH_PAM_MODULE_WD="${WORKDIR}/ngx_http_auth_pam_module-${HTTP_AUTH_PAM_MODULE_PV}" - -# http_upstream_check (https://github.com/yaoweibin/nginx_upstream_check_module, BSD license) -HTTP_UPSTREAM_CHECK_MODULE_PV="0.1.9" -HTTP_UPSTREAM_CHECK_MODULE_P="ngx_http_upstream_check-${HTTP_UPSTREAM_CHECK_MODULE_PV}" -HTTP_UPSTREAM_CHECK_MODULE_URI="https://github.com/yaoweibin/nginx_upstream_check_module/archive/v${HTTP_UPSTREAM_CHECK_MODULE_PV}.tar.gz" -HTTP_UPSTREAM_CHECK_MODULE_WD="${WORKDIR}/nginx_upstream_check_module-${HTTP_UPSTREAM_CHECK_MODULE_PV}" - -# http_metrics (https://github.com/madvertise/ngx_metrics, BSD license) -HTTP_METRICS_MODULE_PV="0.1.1" -HTTP_METRICS_MODULE_P="ngx_metrics-${HTTP_METRICS_MODULE_PV}" -HTTP_METRICS_MODULE_URI="https://github.com/madvertise/ngx_metrics/archive/v${HTTP_METRICS_MODULE_PV}.tar.gz" -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.52-1" -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.5" -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_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.48" -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_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}" - -# push-stream-module (https://github.com/wandenberg/nginx-push-stream-module, GPL-3) -HTTP_PUSH_STREAM_MODULE_PV="0.3.5" -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}" - -# http_xsltproc (http://github.com/yoreek/nginx-xsltproc-module/, BSD license) -HTTP_XSLTPROC_MODULE_PV="0.15" -HTTP_XSLTPROC_MODULE_P="ngx_xsltproc-${HTTP_XSLTPROC_MODULE_PV}" -HTTP_XSLTPROC_MODULE_SHA1="dda8dfc" -HTTP_XSLTPROC_MODULE_URI="https://github.com/yoreek/nginx-xsltproc-module/tarball/v${HTTP_XSLTPROC_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" -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 ) - nginx_modules_http_lua? ( ${HTTP_LUA_MODULE_URI} -> ${HTTP_LUA_MODULE_P}.tar.gz ) - nginx_modules_http_auth_pam? ( ${HTTP_AUTH_PAM_MODULE_URI} -> ${HTTP_AUTH_PAM_MODULE_P}.tar.gz ) - nginx_modules_http_upstream_check? ( ${HTTP_UPSTREAM_CHECK_MODULE_URI} -> ${HTTP_UPSTREAM_CHECK_MODULE_P}.tar.gz ) - nginx_modules_http_metrics? ( ${HTTP_METRICS_MODULE_URI} -> ${HTTP_METRICS_MODULE_P}.tar.gz ) - nginx_modules_http_naxsi? ( ${HTTP_NAXSI_MODULE_URI} -> ${HTTP_NAXSI_MODULE_P}.tar.gz ) - rtmp? ( ${RTMP_MODULE_URI} -> ${RTMP_MODULE_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_xsltproc? ( ${HTTP_XSLTPROC_MODULE_URI} -> ${HTTP_XSLTPROC_MODULE_P}.tar.gz )" - -LICENSE="BSD-2 BSD SSLeay MIT GPL-2 GPL-2+ - nginx_modules_http_security? ( Apache-2.0 ) - nginx_modules_http_push_stream? ( GPL-3 )" - -SLOT="0" -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 dav degradation flv geoip gunzip gzip_static image_filter -mp4 perl random_index realip secure_link spdy stub_status sub" -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 - http_lua - http_auth_pam - http_upstream_check - http_metrics - http_naxsi - http_dav_ext - http_echo - http_security - http_push_stream - http_xsltproc" - -IUSE="aio debug +http +http-cache ipv6 libatomic +pcre pcre-jit rtmp selinux ssl -syslog userland_GNU vim-syntax +nginx_modules_http_xsltproc xsltproc-memcached" - -for mod in $NGINX_MODULES_STD; do - IUSE="${IUSE} +nginx_modules_http_${mod}" -done - -for mod in $NGINX_MODULES_OPT; do - IUSE="${IUSE} nginx_modules_http_${mod}" -done - -for mod in $NGINX_MODULES_MAIL; do - IUSE="${IUSE} nginx_modules_mail_${mod}" -done - -for mod in $NGINX_MODULES_3RD; do - IUSE="${IUSE} nginx_modules_${mod}" -done - -CDEPEND=" - pcre? ( >=dev-libs/libpcre-4.2 ) - pcre-jit? ( >=dev-libs/libpcre-8.20[jit] ) - selinux? ( sec-policy/selinux-nginx ) - ssl? ( dev-libs/openssl ) - http-cache? ( userland_GNU? ( dev-libs/openssl ) ) - nginx_modules_http_geoip? ( dev-libs/geoip ) - nginx_modules_http_gunzip? ( sys-libs/zlib ) - nginx_modules_http_gzip? ( sys-libs/zlib ) - nginx_modules_http_gzip_static? ( sys-libs/zlib ) - nginx_modules_http_image_filter? ( media-libs/gd[jpeg,png] ) - nginx_modules_http_perl? ( >=dev-lang/perl-5.8 ) - nginx_modules_http_rewrite? ( >=dev-libs/libpcre-4.2 ) - nginx_modules_http_secure_link? ( userland_GNU? ( dev-libs/openssl ) ) - nginx_modules_http_spdy? ( >=dev-libs/openssl-1.0.1c ) - nginx_modules_http_xsltproc? ( dev-libs/libxml2 dev-libs/libxslt dev-libs/icu ) - xsltproc-memcached? ( dev-libs/libmemcached ) - nginx_modules_http_lua? ( || ( dev-lang/lua dev-lang/luajit ) ) - nginx_modules_http_auth_pam? ( virtual/pam ) - nginx_modules_http_metrics? ( dev-libs/yajl ) - nginx_modules_http_dav_ext? ( dev-libs/expat ) - nginx_modules_http_security? ( >=dev-libs/libxml2-2.7.8 dev-libs/apr-util www-servers/apache )" -RDEPEND="${CDEPEND}" -DEPEND="${CDEPEND} - arm? ( dev-libs/libatomic_ops ) - libatomic? ( dev-libs/libatomic_ops )" -PDEPEND="vim-syntax? ( app-vim/nginx-syntax )" - -REQUIRED_USE="pcre-jit? ( pcre ) - nginx_modules_http_lua? ( nginx_modules_http_rewrite ) - nginx_modules_http_naxsi? ( pcre ) - nginx_modules_http_dav_ext? ( nginx_modules_http_dav ) - nginx_modules_http_metrics? ( nginx_modules_http_stub_status ) - nginx_modules_http_security? ( pcre ) - nginx_modules_http_push_stream? ( ssl ) - xsltproc-memcached? ( nginx_modules_http_xsltproc )" - -pkg_setup() { - NGINX_HOME="/var/lib/nginx" - NGINX_HOME_TMP="${NGINX_HOME}/tmp" - - ebegin "Creating nginx user and group" - enewgroup ${PN} - enewuser ${PN} -1 -1 "${NGINX_HOME}" ${PN} - eend $? - - if use libatomic; then - ewarn "GCC 4.1+ features built-in atomic operations." - ewarn "Using libatomic_ops is only needed if using" - ewarn "a different compiler or a GCC prior to 4.1" - fi - - if [[ -n $NGINX_ADD_MODULES ]]; then - ewarn "You are building custom modules via \$NGINX_ADD_MODULES!" - ewarn "This nginx installation is not supported!" - ewarn "Make sure you can reproduce the bug without those modules" - ewarn "_before_ reporting bugs." - fi - - if use !http; then - ewarn "To actually disable all http-functionality you also have to disable" - ewarn "all nginx http modules." - fi -} - -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 - - fi - - find auto/ -type f -print0 | xargs -0 sed -i 's:\&\& make:\&\& \\$(MAKE):' || die - # We have config protection, don't rename etc files - sed -i 's:.default::' auto/install || die - # remove useless files - sed -i -e '/koi-/d' -e '/win-/d' auto/install || die - - # don't install to /etc/nginx/ if not in use - local module - for module in fastcgi scgi uwsgi ; do - if ! use nginx_modules_http_${module}; then - sed -i -e "/${module}/d" auto/install || die - fi - done - - epatch_user -} - -src_configure() { - local myconf= http_enabled= mail_enabled= - - use aio && myconf+=" --with-file-aio --with-aio_module" - use debug && myconf+=" --with-debug" - use ipv6 && myconf+=" --with-ipv6" - use libatomic && myconf+=" --with-libatomic" - 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 - http_enabled=1 - else - myconf+=" --without-http_${mod}_module" - fi - done - - for mod in $NGINX_MODULES_OPT; do - if use nginx_modules_http_${mod}; then - http_enabled=1 - myconf+=" --with-http_${mod}_module" - fi - done - - if use nginx_modules_http_fastcgi; then - myconf+=" --with-http_realip_module" - fi - - # third-party modules - if use nginx_modules_http_upload_progress; then - http_enabled=1 - myconf+=" --add-module=${HTTP_UPLOAD_PROGRESS_MODULE_WD}" - fi - - if use nginx_modules_http_headers_more; then - http_enabled=1 - 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}" - fi - - if use nginx_modules_http_slowfs_cache; then - http_enabled=1 - myconf+=" --add-module=${HTTP_SLOWFS_CACHE_MODULE_WD}" - fi - - if use nginx_modules_http_fancyindex; then - http_enabled=1 - myconf+=" --add-module=${HTTP_FANCYINDEX_MODULE_WD}" - fi - - if use nginx_modules_http_lua; then - http_enabled=1 - myconf+=" --add-module=${DEVEL_KIT_MODULE_WD}" - myconf+=" --add-module=${HTTP_LUA_MODULE_WD}" - fi - - if use nginx_modules_http_auth_pam; then - http_enabled=1 - myconf+=" --add-module=${HTTP_AUTH_PAM_MODULE_WD}" - fi - - if use nginx_modules_http_upstream_check; then - http_enabled=1 - myconf+=" --add-module=${HTTP_UPSTREAM_CHECK_MODULE_WD}" - fi - - if use nginx_modules_http_metrics; then - http_enabled=1 - myconf+=" --add-module=${HTTP_METRICS_MODULE_WD}" - fi - - if use nginx_modules_http_naxsi ; then - http_enabled=1 - myconf+=" --add-module=${HTTP_NAXSI_MODULE_WD}" - fi - - if use rtmp ; then - http_enabled=1 - myconf+=" --add-module=${RTMP_MODULE_WD}" - fi - - if use nginx_modules_http_dav_ext ; then - http_enabled=1 - myconf+=" --add-module=${HTTP_DAV_EXT_MODULE_WD}" - fi - - if use nginx_modules_http_echo ; then - http_enabled=1 - myconf+=" --add-module=${HTTP_ECHO_MODULE_WD}" - fi - - if use nginx_modules_http_security ; then - http_enabled=1 - myconf+=" --add-module=${HTTP_SECURITY_MODULE_WD}/nginx/modsecurity" - fi - - if use nginx_modules_http_push_stream ; then - http_enabled=1 - myconf+=" --add-module=${HTTP_PUSH_STREAM_MODULE_WD}" - fi - - if use nginx_modules_http_xsltproc; then - http_enabled=1 - myconf+=" --add-module=${WORKDIR}/yoreek-nginx-xsltproc-module-${HTTP_XSLTPROC_MODULE_SHA1}" - fi - - if use http || use http-cache; then - http_enabled=1 - fi - - if [ $http_enabled ]; then - use http-cache || myconf+=" --without-http-cache" - use ssl && myconf+=" --with-http_ssl_module" - else - myconf+=" --without-http --without-http-cache" - fi - - # MAIL modules - for mod in $NGINX_MODULES_MAIL; do - if use nginx_modules_mail_${mod}; then - mail_enabled=1 - else - myconf+=" --without-mail_${mod}_module" - fi - done - - if [ $mail_enabled ]; then - myconf+=" --with-mail" - use ssl && myconf+=" --with-mail_ssl_module" - fi - - # custom modules - for mod in $NGINX_ADD_MODULES; do - myconf+=" --add-module=${mod}" - done - - # https://bugs.gentoo.org/286772 - export LANG=C LC_ALL=C - tc-export CC - - if ! use prefix; then - myconf+=" --user=${PN} --group=${PN}" - fi - - ./configure \ - --prefix="${EPREFIX}"/usr \ - --conf-path="${EPREFIX}"/etc/${PN}/${PN}.conf \ - --error-log-path="${EPREFIX}"/var/log/${PN}/error_log \ - --pid-path="${EPREFIX}"/run/${PN}.pid \ - --lock-path="${EPREFIX}"/run/lock/${PN}.lock \ - --with-cc-opt="-I${EROOT}usr/include" \ - --with-ld-opt="-L${EROOT}usr/lib" \ - --http-log-path="${EPREFIX}"/var/log/${PN}/access_log \ - --http-client-body-temp-path="${EPREFIX}/${NGINX_HOME_TMP}"/client \ - --http-proxy-temp-path="${EPREFIX}/${NGINX_HOME_TMP}"/proxy \ - --http-fastcgi-temp-path="${EPREFIX}/${NGINX_HOME_TMP}"/fastcgi \ - --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() { - use nginx_modules_http_security && emake -C "${HTTP_SECURITY_MODULE_WD}" - - # https://bugs.gentoo.org/286772 - export LANG=C LC_ALL=C - emake LINK="${CC} ${LDFLAGS}" OTHERLDFLAGS="${LDFLAGS}" -} - -src_install() { - emake DESTDIR="${D}" install - - cp "${FILESDIR}"/nginx.conf "${ED}"/etc/nginx/nginx.conf || die - - newinitd "${FILESDIR}"/nginx.initd-r2 nginx - - systemd_newunit "${FILESDIR}"/nginx.service-r1 nginx.service - - doman man/nginx.8 - dodoc CHANGES* README - - # just keepdir. do not copy the default htdocs files (bug #449136) - keepdir /var/www/localhost - rm -rf "${D}"/usr/html || die - - # set up a list of directories to keep - local keepdir_list="${NGINX_HOME_TMP}"/client - local module - for module in proxy fastcgi scgi uwsgi; do - use nginx_modules_http_${module} && keepdir_list+=" ${NGINX_HOME_TMP}/${module}" - done - - keepdir /var/log/nginx ${keepdir_list} - - # this solves a problem with SELinux where nginx doesn't see the directories - # as root and tries to create them as nginx - fperms 0750 "${NGINX_HOME_TMP}" - fowners ${PN}:0 "${NGINX_HOME_TMP}" - - fperms 0700 /var/log/nginx ${keepdir_list} - fowners ${PN}:${PN} /var/log/nginx ${keepdir_list} - - # logrotate - insinto /etc/logrotate.d - newins "${FILESDIR}"/nginx.logrotate nginx - - if use nginx_modules_http_perl; then - cd "${S}"/objs/src/http/modules/perl/ - einstall DESTDIR="${D}" INSTALLDIRS=vendor - 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} - fi - - if use nginx_modules_http_slowfs_cache; then - docinto ${HTTP_SLOWFS_CACHE_MODULE_P} - dodoc "${HTTP_SLOWFS_CACHE_MODULE_WD}"/{CHANGES,README.md} - fi - - if use nginx_modules_http_fancyindex; then - docinto ${HTTP_FANCYINDEX_MODULE_P} - dodoc "${HTTP_FANCYINDEX_MODULE_WD}"/README.rst - fi - - if use nginx_modules_http_lua; then - docinto ${HTTP_LUA_MODULE_P} - dodoc "${HTTP_LUA_MODULE_WD}"/{Changes,README.markdown} - fi - - if use nginx_modules_http_auth_pam; then - docinto ${HTTP_AUTH_PAM_MODULE_P} - dodoc "${HTTP_AUTH_PAM_MODULE_WD}"/{README,ChangeLog} - fi - - if use nginx_modules_http_upstream_check; then - docinto ${HTTP_UPSTREAM_CHECK_MODULE_P} - dodoc "${HTTP_UPSTREAM_CHECK_MODULE_WD}"/{README,CHANGES} - fi - -# README.md is still empty -# if use nginx_modules_http_metrics; then -# docinto ${HTTP_METRICS_MODULE_P} -# dodoc "${HTTP_METRICS_MODULE_WD}"/README.md -# fi - - if use nginx_modules_http_naxsi; then - insinto /etc/nginx - doins "${HTTP_NAXSI_MODULE_WD}"/../naxsi_config/naxsi_core.rules - fi - - if use rtmp; then - docinto ${RTMP_MODULE_P} - dodoc "${RTMP_MODULE_WD}"/{AUTHORS,README.md,TODO,stat.xsl} - fi - - if use nginx_modules_http_dav_ext; then - docinto ${HTTP_DAV_EXT_MODULE_P} - dodoc "${HTTP_DAV_EXT_MODULE_WD}"/README - fi - - if use nginx_modules_http_echo; then - docinto ${HTTP_ECHO_MODULE_P} - dodoc "${HTTP_ECHO_MODULE_WD}"/{README,README.markdown,doc/HttpEchoModule.wiki} - fi - - if use nginx_modules_http_security; then - docinto ${HTTP_SECURITY_MODULE_P} - dodoc "${HTTP_SECURITY_MODULE_WD}"/{CHANGES,README.TXT,authors.txt} - fi - - if use nginx_modules_http_push_stream; then - docinto ${HTTP_PUSH_STREAM_MODULE_P} - dodoc "${HTTP_PUSH_STREAM_MODULE_WD}"/{AUTHORS,CHANGELOG.textile,README.textile} - fi -} - -pkg_postinst() { - if use ssl; then - if [ ! -f "${EROOT}"/etc/ssl/${PN}/${PN}.key ]; then - install_cert /etc/ssl/${PN}/${PN} - use prefix || chown ${PN}:${PN} "${EROOT}"/etc/ssl/${PN}/${PN}.{crt,csr,key,pem} - fi - fi - - if use nginx_modules_http_lua && use nginx_modules_http_spdy; then - ewarn "Lua 3rd party module author warns against using ${P} with" - ewarn "NGINX_MODULES_HTTP=\"lua spdy\". For more info, see http://git.io/OldLsg" - fi - - # This is the proper fix for bug #458726/#469094, resp. CVE-2013-0337 for - # existing installations - local fix_perms=0 - - for rv in ${REPLACING_VERSIONS} ; do - version_compare ${rv} 1.4.1-r2 - [[ $? -eq 1 ]] && fix_perms=1 - done - - if [[ $fix_perms -eq 1 ]] ; then - ewarn "To fix a security bug (CVE-2013-0337, bug #458726) had the following" - ewarn "directories the world-readable bit removed (if set):" - ewarn " ${EPREFIX}/var/log/nginx" - ewarn " ${EPREFIX}${NGINX_HOME_TMP}/{,client,proxy,fastcgi,scgi,uwsgi}" - ewarn "Check if this is correct for your setup before restarting nginx!" - ewarn "This is a one-time change and will not happen on subsequent updates." - ewarn "Furthermore nginx' temp directories got moved to ${NGINX_HOME_TMP}" - chmod -f o-rwx "${EPREFIX}"/var/log/nginx "${EPREFIX}/${NGINX_HOME_TMP}"/{,client,proxy,fastcgi,scgi,uwsgi} - fi - - # If the nginx user can't change into or read the dir, display a warning. - # If su is not available we display the warning nevertheless since we can't check properly - su -s /bin/sh -c 'cd /var/log/nginx/ && ls' nginx >&/dev/null - if [ $? -ne 0 ] ; then - ewarn "Please make sure that the nginx user or group has at least" - ewarn "'rx' permissions on /var/log/nginx (default on a fresh install)" - ewarn "Otherwise you end up with empty log files after a logrotate." - fi -} diff --git a/www-servers/nginx/nginx-1.4.4-r103.ebuild b/www-servers/nginx/nginx-1.4.4-r103.ebuild new file mode 100644 index 0000000..13ceaf1 --- /dev/null +++ b/www-servers/nginx/nginx-1.4.4-r103.ebuild @@ -0,0 +1,664 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/nginx-1.4.4.ebuild,v 1.3 2013/11/20 20:22:16 ago Exp $ + +EAPI="5" + +# Maintainer notes: +# - http_rewrite-independent pcre-support makes sense for matching locations without an actual rewrite +# - any http-module activates the main http-functionality and overrides USE=-http +# - keep the following requirements in mind before adding external modules: +# * alive upstream +# * sane packaging +# * builds cleanly +# * does not need a patch for nginx core +# - TODO: test the google-perftools module (included in vanilla tarball) + +# 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" +DEVEL_KIT_MODULE_URI="https://github.com/simpl/ngx_devel_kit/archive/v${DEVEL_KIT_MODULE_PV}.tar.gz" +DEVEL_KIT_MODULE_WD="${WORKDIR}/ngx_devel_kit-${DEVEL_KIT_MODULE_PV}" + +# http_uploadprogress (https://github.com/masterzen/nginx-upload-progress-module, BSD-2 license) +HTTP_UPLOAD_PROGRESS_MODULE_PV="0.9.0" +HTTP_UPLOAD_PROGRESS_MODULE_P="ngx_http_upload_progress-${HTTP_UPLOAD_PROGRESS_MODULE_PV}-r1" +HTTP_UPLOAD_PROGRESS_MODULE_URI="https://github.com/masterzen/nginx-upload-progress-module/archive/v${HTTP_UPLOAD_PROGRESS_MODULE_PV}.tar.gz" +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.22" +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.692" +HTTP_PUSH_MODULE_P="ngx_http_push-${HTTP_PUSH_MODULE_PV}" +HTTP_PUSH_MODULE_URI="http://pushmodule.slact.net/downloads/nginx_http_push_module-${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}" +HTTP_CACHE_PURGE_MODULE_URI="http://labs.frickle.com/files/ngx_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}.tar.gz" +HTTP_CACHE_PURGE_MODULE_WD="${WORKDIR}/ngx_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}" + +# http_slowfs_cache (http://labs.frickle.com/nginx_ngx_slowfs_cache/, BSD-2 license) +HTTP_SLOWFS_CACHE_MODULE_PV="1.10" +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_MODULE_PV="0.3.2" +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.0" +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}" + +# http_auth_pam (http://web.iti.upv.es/~sto/nginx/, BSD-2 license) +HTTP_AUTH_PAM_MODULE_PV="1.3" +HTTP_AUTH_PAM_MODULE_P="ngx_http_auth_pam-${HTTP_AUTH_PAM_MODULE_PV}" +HTTP_AUTH_PAM_MODULE_URI="http://web.iti.upv.es/~sto/nginx/ngx_http_auth_pam_module-${HTTP_AUTH_PAM_MODULE_PV}.tgz" +HTTP_AUTH_PAM_MODULE_WD="${WORKDIR}/ngx_http_auth_pam_module-${HTTP_AUTH_PAM_MODULE_PV}" + +# http_upstream_check (https://github.com/yaoweibin/nginx_upstream_check_module, BSD license) +HTTP_UPSTREAM_CHECK_MODULE_PV="0.1.9" +HTTP_UPSTREAM_CHECK_MODULE_P="ngx_http_upstream_check-${HTTP_UPSTREAM_CHECK_MODULE_PV}" +HTTP_UPSTREAM_CHECK_MODULE_URI="https://github.com/yaoweibin/nginx_upstream_check_module/archive/v${HTTP_UPSTREAM_CHECK_MODULE_PV}.tar.gz" +HTTP_UPSTREAM_CHECK_MODULE_WD="${WORKDIR}/nginx_upstream_check_module-${HTTP_UPSTREAM_CHECK_MODULE_PV}" + +# http_metrics (https://github.com/madvertise/ngx_metrics, BSD license) +HTTP_METRICS_MODULE_PV="0.1.1" +HTTP_METRICS_MODULE_P="ngx_metrics-${HTTP_METRICS_MODULE_PV}" +HTTP_METRICS_MODULE_URI="https://github.com/madvertise/ngx_metrics/archive/v${HTTP_METRICS_MODULE_PV}.tar.gz" +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.52-1" +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.5" +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_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.48" +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_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}" + +# push-stream-module (https://github.com/wandenberg/nginx-push-stream-module, GPL-3) +HTTP_PUSH_STREAM_MODULE_PV="0.3.5" +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}" + +# http_xsltproc (http://github.com/yoreek/nginx-xsltproc-module/, BSD license) +HTTP_XSLTPROC_MODULE_PV="0.15" +HTTP_XSLTPROC_MODULE_P="ngx_xsltproc-${HTTP_XSLTPROC_MODULE_PV}" +HTTP_XSLTPROC_MODULE_SHA1="dda8dfc" +HTTP_XSLTPROC_MODULE_URI="https://github.com/yoreek/nginx-xsltproc-module/tarball/v${HTTP_XSLTPROC_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" +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 ) + nginx_modules_http_lua? ( ${HTTP_LUA_MODULE_URI} -> ${HTTP_LUA_MODULE_P}.tar.gz ) + nginx_modules_http_auth_pam? ( ${HTTP_AUTH_PAM_MODULE_URI} -> ${HTTP_AUTH_PAM_MODULE_P}.tar.gz ) + nginx_modules_http_upstream_check? ( ${HTTP_UPSTREAM_CHECK_MODULE_URI} -> ${HTTP_UPSTREAM_CHECK_MODULE_P}.tar.gz ) + nginx_modules_http_metrics? ( ${HTTP_METRICS_MODULE_URI} -> ${HTTP_METRICS_MODULE_P}.tar.gz ) + nginx_modules_http_naxsi? ( ${HTTP_NAXSI_MODULE_URI} -> ${HTTP_NAXSI_MODULE_P}.tar.gz ) + rtmp? ( ${RTMP_MODULE_URI} -> ${RTMP_MODULE_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_xsltproc? ( ${HTTP_XSLTPROC_MODULE_URI} -> ${HTTP_XSLTPROC_MODULE_P}.tar.gz )" + +LICENSE="BSD-2 BSD SSLeay MIT GPL-2 GPL-2+ + nginx_modules_http_security? ( Apache-2.0 ) + nginx_modules_http_push_stream? ( GPL-3 )" + +SLOT="0" +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 dav degradation flv geoip gunzip gzip_static image_filter +mp4 perl random_index realip secure_link spdy stub_status sub" +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 + http_lua + http_auth_pam + http_upstream_check + http_metrics + http_naxsi + http_dav_ext + http_echo + http_security + http_push_stream + http_xsltproc" + +IUSE="aio debug +http +http-cache ipv6 libatomic +pcre pcre-jit rtmp selinux ssl +syslog userland_GNU vim-syntax +nginx_modules_http_xsltproc xsltproc-memcached" + +for mod in $NGINX_MODULES_STD; do + IUSE="${IUSE} +nginx_modules_http_${mod}" +done + +for mod in $NGINX_MODULES_OPT; do + IUSE="${IUSE} nginx_modules_http_${mod}" +done + +for mod in $NGINX_MODULES_MAIL; do + IUSE="${IUSE} nginx_modules_mail_${mod}" +done + +for mod in $NGINX_MODULES_3RD; do + IUSE="${IUSE} nginx_modules_${mod}" +done + +CDEPEND=" + pcre? ( >=dev-libs/libpcre-4.2 ) + pcre-jit? ( >=dev-libs/libpcre-8.20[jit] ) + selinux? ( sec-policy/selinux-nginx ) + ssl? ( dev-libs/openssl ) + http-cache? ( userland_GNU? ( dev-libs/openssl ) ) + nginx_modules_http_geoip? ( dev-libs/geoip ) + nginx_modules_http_gunzip? ( sys-libs/zlib ) + nginx_modules_http_gzip? ( sys-libs/zlib ) + nginx_modules_http_gzip_static? ( sys-libs/zlib ) + nginx_modules_http_image_filter? ( media-libs/gd[jpeg,png] ) + nginx_modules_http_perl? ( >=dev-lang/perl-5.8 ) + nginx_modules_http_rewrite? ( >=dev-libs/libpcre-4.2 ) + nginx_modules_http_secure_link? ( userland_GNU? ( dev-libs/openssl ) ) + nginx_modules_http_spdy? ( >=dev-libs/openssl-1.0.1c ) + nginx_modules_http_xsltproc? ( dev-libs/libxml2 dev-libs/libxslt dev-libs/icu ) + xsltproc-memcached? ( dev-libs/libmemcached ) + nginx_modules_http_lua? ( || ( dev-lang/lua dev-lang/luajit ) ) + nginx_modules_http_auth_pam? ( virtual/pam ) + nginx_modules_http_metrics? ( dev-libs/yajl ) + nginx_modules_http_dav_ext? ( dev-libs/expat ) + nginx_modules_http_security? ( >=dev-libs/libxml2-2.7.8 dev-libs/apr-util www-servers/apache )" +RDEPEND="${CDEPEND}" +DEPEND="${CDEPEND} + arm? ( dev-libs/libatomic_ops ) + libatomic? ( dev-libs/libatomic_ops )" +PDEPEND="vim-syntax? ( app-vim/nginx-syntax )" + +REQUIRED_USE="pcre-jit? ( pcre ) + nginx_modules_http_lua? ( nginx_modules_http_rewrite ) + nginx_modules_http_naxsi? ( pcre ) + nginx_modules_http_dav_ext? ( nginx_modules_http_dav ) + nginx_modules_http_metrics? ( nginx_modules_http_stub_status ) + nginx_modules_http_security? ( pcre ) + nginx_modules_http_push_stream? ( ssl ) + xsltproc-memcached? ( nginx_modules_http_xsltproc )" + +pkg_setup() { + NGINX_HOME="/var/lib/nginx" + NGINX_HOME_TMP="${NGINX_HOME}/tmp" + + ebegin "Creating nginx user and group" + enewgroup ${PN} + enewuser ${PN} -1 -1 "${NGINX_HOME}" ${PN} + eend $? + + if use libatomic; then + ewarn "GCC 4.1+ features built-in atomic operations." + ewarn "Using libatomic_ops is only needed if using" + ewarn "a different compiler or a GCC prior to 4.1" + fi + + if [[ -n $NGINX_ADD_MODULES ]]; then + ewarn "You are building custom modules via \$NGINX_ADD_MODULES!" + ewarn "This nginx installation is not supported!" + ewarn "Make sure you can reproduce the bug without those modules" + ewarn "_before_ reporting bugs." + fi + + if use !http; then + ewarn "To actually disable all http-functionality you also have to disable" + ewarn "all nginx http modules." + fi +} + +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 - + fi + + find auto/ -type f -print0 | xargs -0 sed -i 's:\&\& make:\&\& \\$(MAKE):' || die + # We have config protection, don't rename etc files + sed -i 's:.default::' auto/install || die + # remove useless files + sed -i -e '/koi-/d' -e '/win-/d' auto/install || die + + # don't install to /etc/nginx/ if not in use + local module + for module in fastcgi scgi uwsgi ; do + if ! use nginx_modules_http_${module}; then + sed -i -e "/${module}/d" auto/install || die + fi + done + + epatch_user +} + +src_configure() { + local myconf= http_enabled= mail_enabled= + + use aio && myconf+=" --with-file-aio --with-aio_module" + use debug && myconf+=" --with-debug" + use ipv6 && myconf+=" --with-ipv6" + use libatomic && myconf+=" --with-libatomic" + 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 + http_enabled=1 + else + myconf+=" --without-http_${mod}_module" + fi + done + + for mod in $NGINX_MODULES_OPT; do + if use nginx_modules_http_${mod}; then + http_enabled=1 + myconf+=" --with-http_${mod}_module" + fi + done + + if use nginx_modules_http_fastcgi; then + myconf+=" --with-http_realip_module" + fi + + # third-party modules + if use nginx_modules_http_upload_progress; then + http_enabled=1 + myconf+=" --add-module=${HTTP_UPLOAD_PROGRESS_MODULE_WD}" + fi + + if use nginx_modules_http_headers_more; then + http_enabled=1 + 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}" + fi + + if use nginx_modules_http_slowfs_cache; then + http_enabled=1 + myconf+=" --add-module=${HTTP_SLOWFS_CACHE_MODULE_WD}" + fi + + if use nginx_modules_http_fancyindex; then + http_enabled=1 + myconf+=" --add-module=${HTTP_FANCYINDEX_MODULE_WD}" + fi + + if use nginx_modules_http_lua; then + http_enabled=1 + myconf+=" --add-module=${DEVEL_KIT_MODULE_WD}" + myconf+=" --add-module=${HTTP_LUA_MODULE_WD}" + fi + + if use nginx_modules_http_auth_pam; then + http_enabled=1 + myconf+=" --add-module=${HTTP_AUTH_PAM_MODULE_WD}" + fi + + if use nginx_modules_http_upstream_check; then + http_enabled=1 + myconf+=" --add-module=${HTTP_UPSTREAM_CHECK_MODULE_WD}" + fi + + if use nginx_modules_http_metrics; then + http_enabled=1 + myconf+=" --add-module=${HTTP_METRICS_MODULE_WD}" + fi + + if use nginx_modules_http_naxsi ; then + http_enabled=1 + myconf+=" --add-module=${HTTP_NAXSI_MODULE_WD}" + fi + + if use rtmp ; then + http_enabled=1 + myconf+=" --add-module=${RTMP_MODULE_WD}" + fi + + if use nginx_modules_http_dav_ext ; then + http_enabled=1 + myconf+=" --add-module=${HTTP_DAV_EXT_MODULE_WD}" + fi + + if use nginx_modules_http_echo ; then + http_enabled=1 + myconf+=" --add-module=${HTTP_ECHO_MODULE_WD}" + fi + + if use nginx_modules_http_security ; then + http_enabled=1 + myconf+=" --add-module=${HTTP_SECURITY_MODULE_WD}/nginx/modsecurity" + fi + + if use nginx_modules_http_push_stream ; then + http_enabled=1 + myconf+=" --add-module=${HTTP_PUSH_STREAM_MODULE_WD}" + fi + + if use nginx_modules_http_xsltproc; then + http_enabled=1 + myconf+=" --add-module=${WORKDIR}/yoreek-nginx-xsltproc-module-${HTTP_XSLTPROC_MODULE_SHA1}" + fi + + if use http || use http-cache; then + http_enabled=1 + fi + + if [ $http_enabled ]; then + use http-cache || myconf+=" --without-http-cache" + use ssl && myconf+=" --with-http_ssl_module" + else + myconf+=" --without-http --without-http-cache" + fi + + # MAIL modules + for mod in $NGINX_MODULES_MAIL; do + if use nginx_modules_mail_${mod}; then + mail_enabled=1 + else + myconf+=" --without-mail_${mod}_module" + fi + done + + if [ $mail_enabled ]; then + myconf+=" --with-mail" + use ssl && myconf+=" --with-mail_ssl_module" + fi + + # custom modules + for mod in $NGINX_ADD_MODULES; do + myconf+=" --add-module=${mod}" + done + + # https://bugs.gentoo.org/286772 + export LANG=C LC_ALL=C + tc-export CC + + if ! use prefix; then + myconf+=" --user=${PN} --group=${PN}" + fi + + ./configure \ + --prefix="${EPREFIX}"/usr \ + --conf-path="${EPREFIX}"/etc/${PN}/${PN}.conf \ + --error-log-path="${EPREFIX}"/var/log/${PN}/error_log \ + --pid-path="${EPREFIX}"/run/${PN}.pid \ + --lock-path="${EPREFIX}"/run/lock/${PN}.lock \ + --with-cc-opt="-I${EROOT}usr/include" \ + --with-ld-opt="-L${EROOT}usr/lib" \ + --http-log-path="${EPREFIX}"/var/log/${PN}/access_log \ + --http-client-body-temp-path="${EPREFIX}/${NGINX_HOME_TMP}"/client \ + --http-proxy-temp-path="${EPREFIX}/${NGINX_HOME_TMP}"/proxy \ + --http-fastcgi-temp-path="${EPREFIX}/${NGINX_HOME_TMP}"/fastcgi \ + --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() { + use nginx_modules_http_security && emake -C "${HTTP_SECURITY_MODULE_WD}" + + # https://bugs.gentoo.org/286772 + export LANG=C LC_ALL=C + emake LINK="${CC} ${LDFLAGS}" OTHERLDFLAGS="${LDFLAGS}" +} + +src_install() { + emake DESTDIR="${D}" install + + cp "${FILESDIR}"/nginx.conf "${ED}"/etc/nginx/nginx.conf || die + + newinitd "${FILESDIR}"/nginx.initd-r2 nginx + + systemd_newunit "${FILESDIR}"/nginx.service-r1 nginx.service + + doman man/nginx.8 + dodoc CHANGES* README + + # just keepdir. do not copy the default htdocs files (bug #449136) + keepdir /var/www/localhost + rm -rf "${D}"/usr/html || die + + # set up a list of directories to keep + local keepdir_list="${NGINX_HOME_TMP}"/client + local module + for module in proxy fastcgi scgi uwsgi; do + use nginx_modules_http_${module} && keepdir_list+=" ${NGINX_HOME_TMP}/${module}" + done + + keepdir /var/log/nginx ${keepdir_list} + + # this solves a problem with SELinux where nginx doesn't see the directories + # as root and tries to create them as nginx + fperms 0750 "${NGINX_HOME_TMP}" + fowners ${PN}:0 "${NGINX_HOME_TMP}" + + fperms 0700 /var/log/nginx ${keepdir_list} + fowners ${PN}:${PN} /var/log/nginx ${keepdir_list} + + # logrotate + insinto /etc/logrotate.d + newins "${FILESDIR}"/nginx.logrotate nginx + + if use nginx_modules_http_perl; then + cd "${S}"/objs/src/http/modules/perl/ + einstall DESTDIR="${D}" INSTALLDIRS=vendor + 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} + fi + + if use nginx_modules_http_slowfs_cache; then + docinto ${HTTP_SLOWFS_CACHE_MODULE_P} + dodoc "${HTTP_SLOWFS_CACHE_MODULE_WD}"/{CHANGES,README.md} + fi + + if use nginx_modules_http_fancyindex; then + docinto ${HTTP_FANCYINDEX_MODULE_P} + dodoc "${HTTP_FANCYINDEX_MODULE_WD}"/README.rst + fi + + if use nginx_modules_http_lua; then + docinto ${HTTP_LUA_MODULE_P} + dodoc "${HTTP_LUA_MODULE_WD}"/{Changes,README.markdown} + fi + + if use nginx_modules_http_auth_pam; then + docinto ${HTTP_AUTH_PAM_MODULE_P} + dodoc "${HTTP_AUTH_PAM_MODULE_WD}"/{README,ChangeLog} + fi + + if use nginx_modules_http_upstream_check; then + docinto ${HTTP_UPSTREAM_CHECK_MODULE_P} + dodoc "${HTTP_UPSTREAM_CHECK_MODULE_WD}"/{README,CHANGES} + fi + +# README.md is still empty +# if use nginx_modules_http_metrics; then +# docinto ${HTTP_METRICS_MODULE_P} +# dodoc "${HTTP_METRICS_MODULE_WD}"/README.md +# fi + + if use nginx_modules_http_naxsi; then + insinto /etc/nginx + doins "${HTTP_NAXSI_MODULE_WD}"/../naxsi_config/naxsi_core.rules + fi + + if use rtmp; then + docinto ${RTMP_MODULE_P} + dodoc "${RTMP_MODULE_WD}"/{AUTHORS,README.md,TODO,stat.xsl} + fi + + if use nginx_modules_http_dav_ext; then + docinto ${HTTP_DAV_EXT_MODULE_P} + dodoc "${HTTP_DAV_EXT_MODULE_WD}"/README + fi + + if use nginx_modules_http_echo; then + docinto ${HTTP_ECHO_MODULE_P} + dodoc "${HTTP_ECHO_MODULE_WD}"/{README,README.markdown,doc/HttpEchoModule.wiki} + fi + + if use nginx_modules_http_security; then + docinto ${HTTP_SECURITY_MODULE_P} + dodoc "${HTTP_SECURITY_MODULE_WD}"/{CHANGES,README.TXT,authors.txt} + fi + + if use nginx_modules_http_push_stream; then + docinto ${HTTP_PUSH_STREAM_MODULE_P} + dodoc "${HTTP_PUSH_STREAM_MODULE_WD}"/{AUTHORS,CHANGELOG.textile,README.textile} + fi +} + +pkg_postinst() { + if use ssl; then + if [ ! -f "${EROOT}"/etc/ssl/${PN}/${PN}.key ]; then + install_cert /etc/ssl/${PN}/${PN} + use prefix || chown ${PN}:${PN} "${EROOT}"/etc/ssl/${PN}/${PN}.{crt,csr,key,pem} + fi + fi + + if use nginx_modules_http_lua && use nginx_modules_http_spdy; then + ewarn "Lua 3rd party module author warns against using ${P} with" + ewarn "NGINX_MODULES_HTTP=\"lua spdy\". For more info, see http://git.io/OldLsg" + fi + + # This is the proper fix for bug #458726/#469094, resp. CVE-2013-0337 for + # existing installations + local fix_perms=0 + + for rv in ${REPLACING_VERSIONS} ; do + version_compare ${rv} 1.4.1-r2 + [[ $? -eq 1 ]] && fix_perms=1 + done + + if [[ $fix_perms -eq 1 ]] ; then + ewarn "To fix a security bug (CVE-2013-0337, bug #458726) had the following" + ewarn "directories the world-readable bit removed (if set):" + ewarn " ${EPREFIX}/var/log/nginx" + ewarn " ${EPREFIX}${NGINX_HOME_TMP}/{,client,proxy,fastcgi,scgi,uwsgi}" + ewarn "Check if this is correct for your setup before restarting nginx!" + ewarn "This is a one-time change and will not happen on subsequent updates." + ewarn "Furthermore nginx' temp directories got moved to ${NGINX_HOME_TMP}" + chmod -f o-rwx "${EPREFIX}"/var/log/nginx "${EPREFIX}/${NGINX_HOME_TMP}"/{,client,proxy,fastcgi,scgi,uwsgi} + fi + + # If the nginx user can't change into or read the dir, display a warning. + # If su is not available we display the warning nevertheless since we can't check properly + su -s /bin/sh -c 'cd /var/log/nginx/ && ls' nginx >&/dev/null + if [ $? -ne 0 ] ; then + ewarn "Please make sure that the nginx user or group has at least" + ewarn "'rx' permissions on /var/log/nginx (default on a fresh install)" + ewarn "Otherwise you end up with empty log files after a logrotate." + fi +} -- cgit v1.2.3-65-gdbad