diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-12-14 13:26:14 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-12-14 13:26:14 +0000 |
commit | 6abbf81ef2f298e3221ff5e67a1f3c5f23958212 (patch) | |
tree | 25413d1cb3a0cbfe36029db32398c0f333609215 /www-servers | |
parent | 9c417bacd51da6d8b57fa9f37425161d30d4b95b (diff) |
gentoo resync : 14.12.2020
Diffstat (limited to 'www-servers')
27 files changed, 1603 insertions, 229 deletions
diff --git a/www-servers/Manifest.gz b/www-servers/Manifest.gz Binary files differindex 988b4d312e65..dc037760d72f 100644 --- a/www-servers/Manifest.gz +++ b/www-servers/Manifest.gz diff --git a/www-servers/apache/Manifest b/www-servers/apache/Manifest index d843d950a84d..f2bd3db56e89 100644 --- a/www-servers/apache/Manifest +++ b/www-servers/apache/Manifest @@ -3,7 +3,9 @@ AUX apache-2.4.41-libressl.patch 1082 BLAKE2B 98428a5653f47e6dd38452809bee92ef7a AUX apache.conf 55 BLAKE2B 05ab58ac12e51c7aa548a71a2da43bbf80e53ef8ebe7d143f698b118621f2af1498a1362e7f30b82dc12a96485652cb0c34248c290f6a1aab6a3f378d9843c2a SHA512 3a53beb7a283d17c14383f16ad14c0602681ac1b193cce8f5aca50ae9d9af3a71054ce4a9ab11cbcb72fe913459e1b306fd54660154e66afe10272f8c0f149f3 AUX apache2.2-hardened.service 970 BLAKE2B 77bf52cd0e5793aa81ad2b16267c1339e10fc4875704add053fd9ec67db60d2e175cb7a271c8d36b5e675a9cddd431062a6c31730510a921357b472383b502e4 SHA512 c206e7103d592dcf4f2d62979a20f7ab3cc7ce357ffe3c06ae8137064c812b9727e01a53fd602a0a55a64ed609664061de680ff42329381db787e2dae9310c48 DIST gentoo-apache-2.4.39-20190402.tar.bz2 25491 BLAKE2B ce230b07ec156048c7d7c1eb4b0e732fa6140f55d136e317714591327bde3f85bab7780424e6eef04b7a4518cbdcfdddcbc094409f4ca19ffea1ce967bdf7cf1 SHA512 bc0ffa20cffd9a89c2ea64420fa2243d77e97d7922bcd0b387a7fcfcc3c6908a056972b499a81344f7c3e3e19b55ffc300fd034c54b287f4f32d8931bd50cde4 +DIST gentoo-apache-2.4.46-r4-20201203.tar.bz2 25752 BLAKE2B 7479209b648567438789b1c73c99160af94c639710d6255cca2bb42f91d5b4d3f5692fb691a3566078860e00d507f1b97fa2d0d1352cf8de9ae7f311e3026e8c SHA512 9a810f9dba5c493ca25d23b77cf3c1b1991e9376308ec2c55105e6adb291da46c3858fb15200b6d31ac5a45485796667a504dbf217beeabd82ac097a8cca0569 DIST httpd-2.4.46.tar.bz2 7187805 BLAKE2B 2cd8a40be0b7b60ae5b06a286aa6dd801b8615fd0483a4653ceea6f9832c9ebb111f67ba4f69827b01acd1e5552e70ac0441df49573c9da0ca26d4c2f589f0bc SHA512 5936784bb662e9d8a4f7fe38b70c043b468114d931cd10ea831bfe74461ea5856b64f88f42c567ab791fc8907640a99884ba4b6a600f86d661781812735b6f13 EBUILD apache-2.4.46-r1.ebuild 8645 BLAKE2B 500dd93b967c7155d6b07d59f8bb18e8473c0f993f0fd5d56c3e66d4fa80e78e1c180275fee245a7377b7fee822d86b1d21371517b0d46bf9f9ff34fb2a24e5e SHA512 e54c12333cd7390e5a2c2db0ec3bd0e2ff175304a062ccad95fc2a4cebfbc77f130d61d12b0c1e25514214feaf804843323b9532d35b80ca0fa448f5ab828e25 +EBUILD apache-2.4.46-r4.ebuild 8648 BLAKE2B ed16c2f5d7ab1ea4bdffc1563afe905a9c78d51ea13685c663d517afaaec8b822ff56411b7fc76efc994d0c65d4ff7bfe46d28be6f9795efb138263528e57e6d SHA512 9154e5637db94174e4d8cda705d50042f5688a1ba5d027719a9f0d14c6075acee29fa006ba088eff4ccaf03a1fe6d1f46a9a480cbc3aaf435a0565c2bec90d5f EBUILD apache-2.4.46.ebuild 8572 BLAKE2B 9f3a59cee0344f620d307e3316f8a17863227b0fbb8aee4a85474c6cfd23e9897d75628e66dbf0de901b9901b20ea4ec431ba7a16d79a5ec5437bc4bbf803eac SHA512 378d004209a14a97bf7358d284d9fa9bb51f1d5340daf8988739e53ef9b8f354e074c0def44d577fb9176137f136e0704ae18e4b000601acb6c63db7caa10a76 MISC metadata.xml 1012 BLAKE2B ca2238f428144240f64b5c9e48087a07a3f77278958efb240edeb864050ca01d1e042a37fb304fde76925fb651d7d97755d354a45aff34ac0589b7405b848d54 SHA512 a4e903bb75740c54256fa96359f6a97cd75008ffeeadfd6353648f5bfa2295fb108ec9de398956c79633bc465475f5db365d20d71caa34fc14a07c4715cc8683 diff --git a/www-servers/apache/apache-2.4.46-r4.ebuild b/www-servers/apache/apache-2.4.46-r4.ebuild new file mode 100644 index 000000000000..237f162a3af6 --- /dev/null +++ b/www-servers/apache/apache-2.4.46-r4.ebuild @@ -0,0 +1,274 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +# latest gentoo apache files +GENTOO_PATCHSTAMP="20201203" +GENTOO_DEVELOPER="polynomial-c" +GENTOO_PATCHNAME="gentoo-apache-2.4.46-r4" + +# IUSE/USE_EXPAND magic +IUSE_MPMS_FORK="prefork" +IUSE_MPMS_THREAD="event worker" + +# << obsolete modules: +# authn_default authz_default mem_cache +# mem_cache is replaced by cache_disk +# ?? buggy modules +# proxy_scgi: startup error: undefined symbol "ap_proxy_release_connection", no fix found +# >> added modules for reason: +# compat: compatibility with 2.2 access control +# authz_host: new module for access control +# authn_core: functionality provided by authn_alias in previous versions +# authz_core: new module, provides core authorization capabilities +# cache_disk: replacement for mem_cache +# lbmethod_byrequests: Split off from mod_proxy_balancer in 2.3 +# lbmethod_bytraffic: Split off from mod_proxy_balancer in 2.3 +# lbmethod_bybusyness: Split off from mod_proxy_balancer in 2.3 +# lbmethod_heartbeat: Split off from mod_proxy_balancer in 2.3 +# slotmem_shm: Slot-based shared memory provider (for lbmethod_byrequests). +# socache_shmcb: shared object cache provider. Default config with ssl needs it +# unixd: fixes startup error: Invalid command 'User' +IUSE_MODULES="access_compat actions alias asis auth_basic auth_digest auth_form +authn_alias authn_anon authn_core authn_dbd authn_dbm authn_file authn_socache authz_core +authz_dbd authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex +brotli cache cache_disk cache_socache cern_meta charset_lite cgi cgid dav dav_fs dav_lock +dbd deflate dir dumpio env expires ext_filter file_cache filter headers http2 +ident imagemap include info lbmethod_byrequests lbmethod_bytraffic lbmethod_bybusyness +lbmethod_heartbeat log_config log_forensic logio macro md mime mime_magic negotiation +proxy proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_html proxy_http proxy_scgi +proxy_http2 proxy_fcgi proxy_wstunnel rewrite ratelimit remoteip reqtimeout +session session_cookie session_crypto session_dbd setenvif slotmem_shm speling +socache_memcache socache_shmcb status substitute unique_id userdir usertrack +unixd version vhost_alias watchdog xml2enc" +# The following are also in the source as of this version, but are not available +# for user selection: +# bucketeer case_filter case_filter_in echo http isapi optional_fn_export +# optional_fn_import optional_hook_export optional_hook_import + +# inter-module dependencies +# TODO: this may still be incomplete +MODULE_DEPENDS=" + auth_form:session + brotli:filter + dav_fs:dav + dav_lock:dav + deflate:filter + cache_disk:cache + ext_filter:filter + file_cache:cache + lbmethod_byrequests:proxy_balancer + lbmethod_byrequests:slotmem_shm + lbmethod_bytraffic:proxy_balancer + lbmethod_bybusyness:proxy_balancer + lbmethod_heartbeat:proxy_balancer + log_forensic:log_config + logio:log_config + cache_disk:cache + cache_socache:cache + md:watchdog + mime_magic:mime + proxy_ajp:proxy + proxy_balancer:proxy + proxy_balancer:slotmem_shm + proxy_connect:proxy + proxy_ftp:proxy + proxy_html:proxy + proxy_html:xml2enc + proxy_http:proxy + proxy_http2:proxy + proxy_scgi:proxy + proxy_fcgi:proxy + proxy_wstunnel:proxy + session_cookie:session + session_dbd:dbd + session_dbd:session + socache_memcache:cache + substitute:filter +" + +# module<->define mappings +MODULE_DEFINES=" + auth_digest:AUTH_DIGEST + authnz_ldap:AUTHNZ_LDAP + cache:CACHE + cache_disk:CACHE + cache_socache:CACHE + dav:DAV + dav_fs:DAV + dav_lock:DAV + file_cache:CACHE + http2:HTTP2 + info:INFO + ldap:LDAP + md:SSL + proxy:PROXY + proxy_ajp:PROXY + proxy_balancer:PROXY + proxy_connect:PROXY + proxy_ftp:PROXY + proxy_html:PROXY + proxy_http:PROXY + proxy_fcgi:PROXY + proxy_scgi:PROXY + proxy_wstunnel:PROXY + socache_shmcb:SSL + socache_memcache:CACHE + ssl:SSL + status:STATUS + suexec:SUEXEC + userdir:USERDIR +" + +# critical modules for the default config +MODULE_CRITICAL=" + authn_core + authz_core + authz_host + dir + mime + unixd +" +inherit apache-2 systemd tmpfiles toolchain-funcs + +DESCRIPTION="The Apache Web Server" +HOMEPAGE="https://httpd.apache.org/" + +# some helper scripts are Apache-1.1, thus both are here +LICENSE="Apache-2.0 Apache-1.1" +SLOT="2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x64-macos ~x86-macos ~m68k-mint ~sparc64-solaris ~x64-solaris" + +# Enable http2 by default (bug #563452) +# FIXME: Move to apache-2.eclass once this has reached stable. +IUSE="${IUSE/apache2_modules_http2/+apache2_modules_http2}" +# New suexec options (since 2.4.34) +IUSE="${IUSE} +suexec-caps suexec-syslog split-usr" + +CDEPEND="apache2_modules_brotli? ( >=app-arch/brotli-0.6.0:= ) + apache2_modules_http2? ( >=net-libs/nghttp2-1.2.1 ) + apache2_modules_proxy_http2? ( >=net-libs/nghttp2-1.2.1 ) + apache2_modules_md? ( >=dev-libs/jansson-2.10 ) + apache2_modules_session_crypto? ( + libressl? ( dev-libs/apr-util[libressl] ) + !libressl? ( dev-libs/apr-util[openssl] ) + )" + +DEPEND+="${CDEPEND} + suexec? ( suexec-caps? ( sys-libs/libcap ) )" +RDEPEND+="${CDEPEND}" + +REQUIRED_USE="apache2_modules_http2? ( ssl ) + apache2_modules_md? ( ssl )" + +PATCHES=( + "${FILESDIR}/${PN}-2.4.41-libressl.patch" #668060 +) + +pkg_setup() { + # dependend critical modules which are not allowed in global scope due + # to USE flag conditionals (bug #499260) + use ssl && MODULE_CRITICAL+=" socache_shmcb" + use doc && MODULE_CRITICAL+=" alias negotiation setenvif" + apache-2_pkg_setup +} + +src_configure() { + # Brain dead check. + tc-is-cross-compiler && export ap_cv_void_ptr_lt_long="no" + + apache-2_src_configure +} + +src_compile() { + if tc-is-cross-compiler; then + # This header is the same across targets, so use the build compiler. + pushd server >/dev/null + emake gen_test_char + tc-export_build_env BUILD_CC + ${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} \ + gen_test_char.c -o gen_test_char $(apr-1-config --includes) || die + popd >/dev/null + fi + + default +} + +src_install() { + apache-2_src_install + local i + local apache_tools_prune_list=( + /usr/bin/{htdigest,logresolve,htpasswd,htdbm,ab,httxt2dbm} + /usr/sbin/{checkgid,fcgistarter,htcacheclean,rotatelogs} + /usr/share/man/man1/{logresolve.1,htdbm.1,htdigest.1,htpasswd.1,dbmmanage.1,ab.1} + /usr/share/man/man8/{rotatelogs.8,htcacheclean.8} + ) + for i in ${apache_tools_prune_list[@]} ; do + rm "${ED%/}"/${i} || die "Failed to prune apache-tools bits" + done + + # install apxs in /usr/bin (bug #502384) and put a symlink into the + # old location until all ebuilds and eclasses have been modified to + # use the new location. + dobin support/apxs + use split-usr && dosym ../bin/apxs /usr/sbin/apxs + + # Note: wait for mod_systemd to be included in some forthcoming release, + # Then apache2.4.service can be used and systemd support controlled + # through --enable-systemd + systemd_newunit "${FILESDIR}/apache2.2-hardened.service" "apache2.service" + dotmpfiles "${FILESDIR}/apache.conf" + #insinto /etc/apache2/modules.d + #doins "${FILESDIR}/00_systemd.conf" + + # Install http2 module config + insinto /etc/apache2/modules.d + doins "${FILESDIR}"/41_mod_http2.conf + + # Fix path to apache libdir + sed "s|@LIBDIR@|$(get_libdir)|" -i "${ED%/}"/usr/sbin/apache2ctl || die +} + +pkg_postinst() { + apache-2_pkg_postinst || die "apache-2_pkg_postinst failed" + + tmpfiles_process apache.conf #662544 + + # warnings that default config might not work out of the box + local mod cmod + for mod in ${MODULE_CRITICAL} ; do + if ! use "apache2_modules_${mod}"; then + echo + ewarn "Warning: Critical module not installed!" + ewarn "Modules 'authn_core', 'authz_core' and 'unixd'" + ewarn "are highly recomended but might not be in the base profile yet." + ewarn "Default config for ssl needs module 'socache_shmcb'." + ewarn "Enabling the following flags is highly recommended:" + for cmod in ${MODULE_CRITICAL} ; do + use "apache2_modules_${cmod}" || \ + ewarn "+ apache2_modules_${cmod}" + done + echo + break + fi + done + # warning for proxy_balancer and missing load balancing scheduler + if use apache2_modules_proxy_balancer; then + local lbset= + for mod in lbmethod_byrequests lbmethod_bytraffic lbmethod_bybusyness lbmethod_heartbeat; do + if use "apache2_modules_${mod}"; then + lbset=1 && break + fi + done + if [ ! ${lbset} ] ; then + echo + ewarn "Info: Missing load balancing scheduler algorithm module" + ewarn "(They were split off from proxy_balancer in 2.3)" + ewarn "In order to get the ability of load balancing, at least" + ewarn "one of these modules has to be present:" + ewarn "lbmethod_byrequests lbmethod_bytraffic lbmethod_bybusyness lbmethod_heartbeat" + echo + fi + fi +} diff --git a/www-servers/gatling/Manifest b/www-servers/gatling/Manifest index 31511eb79c31..3395efb63754 100644 --- a/www-servers/gatling/Manifest +++ b/www-servers/gatling/Manifest @@ -1,8 +1,7 @@ AUX gatling-0.13-compile.patch 255 BLAKE2B 08de101796184625542dd339b96e246477a0cb8aaa40bac8640f0d442b9fba09389ada09bd4f852736487bfda30915f0ca562e1ea6aed0bee8d0104cb65a9c63 SHA512 77e35689b80a4d1b9598bf31cc14c3572a7b92d49ffeb98442552f58eeb04a196ce5c8215941d07e197191c349548d23baadac3b84854d6eb93d26632555c699 AUX gatling-0.15-ar.patch 754 BLAKE2B 08ebd3714234ced36751d0ddcb0d3391aa8cbc0f91b215c87d1539f738b9aa7da53495e9171d24554a4a8e3afbfc6553a333228f5867efa18e387deb9f1293a3 SHA512 050bf557c8bbeed9245046d3f938a40c2b2a2d544c0c422deca5ecdea6683dd342a8cca6fcff2419af128c8c0caece33e4848cf2f3e754ebf225ca800f70820c -AUX gatling-0.15-gcc10.patch 811 BLAKE2B 8d081b41df919e6cfc41113e24526e1ab59ea457cb46fe9da2ef6224965f3b89bf635e5c68533ad497ca8f7e4094d01a8167fa6f8ebc994108fc41375251d205 SHA512 409f683ae8ef25050e122e1e448fc0bf04ab1d7caafa37f040960f1143aa7c9c3c4a722229c9243301da21c9216e32da37ce4e4b9bbb8cbc65cc256b8e41bdc5 AUX gatling.confd 659 BLAKE2B ac3a2bc798e8ee9172f7c807c7e80f5bc7ad12e1830f296f097078887e609facfcb6087c6d5cdaa162fd747d7f03d208a28ec30e12fb67e7dc938ed0e65f766b SHA512 e903cd9afbb575226c6de0da8ad673d4650a53cac7442505422c98c32a00457f3d48f2853355cd76ea0f83671cb973ddf90df900d86a15172291317109481fb3 AUX gatling.initd-3 1970 BLAKE2B ba48e796b4fca2cd165756b3ef781feb47be18e43043d834e028d80b522f1fe6482db79bb89a7a7e57c1fdd80f6cdbb525ec0153af8600daf848d7408aa4ff6e SHA512 3b198ed6728add5f30e8ec16171cc7086d315448821b3a5487be1cf7b318735a77f0881d9aca0a5af179a2b8aff75fd0c0ce80836172a26c439cba2859c6ab1f -DIST gatling-0.15.tar.xz 121804 BLAKE2B 7df5f6d4fc823e8a1252bacca2b57d0848dd3a920216d1d3185d5f471f786eee1eb36396114b367660ead816bd4ee6c734099bbb9bdb5ffbd5b70a59e0fb0667 SHA512 b76d220a0644f1e6e7ea966a4eff409964c564fc4a31c4efdb764e5f7b5857bc58c26bc31e860fe35df932cbd60fb2b0f4f21c75cb5aa56427e8a2a453684716 -EBUILD gatling-0.15.ebuild 1370 BLAKE2B b8b28f23d4d301228dfcd147557060faaba81fac381c675366410aefb910025ee2d24b82d8c29043687d2dfd34aa636d031e15ad612cd5f0052b917ea404cf90 SHA512 68701a95f1c86be6a5892d714c814756bdd00ac7c5da9945a2f87dabb4bc828f8259aeae8ac4d9e5513b97959c49287311d0d25c96c8b0d73b6355b30a83772b +DIST gatling-0.16.tar.xz 126844 BLAKE2B 33dd2e93833b216ffadae4dbd5650af87b23ed5d62caf181d8005acb4dce889b86d1afb711676377ba2b7c4fe08b8f2350a32965cf6292a268281b28c4310c27 SHA512 9446ea0ae862509b1a892e5bdef14d3a2320c3c3e846362b4679c0834aa906ab5b16ef54e4a7c8e7ee839d30317436dd411e891e3105035a9ee31b0facc0b8c1 +EBUILD gatling-0.16-r1.ebuild 1256 BLAKE2B d7bdc41661762a0eb8ba0d7d276b591f8e6fb2d71b6f74169e0aa435921beabe6b4fefda3dd6dd189494a87c3a2b36e7d7b3bc1884cd26f33b52ee14f6612772 SHA512 59ed22e6882620b42ed5512a59ebdacb2476ab35e96ec60d5f62d5bab256f8bfe7f84e500799a69d7d5621d3ad5cf55a14ff07caafa6404649443b68760d7aea MISC metadata.xml 444 BLAKE2B dd65d9cb3f9b6babebc0e45c67e8bda05f48d49d8902f6a0da4d1d75f38ba2e1d627f0a1e9e35dac77466fd7edfe43435b7b99d7ee394268df1e4f5cc5b53ab5 SHA512 0f829523b85ea9fcd62743f72f7a985e532685d4989b0083191286cbc9a99db398fde3c63f86ad9bdeb6e75d559a777e85cf2df037456e5b0960b15c2511815a diff --git a/www-servers/gatling/files/gatling-0.15-gcc10.patch b/www-servers/gatling/files/gatling-0.15-gcc10.patch deleted file mode 100644 index 446ea5cffdec..000000000000 --- a/www-servers/gatling/files/gatling-0.15-gcc10.patch +++ /dev/null @@ -1,38 +0,0 @@ -From b815fc02179e8f25a6bea2bc1ee7306ffea37258 Mon Sep 17 00:00:00 2001 -From: Sebastian Pipping <sebastian@pipping.org> -Date: Thu, 26 Nov 2020 16:05:26 +0100 -Subject: [PATCH] Fix build with -fno-common or GCC 10 - ---- - dirfd.c | 1 + - dirfd.h | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/dirfd.c b/dirfd.c -index 6a0217e..792bd29 100644 ---- a/dirfd.c -+++ b/dirfd.c -@@ -34,6 +34,7 @@ struct hashtable dc; - - #ifdef __linux__ - int rootwd; -+int ifd; - #endif - - /* initialize a hashtable as empty */ -diff --git a/dirfd.h b/dirfd.h -index cdfc4a3..a76c5d8 100644 ---- a/dirfd.h -+++ b/dirfd.h -@@ -21,7 +21,7 @@ - * given dir, and it will return the fd or -1 on error. */ - - #ifdef __linux__ --int ifd; /* inotify fd */ -+extern int ifd; /* inotify fd */ - #endif - - struct dircacheentry { --- -2.27.0 - diff --git a/www-servers/gatling/gatling-0.15.ebuild b/www-servers/gatling/gatling-0.16-r1.ebuild index c18fb7fe8684..6616e0b4eca0 100644 --- a/www-servers/gatling/gatling-0.15.ebuild +++ b/www-servers/gatling/gatling-0.16-r1.ebuild @@ -1,9 +1,9 @@ # Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="6" +EAPI="7" -inherit eutils toolchain-funcs user +inherit eutils toolchain-funcs DESCRIPTION="High performance web server" HOMEPAGE="https://www.fefe.de/gatling/" @@ -21,12 +21,14 @@ DEPEND=">=dev-libs/libowfat-0.32-r2[diet=] !libressl? ( dev-libs/openssl:0 ) libressl? ( dev-libs/libressl ) )" -RDEPEND="${DEPEND}" +RDEPEND="${DEPEND} + acct-group/gatling + acct-user/gatling + " PATCHES=( "${FILESDIR}/${PN}-0.13-compile.patch" - "${FILESDIR}/${P}-ar.patch" - "${FILESDIR}/${P}-gcc10.patch" + "${FILESDIR}/${PN}-0.15-ar.patch" ) src_prepare() { @@ -42,7 +44,7 @@ src_compile() { use ssl && targets+=' tlsgatling' emake DIET="${DIET}" CC="$(tc-getCC)" \ - CFLAGS="${CFLAGS} -I${ROOT}usr/include/libowfat" \ + CFLAGS="${CFLAGS} -I${ROOT}/usr/include/libowfat" \ LDFLAGS="${LDFLAGS}" prefix=/usr ${targets} } @@ -59,9 +61,3 @@ src_install() { dobin tlsgatling } } - -pkg_setup() { - ebegin "Creating gatling user and group" - enewgroup gatling - enewuser ${PN} -1 -1 /var/www/localhost ${PN} -} diff --git a/www-servers/gunicorn/Manifest b/www-servers/gunicorn/Manifest index fb7e538b1f12..4b721895af9d 100644 --- a/www-servers/gunicorn/Manifest +++ b/www-servers/gunicorn/Manifest @@ -1,7 +1,3 @@ -DIST gunicorn-19.8.1.tar.gz 415541 BLAKE2B f0eefc4ff24052320b4dfaac3fc2523487f8dbb63365a9a3c52bc411b4d8f6150f348c709cae94dc4acb45e7fda534cf462d0339abc0325230d3560f76ce3241 SHA512 7f7fcbcde20b70d3a2faad595e08a028530348895f784eddcb35f24b3d5a7955edfc5b68aac4630243798fa37d41b7e869ec0d454dc80700c2630ba2cc39afc0 -DIST gunicorn-19.9.0.tar.gz 415774 BLAKE2B 1ac920e3a02aff434d2458cbcacd821df428e2dceeb0ee5a10c8cc449e49c0252980847bfcee02633f791c05aa086b37f5b50f9fd535acee6deb8a18dd1c24f8 SHA512 4a89f963daa7afe7741a4fb9aa4f14192429ac0e9ba5672547d683475dd2f2733efeed903ec99db9d831e2b05b9ed9e583e3cfec483a1b481d897aa77373e8a3 DIST gunicorn-20.0.4.tar.gz 373841 BLAKE2B d6f0b5b901697ebc6ee987af5766174a845de8bfad03ce95638ed087b92175e9b2f0e9a49fda70f8f9c6fdc15e1ef1a431c069270af068fb29780abcedf63fc3 SHA512 706620f165e36c178a6d3e65f51a9bb7746abd40dfc7c0f1b3b523771be953dd03b36111f192407aef474ad44afdffd11b6502e51376d11465ffac2255822d5e -EBUILD gunicorn-19.8.1.ebuild 1171 BLAKE2B a8c6b1dcbb749db4dcf60b8c26111045be976f28559b2cb4a7f7ef1536dae320a0f7060bd572bdc2998dab0003230ad1688ca4c28130c70757702504222998e6 SHA512 ab4761df1c5e57b7aa87095de97915126007055a87cac29866a603604c47ef4f25886cdef723de8b36eccdbfd7b2ed835832b54b827ed3f27c97cee0c30a90f5 -EBUILD gunicorn-19.9.0.ebuild 923 BLAKE2B d6a784321f92ca5b2cc04f077a7d18bc24a1371867607b3813820e5089ce36f2f41ac38fae36b00fb1c8c2fbee9a36398624bc3823072c2eba50e3e8848f18c7 SHA512 f14c034ae4d0fa97483b80df04e5bba6ca4219b8944d38cbd43a21c91daafe001331985f1bda79fb9be81bac55db6fce2a64be489a91db37c723af452d563a7a -EBUILD gunicorn-20.0.4.ebuild 907 BLAKE2B cb5256d3e4bf3d7bc097c2b63177fad79da135093d214dc1cdf37048913aa9648cab9f52d82ee1421ac98e8c0b88a7554b590f9e66a0c68aa7149e59df2e895a SHA512 e118083ee47c9a54cc8ed3ee03c5e0515d59876b1744681e07354379fe2fe5d68bea73cbde4cf6ca7cea033aefbab20fa5094aa2ba51c066b282e36cd1758671 -MISC metadata.xml 832 BLAKE2B 4f1f3fc1097c11b67fff558977c62f1d4e42af39bd50dd98a5553bfb8c42cbaa6286ade58eb8702f61926a2e0030d411fc2548c35e99140362fa77774b3a54a7 SHA512 74aa9e1b67aa4db3d1252ded571495c8e459391e4cf8f2054dfbd965d7eb38824994ebc1a31dcb4c1d3f33d1963fb32e5dd215c24685f0ad570170404d2115b4 +EBUILD gunicorn-20.0.4.ebuild 906 BLAKE2B b50f2ea9edc3b6a780316ed3b624d3213f8212a0db2c0375cc3a272d06cd8f76c13931e174f6e1d9b28ff7a4677256d17960b583ea82d11d1dce1a0a81e5c0d1 SHA512 e840a480d84fe617f846db114cef947ef100dc7427dd84d287c3155d48113ac0e0bbfbacca4767f07430fbcf143088dbd5e60b0502454b4756ecc68fda18aabc +MISC metadata.xml 820 BLAKE2B d0d69bf646aea74e6b85daee66e739857ff027050bf3085c6f56eadaaca90297825234477d0b4b9540646edf92d7b5daabe523336545e756b5d1a9d17e34c95c SHA512 fc0e570d92321b0255fecb3511fa313a3caa8686f7956438e18ccaff802b0ea0edccc9a196f356fd9d24370100edfae0470d0afdeafa6a7398330829d8a95644 diff --git a/www-servers/gunicorn/gunicorn-19.8.1.ebuild b/www-servers/gunicorn/gunicorn-19.8.1.ebuild deleted file mode 100644 index 199d85ec02d5..000000000000 --- a/www-servers/gunicorn/gunicorn-19.8.1.ebuild +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python3_6 ) - -inherit distutils-r1 - -DESCRIPTION="A WSGI HTTP Server for UNIX" -HOMEPAGE="https://gunicorn.org https://pypi.org/project/gunicorn https://github.com/benoitc/gunicorn" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="MIT PSF-2 doc? ( BSD )" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 x86" -IUSE="doc test" -RESTRICT="!test? ( test )" - -RDEPEND="dev-python/setproctitle[${PYTHON_USEDEP}]" -DEPEND=" - dev-python/setuptools[${PYTHON_USEDEP}] - doc? ( dev-python/sphinx[${PYTHON_USEDEP}] ) - test? ( - dev-python/mock[${PYTHON_USEDEP}] - dev-python/pytest[${PYTHON_USEDEP}] - dev-python/pytest-cov[${PYTHON_USEDEP}] - dev-python/unittest2[${PYTHON_USEDEP}] - )" - -DOCS="README.rst" - -python_prepare_all() { - sed -ie "s/..\/bin/\/usr\/bin\//" docs/Makefile || die - - distutils-r1_python_prepare_all -} - -python_compile_all() { - use doc && emake -C docs html -} - -python_test() { - py.test -v || die "Testing failed with ${EPYTHON}" -} - -python_install_all() { - use doc && local HTML_DOCS=( docs/build/html/. ) - - distutils-r1_python_install_all -} diff --git a/www-servers/gunicorn/gunicorn-19.9.0.ebuild b/www-servers/gunicorn/gunicorn-19.9.0.ebuild deleted file mode 100644 index 7a3d0bb71655..000000000000 --- a/www-servers/gunicorn/gunicorn-19.9.0.ebuild +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_{6..9} ) - -inherit distutils-r1 - -DESCRIPTION="A WSGI HTTP Server for UNIX" -HOMEPAGE="https://gunicorn.org https://pypi.org/project/gunicorn https://github.com/benoitc/gunicorn" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="MIT PSF-2 doc? ( BSD )" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 x86" - -RDEPEND="dev-python/setproctitle[${PYTHON_USEDEP}]" -BDEPEND=" - test? ( - dev-python/mock[${PYTHON_USEDEP}] - dev-python/unittest2[${PYTHON_USEDEP}] - )" - -DOCS="README.rst" - -distutils_enable_sphinx 'docs/source' --no-autodoc -distutils_enable_tests pytest - -src_prepare() { - sed -e 's:--cov=gunicorn --cov-report=xml::' -i setup.cfg || die - distutils-r1_src_prepare -} - -python_install_all() { - use doc && local HTML_DOCS=( docs/source/_build/html/. ) - - distutils-r1_python_install_all -} diff --git a/www-servers/gunicorn/gunicorn-20.0.4.ebuild b/www-servers/gunicorn/gunicorn-20.0.4.ebuild index 719df38098a4..f6c44a61e6c3 100644 --- a/www-servers/gunicorn/gunicorn-20.0.4.ebuild +++ b/www-servers/gunicorn/gunicorn-20.0.4.ebuild @@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" LICENSE="MIT PSF-2 doc? ( BSD )" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 sparc x86 ~x64-macos" RDEPEND="dev-python/setproctitle[${PYTHON_USEDEP}]" diff --git a/www-servers/gunicorn/metadata.xml b/www-servers/gunicorn/metadata.xml index 9c401ff60394..905c5784fc8f 100644 --- a/www-servers/gunicorn/metadata.xml +++ b/www-servers/gunicorn/metadata.xml @@ -2,8 +2,8 @@ <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> - <email>rafaelmartins@gentoo.org</email> - <name>Rafael G. Martins</name> + <email>marecki@gentoo.org</email> + <name>Marek Szuba</name> </maintainer> <maintainer type="project"> <email>python@gentoo.org</email> diff --git a/www-servers/lighttpd/Manifest b/www-servers/lighttpd/Manifest index f7b0987cfd7b..edd6e8910e29 100644 --- a/www-servers/lighttpd/Manifest +++ b/www-servers/lighttpd/Manifest @@ -8,6 +8,6 @@ AUX lighttpd.logrotate-r1 385 BLAKE2B c41e4b7892d3cb8cd7306eb7fa93b4a03452786acc AUX lighttpd.service 257 BLAKE2B 7e60ad2f87ece8547cd3e39fc2121ea4664d9015722469ab074469ba0b670f56b147c8088ad9211f97a4f314fe4eaebac89cd9cddee34edbf3652b7ea0712c94 SHA512 fbcd7dbf9c6b97284465af133a7cd1f711978ef4318a749ff7d366b053265fac94a1d76f074f56722c382179631d38ed8a07ac2c2fc4b712a93acab2f3609c0f AUX lighttpd.tmpfiles.conf 41 BLAKE2B a159ae17094377d927bcf51078d40c322e5213d62064a271a7a0cf5b32423b349ac13d2ebc38a8de5c6478823ac022e46eef60a830e6ae9598e848b8c220bc2f SHA512 3fda360423a7a406a2981de647dac6b4419fe60c649bf3cc21fad566e8513293f6e81d4f5b777eaf06a056beedbf44360a39894ca3a2d05d3fc3a2d26c339efe DIST lighttpd-1.4.55.tar.xz 765660 BLAKE2B 7b972de86e7d1a51438718e4d5bd49188c107b0f2e656ead597085ae84f3d41cdb662a7774c6655155d390c26f3e4f0b0dc4243c85cb0255a91d8ca57742f402 SHA512 023d5a54079e710a89a59e259c0b5798103ef6fce4544c36110dc4c5281ef429ef99369923d74123fcf8be37afe622d44cd7149078d21971ff26f3f4ee37c439 -EBUILD lighttpd-1.4.55-r1.ebuild 6353 BLAKE2B ac6e0edd3a9a090c549f6d5b278dbc15ebd20366c0155fe5ec118cec1152ef031d014694e0de5bf9a3679a3c7b41220652738770c34f455505b79ec56e8115c7 SHA512 ca646537ae256796069160a6ed2f8f3a74c01c063507423d742c941ce33cb49cd939eecc3fadfbd37e5f48e4e6243bdb646db70e2784ff39538f8c7d42e2cce6 +EBUILD lighttpd-1.4.55-r1.ebuild 6354 BLAKE2B 2ac00041fa9378ab6af93c2b947bd610c3461df9dafa797aff1262867385e551b4ce72ae979c1b658a46ac751111f4bbadbbd4a31b1405fb8fa8be5259073b75 SHA512 b565abe2ea0fffae72d1e7713d4855a143a546095fdf2f98f52ecd6c82be59b71001c285da5c6328acb5b99b36a4190846d4018d1b6cbc34b6e8f33054b128fb EBUILD lighttpd-1.4.55-r100.ebuild 6984 BLAKE2B c7a18143c3fd598451e888deeef3c1511104e549ef9e67279e21aa9744c9f216513e201cf904424c896e63b3e691fd1290838274b3763b0f4714acc8273a069f SHA512 cc1d071763c8926f71bb92554575ae89de85380f1e7622a6051dbd7c065abba69638a319980f2dd628c094e4643720fda82424ab51a8af26d857ece0e8c09ed7 MISC metadata.xml 974 BLAKE2B 7a5285106e385d5c25cb50ee286b865beae369610602ecdcf921ed5f7b2e041c282a12d208e4ef19e9d2b0d957bda713e09eee793d4242de85ac07ec04b51d83 SHA512 272ae929e52031f040bb702a4e9f4e824fce15e9520843e48ab19f119ff16c36565523f18f0465856ad030d3717a134e55fa816b6cf855cf0b8108a22aed5ce8 diff --git a/www-servers/lighttpd/lighttpd-1.4.55-r1.ebuild b/www-servers/lighttpd/lighttpd-1.4.55-r1.ebuild index f45c8c53d89a..834f3bcd0934 100644 --- a/www-servers/lighttpd/lighttpd-1.4.55-r1.ebuild +++ b/www-servers/lighttpd/lighttpd-1.4.55-r1.ebuild @@ -28,7 +28,7 @@ COMMON_DEPEND=" geoip? ( dev-libs/geoip ) ldap? ( >=net-nds/openldap-2.1.26 ) libev? ( >=dev-libs/libev-4.01 ) - lua? ( >=dev-lang/lua-5.1:= ) + lua? ( >=dev-lang/lua-5.1:0= ) memcached? ( dev-libs/libmemcached ) mysql? ( dev-db/mysql-connector-c:= ) pcre? ( >=dev-libs/libpcre-3.1 ) diff --git a/www-servers/nginx/Manifest b/www-servers/nginx/Manifest index 2d7a0ffc2922..fd6885498f7e 100644 --- a/www-servers/nginx/Manifest +++ b/www-servers/nginx/Manifest @@ -40,9 +40,11 @@ DIST ngx_mogilefs_module-1.0.4.tar.gz 11208 BLAKE2B e0729b66554c8890727190a624d4 DIST ngx_rtmp-1.2.1.tar.gz 519919 BLAKE2B 744ccb8031eb9653f158f9eceba64fc9c8af7b9a42e64ef996ab3bbbe1402e5ffd3efcc8e4aaca437eb5e208e4b6f2d8643fcca953b32f32543eaa1ae4d9505c SHA512 4a0af5e9afa4deb0b53de8de7ddb2cfa6430d372e1ef9e421f01b509548bd134d427345442ac1ce667338cc2a1484dc2ab732e316e878ac7d3537dc527d5f922 DIST njs-0.4.3.tar.gz 460997 BLAKE2B 373a4aca51ada84d628ae6b6254c9268b4cec4ac8870f81ba43ff693f20148a9ca862038e57a68c22cbff29ea613785e83778cc708cf1b47103e9f950a198289 SHA512 b3b4294817997a06661f00f53d38e0cde08e022f41b3663f9d17a91b343fb944e21184114f09d89995096faee491187c3ae424407f2855ed0670c0cccf928cd7 DIST njs-0.4.4.tar.gz 486870 BLAKE2B 9390bfe35249ea34b9edd4b7c2360a25c9ecb232e10f35a2324fd8586f5f74e2083d5bd7481c084065d0651ba4fed56958bc2cd1f002d12622238ebc81b9f7c5 SHA512 1bf88d23f99532bb32e96de79e49cc27b60d6231207eb06ea2f6a6884d725f7bbe7b426664aa4c872f7c40549f81489c04c2ae4a7ddd2d03c8cf1d66b9c62c78 +DIST njs-0.5.0.tar.gz 505568 BLAKE2B 5dc2a91bffa4eb2364d96e26def0959b111cc8bf88841f581e3c0d43fcb88ba1ea24b24339cb1f51b8290c08dd930dc18a274a7ab6a21ee4ba8b0e6c4f5a1ba0 SHA512 182a64ba519b1a1d29ac71ffe2c9ef8e5a6f9aaf3db9f327ac926114db73b339a424801b558068fc7ae06ae88a4dea0a601c749db4b6f2b579e427181e41d11b EBUILD nginx-1.18.0-r2.ebuild 40458 BLAKE2B bab6ebfd5a4ef14026cf3149757dcf207dad0245b48a31bcb93a61709bb6a9a656ebb0d8ebcc0f502daab9b7b9a0a7a4dc5d00cb2ececc4606f508d87e8e23f2 SHA512 54651ac56efa4ed927189dbbc2165af8d916097c0e623fcd7427096be4605d093772913511372dd5040ff2c7c9d305d0686ccf713205eff3c3cf41e3fa12a241 EBUILD nginx-1.19.2-r1.ebuild 40460 BLAKE2B 620254271c03d328f5377c23307af52838a8f2eaa8e60a91eed785fdf2c02c8cf3ae349e2b7b04a29024ee14247c001253e234c1551ac2fcb665ab98ca1674a8 SHA512 0a9c9d53cf47520c5f2f04a72b6f64d5399571ce371b31a09d1d81f160ffa88e461b6e335d0ea05428d62612e014f682bfeefeb25d6b05eaf1690c31f822e134 EBUILD nginx-1.19.3.ebuild 40431 BLAKE2B f78ec32446bf5017b58fda56370b72d1b2fc7176f2b4fcec70e4b22a00b124b96eb4d2d28182ecbf13ccd1c6ce43ee7324b36608ae13fdc1fd6d3ca947e0b52b SHA512 6445a587721d55fd09505970db538cbd2cdb9d72820526869a2d910a049b479f01ea968434eb7f2f1c4889f03fcf6921025530a686693a380f381017e40b34fb EBUILD nginx-1.19.4.ebuild 40431 BLAKE2B f78ec32446bf5017b58fda56370b72d1b2fc7176f2b4fcec70e4b22a00b124b96eb4d2d28182ecbf13ccd1c6ce43ee7324b36608ae13fdc1fd6d3ca947e0b52b SHA512 6445a587721d55fd09505970db538cbd2cdb9d72820526869a2d910a049b479f01ea968434eb7f2f1c4889f03fcf6921025530a686693a380f381017e40b34fb +EBUILD nginx-1.19.5-r1.ebuild 40431 BLAKE2B cf9bfea11e1845eb2c810c474dde72f275166bb55c48cb9658f71a512ede464b953dcc3f3fd9b0e0763190d856a4aa0585414f0bcf91cc5e29dde9e259dab9c7 SHA512 d92bacc4b3d5e97e7b85485507f8483f9f5166b43c4ed95c3e04a50b77aeaf10ce2a4609cf1d25357a88bb4516e5f05b020f37d666a81e1976a689e34ab8e794 EBUILD nginx-1.19.5.ebuild 40431 BLAKE2B f78ec32446bf5017b58fda56370b72d1b2fc7176f2b4fcec70e4b22a00b124b96eb4d2d28182ecbf13ccd1c6ce43ee7324b36608ae13fdc1fd6d3ca947e0b52b SHA512 6445a587721d55fd09505970db538cbd2cdb9d72820526869a2d910a049b479f01ea968434eb7f2f1c4889f03fcf6921025530a686693a380f381017e40b34fb MISC metadata.xml 1193 BLAKE2B aeb293cf75ed650c946910222d6396f726dc5ed49f1213e6a5664613d78e3b27616399bc1c9f0a360f5303b16931da7016cdf540b24601afafc3ada4428b33a9 SHA512 a96002bc9845bc465542c753c738899b77ad7a32fac7f5f9a7049336868bc41199e926422e3dc23e47f34656c9aaea255511d2ef91e9d59f48c9cd0b4a3c4903 diff --git a/www-servers/nginx/nginx-1.19.5-r1.ebuild b/www-servers/nginx/nginx-1.19.5-r1.ebuild new file mode 100644 index 000000000000..46d444142cc3 --- /dev/null +++ b/www-servers/nginx/nginx-1.19.5-r1.ebuild @@ -0,0 +1,1087 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +# 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" + +# devel_kit (https://github.com/simpl/ngx_devel_kit, BSD license) +DEVEL_KIT_MODULE_PV="0.3.1" +DEVEL_KIT_MODULE_P="ngx_devel_kit-${DEVEL_KIT_MODULE_PV}" +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}" + +# ngx_brotli (https://github.com/google/ngx_brotli, BSD-2) +HTTP_BROTLI_MODULE_PV="1.0.0rc" +HTTP_BROTLI_MODULE_P="ngx_brotli-${HTTP_BROTLI_MODULE_PV}" +HTTP_BROTLI_MODULE_URI="https://github.com/google/ngx_brotli/archive/v${HTTP_BROTLI_MODULE_PV}.tar.gz" +HTTP_BROTLI_MODULE_WD="${WORKDIR}/ngx_brotli-${HTTP_BROTLI_MODULE_PV}" + +# http_uploadprogress (https://github.com/masterzen/nginx-upload-progress-module, BSD-2 license) +HTTP_UPLOAD_PROGRESS_MODULE_PV="0.9.2" +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 (https://github.com/agentzh/headers-more-nginx-module, BSD license) +HTTP_HEADERS_MORE_MODULE_PV="0.33" +HTTP_HEADERS_MORE_MODULE_P="ngx_http_headers_more-${HTTP_HEADERS_MORE_MODULE_PV}" +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_cache_purge (http://labs.frickle.com/nginx_ngx_cache_purge/, https://github.com/FRiCKLE/ngx_cache_purge, BSD-2 license) +HTTP_CACHE_PURGE_MODULE_PV="2.3" +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 (https://github.com/aperezdc/ngx-fancyindex, BSD license) +HTTP_FANCYINDEX_MODULE_PV="0.4.4" +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/openresty/lua-nginx-module, BSD license) +HTTP_LUA_MODULE_PV="0.10.15" +HTTP_LUA_MODULE_P="ngx_http_lua-${HTTP_LUA_MODULE_PV}" +HTTP_LUA_MODULE_URI="https://github.com/openresty/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 (https://github.com/stogh/ngx_http_auth_pam_module/, http://web.iti.upv.es/~sto/nginx/, BSD-2 license) +HTTP_AUTH_PAM_MODULE_PV="1.5.2" +HTTP_AUTH_PAM_MODULE_P="ngx_http_auth_pam-${HTTP_AUTH_PAM_MODULE_PV}" +HTTP_AUTH_PAM_MODULE_URI="https://github.com/stogh/ngx_http_auth_pam_module/archive/v${HTTP_AUTH_PAM_MODULE_PV}.tar.gz" +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="9aecf15ec379fe98f62355c57b60c0bc83296f04" +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/${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/zenops/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}" + +# http_vhost_traffic_status (https://github.com/vozlt/nginx-module-vts, BSD license) +HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV="46d85558e344dfe2b078ce757fd36c69a1ec2dd3" +HTTP_VHOST_TRAFFIC_STATUS_MODULE_P="ngx_http_vhost_traffic_status-${HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV}" +HTTP_VHOST_TRAFFIC_STATUS_MODULE_URI="https://github.com/vozlt/nginx-module-vts/archive/${HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV}.tar.gz" +HTTP_VHOST_TRAFFIC_STATUS_MODULE_WD="${WORKDIR}/nginx-module-vts-${HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV}" + +# naxsi-core (https://github.com/nbs-system/naxsi, GPLv2+) +HTTP_NAXSI_MODULE_PV="0.56" +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 (https://github.com/arut/nginx-rtmp-module, BSD license) +RTMP_MODULE_PV="1.2.1" +RTMP_MODULE_P="ngx_rtmp-${RTMP_MODULE_PV}" +RTMP_MODULE_URI="https://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 (https://github.com/arut/nginx-dav-ext-module, BSD license) +HTTP_DAV_EXT_MODULE_PV="3.0.0" +HTTP_DAV_EXT_MODULE_P="ngx_http_dav_ext-${HTTP_DAV_EXT_MODULE_PV}" +HTTP_DAV_EXT_MODULE_URI="https://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/openresty/echo-nginx-module, BSD license) +HTTP_ECHO_MODULE_PV="0.62" +HTTP_ECHO_MODULE_P="ngx_http_echo-${HTTP_ECHO_MODULE_PV}" +HTTP_ECHO_MODULE_URI="https://github.com/openresty/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.9.3" +HTTP_SECURITY_MODULE_P="modsecurity-${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 (http://www.nginxpushstream.com, https://github.com/wandenberg/nginx-push-stream-module, GPL-3) +HTTP_PUSH_STREAM_MODULE_PV="0.5.4" +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.6-10-g08a395c66e42" +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/${HTTP_STICKY_MODULE_PV}.tar.bz2" +HTTP_STICKY_MODULE_WD="${WORKDIR}/nginx-goodies-nginx-sticky-module-ng-08a395c66e42" + +# mogilefs-module (https://github.com/vkholodkov/nginx-mogilefs-module, BSD-2) +HTTP_MOGILEFS_MODULE_PV="1.0.4" +HTTP_MOGILEFS_MODULE_P="ngx_mogilefs_module-${HTTP_MOGILEFS_MODULE_PV}" +HTTP_MOGILEFS_MODULE_URI="https://github.com/vkholodkov/nginx-mogilefs-module/archive/${HTTP_MOGILEFS_MODULE_PV}.tar.gz" +HTTP_MOGILEFS_MODULE_WD="${WORKDIR}/nginx_mogilefs_module-${HTTP_MOGILEFS_MODULE_PV}" + +# memc-module (https://github.com/openresty/memc-nginx-module, BSD-2) +HTTP_MEMC_MODULE_PV="0.19" +HTTP_MEMC_MODULE_P="ngx_memc_module-${HTTP_MEMC_MODULE_PV}" +HTTP_MEMC_MODULE_URI="https://github.com/openresty/memc-nginx-module/archive/v${HTTP_MEMC_MODULE_PV}.tar.gz" +HTTP_MEMC_MODULE_WD="${WORKDIR}/memc-nginx-module-${HTTP_MEMC_MODULE_PV}" + +# nginx-ldap-auth-module (https://github.com/kvspb/nginx-auth-ldap, BSD-2) +HTTP_LDAP_MODULE_PV="42d195d7a7575ebab1c369ad3fc5d78dc2c2669c" +HTTP_LDAP_MODULE_P="nginx-auth-ldap-${HTTP_LDAP_MODULE_PV}" +HTTP_LDAP_MODULE_URI="https://github.com/kvspb/nginx-auth-ldap/archive/${HTTP_LDAP_MODULE_PV}.tar.gz" +HTTP_LDAP_MODULE_WD="${WORKDIR}/nginx-auth-ldap-${HTTP_LDAP_MODULE_PV}" + +# geoip2 (https://github.com/leev/ngx_http_geoip2_module, BSD-2) +GEOIP2_MODULE_PV="3.3" +GEOIP2_MODULE_P="ngx_http_geoip2_module-${GEOIP2_MODULE_PV}" +GEOIP2_MODULE_URI="https://github.com/leev/ngx_http_geoip2_module/archive/${GEOIP2_MODULE_PV}.tar.gz" +GEOIP2_MODULE_WD="${WORKDIR}/ngx_http_geoip2_module-${GEOIP2_MODULE_PV}" + +# njs-module (https://github.com/nginx/njs, as-is) +NJS_MODULE_PV="0.5.0" +NJS_MODULE_P="njs-${NJS_MODULE_PV}" +NJS_MODULE_URI="https://github.com/nginx/njs/archive/${NJS_MODULE_PV}.tar.gz" +NJS_MODULE_WD="${WORKDIR}/njs-${NJS_MODULE_PV}" + +# We handle deps below ourselves +SSL_DEPS_SKIP=1 +AUTOTOOLS_AUTO_DEPEND="no" + +inherit autotools ssl-cert toolchain-funcs perl-module flag-o-matic user systemd versionator multilib pax-utils + +DESCRIPTION="Robust, small and high performance http and reverse proxy server" +HOMEPAGE="https://nginx.org" +SRC_URI="https://nginx.org/download/${P}.tar.gz + ${DEVEL_KIT_MODULE_URI} -> ${DEVEL_KIT_MODULE_P}.tar.gz + nginx_modules_http_auth_ldap? ( ${HTTP_LDAP_MODULE_URI} -> ${HTTP_LDAP_MODULE_P}.tar.gz ) + nginx_modules_http_auth_pam? ( ${HTTP_AUTH_PAM_MODULE_URI} -> ${HTTP_AUTH_PAM_MODULE_P}.tar.gz ) + nginx_modules_http_brotli? ( ${HTTP_BROTLI_MODULE_URI} -> ${HTTP_BROTLI_MODULE_P}.tar.gz ) + nginx_modules_http_cache_purge? ( ${HTTP_CACHE_PURGE_MODULE_URI} -> ${HTTP_CACHE_PURGE_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_fancyindex? ( ${HTTP_FANCYINDEX_MODULE_URI} -> ${HTTP_FANCYINDEX_MODULE_P}.tar.gz ) + nginx_modules_http_geoip2? ( ${GEOIP2_MODULE_URI} -> ${GEOIP2_MODULE_P}.tar.gz ) + nginx_modules_http_headers_more? ( ${HTTP_HEADERS_MORE_MODULE_URI} -> ${HTTP_HEADERS_MORE_MODULE_P}.tar.gz ) + nginx_modules_http_javascript? ( ${NJS_MODULE_URI} -> ${NJS_MODULE_P}.tar.gz ) + nginx_modules_http_lua? ( ${HTTP_LUA_MODULE_URI} -> ${HTTP_LUA_MODULE_P}.tar.gz ) + nginx_modules_http_memc? ( ${HTTP_MEMC_MODULE_URI} -> ${HTTP_MEMC_MODULE_P}.tar.gz ) + nginx_modules_http_metrics? ( ${HTTP_METRICS_MODULE_URI} -> ${HTTP_METRICS_MODULE_P}.tar.gz ) + nginx_modules_http_mogilefs? ( ${HTTP_MOGILEFS_MODULE_URI} -> ${HTTP_MOGILEFS_MODULE_P}.tar.gz ) + nginx_modules_http_naxsi? ( ${HTTP_NAXSI_MODULE_URI} -> ${HTTP_NAXSI_MODULE_P}.tar.gz ) + nginx_modules_http_push_stream? ( ${HTTP_PUSH_STREAM_MODULE_URI} -> ${HTTP_PUSH_STREAM_MODULE_P}.tar.gz ) + nginx_modules_http_security? ( ${HTTP_SECURITY_MODULE_URI} -> ${HTTP_SECURITY_MODULE_P}.tar.gz ) + nginx_modules_http_slowfs_cache? ( ${HTTP_SLOWFS_CACHE_MODULE_URI} -> ${HTTP_SLOWFS_CACHE_MODULE_P}.tar.gz ) + nginx_modules_http_sticky? ( ${HTTP_STICKY_MODULE_URI} -> ${HTTP_STICKY_MODULE_P}.tar.bz2 ) + nginx_modules_http_upload_progress? ( ${HTTP_UPLOAD_PROGRESS_MODULE_URI} -> ${HTTP_UPLOAD_PROGRESS_MODULE_P}.tar.gz ) + nginx_modules_http_upstream_check? ( ${HTTP_UPSTREAM_CHECK_MODULE_URI} -> ${HTTP_UPSTREAM_CHECK_MODULE_P}.tar.gz ) + nginx_modules_http_vhost_traffic_status? ( ${HTTP_VHOST_TRAFFIC_STATUS_MODULE_URI} -> ${HTTP_VHOST_TRAFFIC_STATUS_MODULE_P}.tar.gz ) + nginx_modules_stream_geoip2? ( ${GEOIP2_MODULE_URI} -> ${GEOIP2_MODULE_P}.tar.gz ) + nginx_modules_stream_javascript? ( ${NJS_MODULE_URI} -> ${NJS_MODULE_P}.tar.gz ) + rtmp? ( ${RTMP_MODULE_URI} -> ${RTMP_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="mainline" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" + +# Package doesn't provide a real test suite +RESTRICT="test" + +NGINX_MODULES_STD="access auth_basic autoindex browser charset empty_gif + fastcgi geo grpc gzip limit_req limit_conn map memcached mirror + proxy referer rewrite scgi ssi split_clients upstream_hash + upstream_ip_hash upstream_keepalive upstream_least_conn + upstream_zone userid uwsgi" +NGINX_MODULES_OPT="addition auth_request dav degradation flv geoip gunzip + gzip_static image_filter mp4 perl random_index realip secure_link + slice stub_status sub xslt" +NGINX_MODULES_STREAM_STD="access geo limit_conn map return split_clients + upstream_hash upstream_least_conn upstream_zone" +NGINX_MODULES_STREAM_OPT="geoip realip ssl_preread" +NGINX_MODULES_MAIL="imap pop3 smtp" +NGINX_MODULES_3RD=" + http_auth_ldap + http_auth_pam + http_brotli + http_cache_purge + http_dav_ext + http_echo + http_fancyindex + http_geoip2 + http_headers_more + http_javascript + http_lua + http_memc + http_metrics + http_mogilefs + http_naxsi + http_push_stream + http_security + http_slowfs_cache + http_sticky + http_upload_progress + http_upstream_check + http_vhost_traffic_status + stream_geoip2 + stream_javascript +" + +IUSE="aio debug +http +http2 +http-cache +ipv6 libatomic libressl luajit +pcre + pcre-jit rtmp selinux ssl threads userland_GNU vim-syntax" + +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_STREAM_STD; do + IUSE="${IUSE} nginx_modules_stream_${mod}" +done + +for mod in $NGINX_MODULES_STREAM_OPT; do + IUSE="${IUSE} nginx_modules_stream_${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 + +# Add so we can warn users updating about config changes +# @TODO: jbergstroem: remove on next release series +IUSE="${IUSE} nginx_modules_http_spdy" + +CDEPEND=" + pcre? ( dev-libs/libpcre:= ) + pcre-jit? ( dev-libs/libpcre:=[jit] ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:= ) + ) + http2? ( + !libressl? ( >=dev-libs/openssl-1.0.1c:0= ) + libressl? ( dev-libs/libressl:= ) + ) + http-cache? ( + userland_GNU? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:= ) + ) + ) + nginx_modules_http_brotli? ( app-arch/brotli:= ) + nginx_modules_http_geoip? ( dev-libs/geoip ) + nginx_modules_http_geoip2? ( dev-libs/libmaxminddb:= ) + 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:= ) + nginx_modules_http_secure_link? ( + userland_GNU? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:= ) + ) + ) + nginx_modules_http_xslt? ( dev-libs/libxml2:= dev-libs/libxslt ) + nginx_modules_http_lua? ( dev-lang/luajit:2= ) + nginx_modules_http_auth_pam? ( sys-libs/pam ) + nginx_modules_http_metrics? ( dev-libs/yajl:= ) + nginx_modules_http_dav_ext? ( dev-libs/libxml2 ) + nginx_modules_http_security? ( + dev-libs/apr:= + dev-libs/apr-util:= + dev-libs/libxml2:= + net-misc/curl + www-servers/apache + ) + nginx_modules_http_auth_ldap? ( net-nds/openldap[ssl?] ) + nginx_modules_stream_geoip? ( dev-libs/geoip ) + nginx_modules_stream_geoip2? ( dev-libs/libmaxminddb:= )" +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-nginx ) + !www-servers/nginx:0" +DEPEND="${CDEPEND} + nginx_modules_http_brotli? ( virtual/pkgconfig ) + nginx_modules_http_security? ( ${AUTOTOOLS_DEPEND} ) + 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_fancyindex? ( nginx_modules_http_addition ) + nginx_modules_http_grpc? ( http2 ) + nginx_modules_http_lua? ( + luajit + nginx_modules_http_rewrite + ) + nginx_modules_http_naxsi? ( pcre ) + nginx_modules_http_dav_ext? ( nginx_modules_http_dav nginx_modules_http_xslt ) + nginx_modules_http_metrics? ( nginx_modules_http_stub_status ) + nginx_modules_http_security? ( pcre ) + nginx_modules_http_push_stream? ( ssl )" + +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 + + if use nginx_modules_http_mogilefs && use threads; then + eerror "mogilefs won't compile with threads support." + eerror "Please disable either flag and try again." + die "Can't compile mogilefs with threads support" + fi +} + +src_prepare() { + eapply "${FILESDIR}/${PN}-1.4.1-fix-perl-install-path.patch" + eapply "${FILESDIR}/${PN}-httpoxy-mitigation-r1.patch" + + if use nginx_modules_http_brotli; then + cd "${HTTP_BROTLI_MODULE_WD}" || die + eapply "${FILESDIR}"/http_brotli-detect-brotli-r3.patch + cd "${S}" || die + fi + + if use nginx_modules_http_upstream_check; then + eapply -p0 "${FILESDIR}"/http_upstream_check-nginx-1.11.5+.patch + fi + + if use nginx_modules_http_cache_purge; then + cd "${HTTP_CACHE_PURGE_MODULE_WD}" || die + eapply "${FILESDIR}"/http_cache_purge-1.11.6+.patch + cd "${S}" || die + fi + + if use nginx_modules_http_security; then + cd "${HTTP_SECURITY_MODULE_WD}" || die + + eautoreconf + + if use luajit ; then + sed -i \ + -e 's|^\(LUA_PKGNAMES\)=.*|\1="luajit"|' \ + configure || die + fi + + cd "${S}" || die + fi + + if use nginx_modules_http_upload_progress; then + cd "${HTTP_UPLOAD_PROGRESS_MODULE_WD}" || die + eapply "${FILESDIR}"/http_uploadprogress-issue_50-r1.patch + cd "${S}" || die + 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 + + eapply_user +} + +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}" || die + + ./configure \ + --enable-standalone-module \ + --disable-mlogc \ + --with-ssdeep=no \ + $(use_enable pcre-jit) \ + $(use_with nginx_modules_http_lua lua) || die "configure failed for mod_security" + + cd "${S}" || die + fi + + local myconf=() http_enabled= mail_enabled= stream_enabled= + + use aio && myconf+=( --with-file-aio ) + use debug && myconf+=( --with-debug ) + use http2 && myconf+=( --with-http_v2_module ) + use libatomic && myconf+=( --with-libatomic ) + use pcre && myconf+=( --with-pcre ) + use pcre-jit && myconf+=( --with-pcre-jit ) + use threads && myconf+=( --with-threads ) + + # 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_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 + export LUAJIT_LIB=$(pkg-config --variable libdir luajit) + export LUAJIT_INC=$(pkg-config --variable includedir luajit) + 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_sticky ; then + http_enabled=1 + myconf+=( --add-module=${HTTP_STICKY_MODULE_WD} ) + fi + + if use nginx_modules_http_mogilefs ; then + http_enabled=1 + myconf+=( --add-module=${HTTP_MOGILEFS_MODULE_WD} ) + fi + + if use nginx_modules_http_memc ; then + http_enabled=1 + myconf+=( --add-module=${HTTP_MEMC_MODULE_WD} ) + fi + + if use nginx_modules_http_auth_ldap; then + http_enabled=1 + myconf+=( --add-module=${HTTP_LDAP_MODULE_WD} ) + fi + + if use nginx_modules_http_vhost_traffic_status; then + http_enabled=1 + myconf+=( --add-module=${HTTP_VHOST_TRAFFIC_STATUS_MODULE_WD} ) + fi + + if use nginx_modules_http_geoip2 || use nginx_modules_stream_geoip2; then + myconf+=( --add-module=${GEOIP2_MODULE_WD} ) + fi + + if use nginx_modules_http_javascript || use nginx_modules_stream_javascript; then + myconf+=( --add-module="${NJS_MODULE_WD}/nginx" ) + fi + + if use nginx_modules_http_brotli; then + http_enabled=1 + myconf+=( --add-module=${HTTP_BROTLI_MODULE_WD} ) + fi + + if use http || use http-cache || use http2 || use nginx_modules_http_javascript; 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 + + # Stream modules + for mod in $NGINX_MODULES_STREAM_STD; do + if use nginx_modules_stream_${mod}; then + stream_enabled=1 + else + myconf+=( --without-stream_${mod}_module ) + fi + done + + for mod in $NGINX_MODULES_STREAM_OPT; do + if use nginx_modules_stream_${mod}; then + stream_enabled=1 + myconf+=( --with-stream_${mod}_module ) + fi + done + + if use nginx_modules_stream_geoip2 || use nginx_modules_stream_javascript; then + stream_enabled=1 + fi + + if [ $stream_enabled ]; then + myconf+=( --with-stream ) + use ssl && myconf+=( --with-stream_ssl_module ) + 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 AR CC + + if ! use prefix; then + myconf+=( --user=${PN} ) + myconf+=( --group=${PN} ) + fi + + local WITHOUT_IPV6= + if ! use ipv6; then + WITHOUT_IPV6=" -DNGX_HAVE_INET6=0" + fi + + if [[ -n "${EXTRA_ECONF}" ]]; then + myconf+=( ${EXTRA_ECONF} ) + ewarn "EXTRA_ECONF applied. Now you are on your own, good luck!" + 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${WITHOUT_IPV6}" \ + --with-ld-opt="-L${EROOT}usr/$(get_libdir)" \ + --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 \ + --with-compat \ + "${myconf[@]}" || die "configure failed" + + # A purely cosmetic change that makes nginx -V more readable. This can be + # good if people outside the gentoo community would troubleshoot and + # question the users setup. + sed -i -e "s|${WORKDIR}|external_module|g" objs/ngx_auto_config.h || die +} + +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-r2 "${ED%/}"/etc/nginx/nginx.conf || die + + newinitd "${FILESDIR}"/nginx.initd-r4 nginx + newconfd "${FILESDIR}"/nginx.confd 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 "${ED%/}"/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 ${keepdir_list} + fowners ${PN}:${PN} ${keepdir_list} + + fperms 0710 /var/log/nginx + fowners 0:${PN} /var/log/nginx + + # logrotate + insinto /etc/logrotate.d + newins "${FILESDIR}"/nginx.logrotate-r1 nginx + + # Don't create /run + rm -rf "${ED%/}"/run || die + + if use luajit; then + pax-mark m "${ED%/}/usr/sbin/nginx" + fi + + if use nginx_modules_http_perl; then + cd "${S}"/objs/src/http/modules/perl/ || die + emake DESTDIR="${D}" INSTALLDIRS=vendor + perl_delete_localpod + cd "${S}" || die + 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}"/README.markdown + fi + + if use nginx_modules_http_auth_pam; then + docinto ${HTTP_AUTH_PAM_MODULE_P} + dodoc "${HTTP_AUTH_PAM_MODULE_WD}"/{README.md,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 + + 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,stat.xsl} + fi + + if use nginx_modules_http_dav_ext; then + docinto ${HTTP_DAV_EXT_MODULE_P} + dodoc "${HTTP_DAV_EXT_MODULE_WD}"/README.rst + fi + + if use nginx_modules_http_echo; then + docinto ${HTTP_ECHO_MODULE_P} + dodoc "${HTTP_ECHO_MODULE_WD}"/README.markdown + fi + + if use nginx_modules_http_security; then + docinto ${HTTP_SECURITY_MODULE_P} + dodoc "${HTTP_SECURITY_MODULE_WD}"/{CHANGES,README.md,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 + + 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_memc; then + docinto ${HTTP_MEMC_MODULE_P} + dodoc "${HTTP_MEMC_MODULE_WD}"/README.markdown + fi + + if use nginx_modules_http_auth_ldap; then + docinto ${HTTP_LDAP_MODULE_P} + dodoc "${HTTP_LDAP_MODULE_WD}"/example.conf + 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_spdy; then + ewarn "" + ewarn "In nginx 1.9.5 the spdy module was superseded by http2." + ewarn "Update your configs and package.use accordingly." + fi + + if use nginx_modules_http_lua; then + ewarn "" + ewarn "While you can build lua 3rd party module against ${P}" + ewarn "the author warns that >=${PN}-1.11.11 is still not an" + ewarn "officially supported target yet. You are on your own." + ewarn "Expect runtime failures, memory leaks and other problems!" + fi + + if use nginx_modules_http_lua && use http2; then + ewarn "" + ewarn "Lua 3rd party module author warns against using ${P} with" + ewarn "NGINX_MODULES_HTTP=\"lua http2\". For more info, see https://git.io/OldLsg" + fi + + local _n_permission_layout_checks=0 + local _has_to_adjust_permissions=0 + local _has_to_show_permission_warning=0 + + # Defaults to 1 to inform people doing a fresh installation + # that we ship modified {scgi,uwsgi,fastcgi}_params files + local _has_to_show_httpoxy_mitigation_notice=1 + + local _replacing_version= + for _replacing_version in ${REPLACING_VERSIONS}; do + _n_permission_layout_checks=$((${_n_permission_layout_checks}+1)) + + if [[ ${_n_permission_layout_checks} -gt 1 ]]; then + # Should never happen: + # Package is abusing slots but doesn't allow multiple parallel installations. + # If we run into this situation it is unsafe to automatically adjust any + # permission... + _has_to_show_permission_warning=1 + + ewarn "Replacing multiple ${PN}' versions is unsupported! " \ + "You will have to adjust permissions on your own." + + break + fi + + local _replacing_version_branch=$(get_version_component_range 1-2 "${_replacing_version}") + debug-print "Updating an existing installation (v${_replacing_version}; branch '${_replacing_version_branch}') ..." + + # Do we need to adjust permissions to fix CVE-2013-0337 (bug #458726, #469094)? + # This was before we introduced multiple nginx versions so we + # do not need to distinguish between stable and mainline + local _need_to_fix_CVE2013_0337=1 + + if version_is_at_least "1.4.1-r2" "${_replacing_version}"; then + # We are updating an installation which should already be fixed + _need_to_fix_CVE2013_0337=0 + debug-print "Skipping CVE-2013-0337 ... existing installation should not be affected!" + else + _has_to_adjust_permissions=1 + debug-print "Need to adjust permissions to fix CVE-2013-0337!" + fi + + # Do we need to inform about HTTPoxy mitigation? + # In repository since commit 8be44f76d4ac02cebcd1e0e6e6284bb72d054b0f + if ! version_is_at_least "1.10" "${_replacing_version_branch}"; then + # Updating from <1.10 + _has_to_show_httpoxy_mitigation_notice=1 + debug-print "Need to inform about HTTPoxy mitigation!" + else + # Updating from >=1.10 + local _fixed_in_pvr= + case "${_replacing_version_branch}" in + "1.10") + _fixed_in_pvr="1.10.1-r2" + ;; + "1.11") + _fixed_in_pvr="1.11.3-r1" + ;; + *) + # This should be any future branch. + # If we run this code it is safe to assume that the user has + # already seen the HTTPoxy mitigation notice because he/she is doing + # an update from previous version where we have already shown + # the warning. Otherwise, we wouldn't hit this code path ... + _fixed_in_pvr= + esac + + if [[ -z "${_fixed_in_pvr}" ]] || version_is_at_least "${_fixed_in_pvr}" "${_replacing_version}"; then + # We are updating an installation where we already informed + # that we are mitigating HTTPoxy per default + _has_to_show_httpoxy_mitigation_notice=0 + debug-print "No need to inform about HTTPoxy mitigation ... information was already shown for existing installation!" + else + _has_to_show_httpoxy_mitigation_notice=1 + debug-print "Need to inform about HTTPoxy mitigation!" + fi + fi + + # Do we need to adjust permissions to fix CVE-2016-1247 (bug #605008)? + # All branches up to 1.11 are affected + local _need_to_fix_CVE2016_1247=1 + + if ! version_is_at_least "1.10" "${_replacing_version_branch}"; then + # Updating from <1.10 + _has_to_adjust_permissions=1 + debug-print "Need to adjust permissions to fix CVE-2016-1247!" + else + # Updating from >=1.10 + local _fixed_in_pvr= + case "${_replacing_version_branch}" in + "1.10") + _fixed_in_pvr="1.10.2-r3" + ;; + "1.11") + _fixed_in_pvr="1.11.6-r1" + ;; + *) + # This should be any future branch. + # If we run this code it is safe to assume that we have already + # adjusted permissions or were never affected because user is + # doing an update from previous version which was safe or did + # the adjustments. Otherwise, we wouldn't hit this code path ... + _fixed_in_pvr= + esac + + if [[ -z "${_fixed_in_pvr}" ]] || version_is_at_least "${_fixed_in_pvr}" "${_replacing_version}"; then + # We are updating an installation which should already be adjusted + # or which was never affected + _need_to_fix_CVE2016_1247=0 + debug-print "Skipping CVE-2016-1247 ... existing installation should not be affected!" + else + _has_to_adjust_permissions=1 + debug-print "Need to adjust permissions to fix CVE-2016-1247!" + fi + fi + done + + if [[ ${_has_to_adjust_permissions} -eq 1 ]]; then + # We do not DIE when chmod/chown commands are failing because + # package is already merged on user's system at this stage + # and we cannot retry without losing the information that + # the existing installation needs to adjust permissions. + # Instead we are going to a show a big warning ... + + if [[ ${_has_to_show_permission_warning} -eq 0 ]] && [[ ${_need_to_fix_CVE2013_0337} -eq 1 ]]; then + ewarn "" + ewarn "The world-readable bit (if set) has been removed from the" + ewarn "following directories to mitigate a security bug" + ewarn "(CVE-2013-0337, bug #458726):" + ewarn "" + ewarn " ${EPREFIX}/var/log/nginx" + ewarn " ${EPREFIX}${NGINX_HOME_TMP}/{,client,proxy,fastcgi,scgi,uwsgi}" + ewarn "" + 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 '${EPREFIX}${NGINX_HOME_TMP}'" + chmod o-rwx \ + "${EPREFIX}"/var/log/nginx \ + "${EPREFIX}"${NGINX_HOME_TMP}/{,client,proxy,fastcgi,scgi,uwsgi} || \ + _has_to_show_permission_warning=1 + fi + + if [[ ${_has_to_show_permission_warning} -eq 0 ]] && [[ ${_need_to_fix_CVE2016_1247} -eq 1 ]]; then + ewarn "" + ewarn "The permissions on the following directory have been reset in" + ewarn "order to mitigate a security bug (CVE-2016-1247, bug #605008):" + ewarn "" + ewarn " ${EPREFIX}/var/log/nginx" + ewarn "" + ewarn "Check if this is correct for your setup before restarting nginx!" + ewarn "Also ensure that no other log directory used by any of your" + ewarn "vhost(s) is not writeable for nginx user. Any of your log files" + ewarn "used by nginx can be abused to escalate privileges!" + ewarn "This is a one-time change and will not happen on subsequent updates." + chown 0:nginx "${EPREFIX}"/var/log/nginx || _has_to_show_permission_warning=1 + chmod 710 "${EPREFIX}"/var/log/nginx || _has_to_show_permission_warning=1 + fi + + if [[ ${_has_to_show_permission_warning} -eq 1 ]]; then + # Should never happen ... + ewarn "" + ewarn "*************************************************************" + ewarn "*************** W A R N I N G ***************" + ewarn "*************************************************************" + ewarn "The one-time only attempt to adjust permissions of the" + ewarn "existing nginx installation failed. Be aware that we will not" + ewarn "try to adjust the same permissions again because now you are" + ewarn "using a nginx version where we expect that the permissions" + ewarn "are already adjusted or that you know what you are doing and" + ewarn "want to keep custom permissions." + ewarn "" + fi + fi + + # Sanity check for CVE-2016-1247 + # Required to warn users who received the warning above and thought + # they could fix it by unmerging and re-merging the package or have + # unmerged a affected installation on purpose in the past leaving + # /var/log/nginx on their system due to keepdir/non-empty folder + # and are now installing the package again. + local _sanity_check_testfile=$(mktemp --dry-run "${EPREFIX}"/var/log/nginx/.CVE-2016-1247.XXXXXXXXX) + su -s /bin/sh -c "touch ${_sanity_check_testfile}" nginx >&/dev/null + if [ $? -eq 0 ] ; then + # Cleanup -- no reason to die here! + rm -f "${_sanity_check_testfile}" + + ewarn "" + ewarn "*************************************************************" + ewarn "*************** W A R N I N G ***************" + ewarn "*************************************************************" + ewarn "Looks like your installation is vulnerable to CVE-2016-1247" + ewarn "(bug #605008) because nginx user is able to create files in" + ewarn "" + ewarn " ${EPREFIX}/var/log/nginx" + ewarn "" + ewarn "Also ensure that no other log directory used by any of your" + ewarn "vhost(s) is not writeable for nginx user. Any of your log files" + ewarn "used by nginx can be abused to escalate privileges!" + fi + + if [[ ${_has_to_show_httpoxy_mitigation_notice} -eq 1 ]]; then + # HTTPoxy mitigation + ewarn "" + ewarn "This nginx installation comes with a mitigation for the HTTPoxy" + ewarn "vulnerability for FastCGI, SCGI and uWSGI applications by setting" + ewarn "the HTTP_PROXY parameter to an empty string per default when you" + ewarn "are sourcing one of the default" + ewarn "" + ewarn " - 'fastcgi_params' or 'fastcgi.conf'" + ewarn " - 'scgi_params'" + ewarn " - 'uwsgi_params'" + ewarn "" + ewarn "files in your server block(s)." + ewarn "" + ewarn "If this is causing any problems for you make sure that you are sourcing the" + ewarn "default parameters _before_ you set your own values." + ewarn "If you are relying on user-supplied proxy values you have to remove the" + ewarn "correlating lines from the file(s) mentioned above." + ewarn "" + fi +} diff --git a/www-servers/servefile/Manifest b/www-servers/servefile/Manifest index 325ad8c9b837..a2dd866c4969 100644 --- a/www-servers/servefile/Manifest +++ b/www-servers/servefile/Manifest @@ -1,6 +1,4 @@ AUX servefile-0.4.4_p20200211-ipv6-absent-tests.patch 776 BLAKE2B db36dc2c79bd5551b539f71493472c88b258333f3493bf42d6c4323e06a223dfc07c8930662583fc91bbd2325c35da13f87b411a7fa2c32eb7e0c5237683f858 SHA512 e7e6d11c86efff0a8d0eb51e687686cbb962130a6c3d5117d863876337a49349500f9330ac6c865b871db80b0ed989585f9d01a386782b209841f6ce5092f654 -DIST servefile-0.4.4_p20200211.tar.gz 18304 BLAKE2B 2bbd6534d7fb787a0b85d594bd0a2bc235c859f80618be24dea144ef2adaa6188a29efdffc2e9109229301b9d3ee09df6a9d746a15ae6b01fed44a21307df78e SHA512 ef4edb4c92d9f804970087fc1c3d59775740642516a06704258de6d972cb807123f309991a5e22469b7619aff2304e265d5749485a4f74e75f2c80c279a23c33 DIST servefile-0.5.1.tar.gz 19390 BLAKE2B 4443471870650f03564d6f574b633630fac4e1f9f6e6a9807b1baa4d3aaa6284f803fa9dc0c7c07f53cc343f89687db5f6b5a4ebf09e9fd327369e2b3aecddc5 SHA512 2502f3072522a8f460d3711dccbaa3fa57e34915313aaad475e5831962adc92c0728c2598f9f78ee99e60731cdc2d3026488ce8050369ab0c967246cd9372f44 -EBUILD servefile-0.4.4_p20200211.ebuild 853 BLAKE2B d87ccc93c478aaa6aa48194b5ded2af1b84f63ff7ae26e95811c1061393c1d7437766c4a79418339111c5e0b6308e6b3689b877eca071dabeb21a54da3c90d98 SHA512 59d729b25a13ef1d692887a5da11c0a9a0cb879ac338bd2232493a147a04d55774bc6430c92fc8ef2e2f20c538834115f7e59cc9bc82e83f730b0764c972ce21 -EBUILD servefile-0.5.1.ebuild 832 BLAKE2B b9f178ee6d55b0cb2bd2972f4292ff20347b1a8feb4180da28b481c3a9391e94fd090a07172020ba2996b0064980b420a3ffb01c17eb7463f6a70c7cfcd19543 SHA512 5dfa69edb8a7fb0ee85643aea9809e6bbe70adddb7b85336bcbe6cb557644c847291daa5bc70a235e14d10216a96b2b090f4f5398abca5378204ab186579b5f3 +EBUILD servefile-0.5.1.ebuild 831 BLAKE2B 4068aa1a9ade9ef5bdaa13a3c28366eb5a644bcf4f2d1c2a5cc60b2af65346acb619ffc48be77c0ab30c24c4840c16ca36e11d7f735377e393258247f1670fe3 SHA512 8b5427e0228480eddd23c962eeba8d26b7a76a58d5ef8646a80e34ab8dce76dfeeb4b9bdf824cf110e6e96ab8bc4f431e615a6fe6545dd8edf118a7cb88341c8 MISC metadata.xml 249 BLAKE2B 3647e2ef94ad009c86dc9d42c1396ad9420ade97042882b8d8f60f676c465cfd6ea3cea4b77caccadd99eb0cbe1ef83b18b799ec676da4ecfbff528d21bb5ffb SHA512 334ac61f9acc5c4917fd29afb3b420b1689b39be80cada419bed1db033e64130866d0995abe5f1c75eb1290f51734e9ad4c8d06fd8b49c288ecf617a0693d273 diff --git a/www-servers/servefile/servefile-0.4.4_p20200211.ebuild b/www-servers/servefile/servefile-0.4.4_p20200211.ebuild deleted file mode 100644 index 6f5570d2e3a6..000000000000 --- a/www-servers/servefile/servefile-0.4.4_p20200211.ebuild +++ /dev/null @@ -1,41 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_{6,7,8} ) - -inherit distutils-r1 - -MY_COMMIT=864b2161b16e432c8ba19db1914809e080d793af -DESCRIPTION="Serve a single file via HTTP" -HOMEPAGE="https://github.com/sebageek/servefile" -SRC_URI="https://github.com/sebageek/servefile/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="ssl test" - -RDEPEND=" - ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] ) - sys-apps/grep - sys-apps/iproute2 - sys-apps/net-tools - sys-apps/sed" -DEPEND="test? ( - ${RDEPEND} - dev-python/requests[${PYTHON_USEDEP}] - )" - -S="${WORKDIR}"/${PN}-${MY_COMMIT} - -PATCHES=( - "${FILESDIR}"/${P}-ipv6-absent-tests.patch -) - -distutils_enable_tests pytest - -src_install() { - distutils-r1_src_install - doman ${PN}.1 -} diff --git a/www-servers/servefile/servefile-0.5.1.ebuild b/www-servers/servefile/servefile-0.5.1.ebuild index 7d34a67b34de..21bca4faa30d 100644 --- a/www-servers/servefile/servefile-0.5.1.ebuild +++ b/www-servers/servefile/servefile-0.5.1.ebuild @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{6,7,8} ) +PYTHON_COMPAT=( python3_{6..9} ) DISTUTILS_USE_SETUPTOOLS=rdepend inherit distutils-r1 diff --git a/www-servers/sniproxy/Manifest b/www-servers/sniproxy/Manifest index 3e192091ad73..1c9236202aeb 100644 --- a/www-servers/sniproxy/Manifest +++ b/www-servers/sniproxy/Manifest @@ -1,6 +1,7 @@ +AUX sniproxy-0.6.0-fno-common.patch 541 BLAKE2B cc1bb1edcb25bb12c5d5ac70088f38e61958104fbe4c81586c90f86dc3e1c53ea29de1aae82b7bbf17fea6e135572bc9e026b30a473411cbc09680b9eec20b58 SHA512 deb08ce08b4fc4060b5f2652b1946174a7771b81a9f288b9ec6368a50cfa3d327edef598b3e1fe7f668c4244adfbbc770644acab9772a451f1058e8362f71681 AUX sniproxy.init 493 BLAKE2B 4021f98063b76628abd60e52afc3cef2d6860c3fd639c21d0e2d4a62acc6fe7f505bc715c69116474748c122d031a8df1f101d0c13b80524980911a6010fe86f SHA512 6dc6ba017c18cc5c4b15b2085e95157c396c44b8d368b6ee28c559c9d4072460604afca3a20c46c639c5b095a3da65e3b2b15fc20d738e41651cc77615dd3ca0 DIST sniproxy-0.5.0.tar.gz 72654 BLAKE2B 11f2a66af0d5a19807178687b2a5044aa0cca18a9586c60a6e15604b90f4c32d16d9ac8d037df2cafe57a2dc3a576e1ff72b8f58b59e6822d2a45520b9c770f4 SHA512 52dbb217193d2b7bf9dea37b13fde395b5c56d0a6627508a245f2807920deb282aae3c1ae7e6b5fa68432990e48998989fd28027b65cb7310f214b29f98e5e5d DIST sniproxy-0.6.0.tar.gz 78515 BLAKE2B 1ac8decc793e7b3d73d833bc392b3ef035bd2ba7d515c54ff46de16ee8897c0c5392929d5c7a22a131c1f017897cc6f8e9c50aff8164e4afbdc23155b804b613 SHA512 8a99573673bdd57e528c5781cb166d39c80daed699382b24c3fa18a6011d074a1d9e470fee404d24b4450cf067c9995125910b2941b5216d88d189a1d79ebf73 EBUILD sniproxy-0.5.0.ebuild 1358 BLAKE2B 85992e780c92ed4903e42e703c5391092cc5f2aa01868b4a160e8c260e2aca1d7af3e13f1af009c1f19fbd6cb3ccae956c421f78c3b81afa34fcbffc233f50a0 SHA512 0f0e254ce173b2c8f563db051cc2647cdad62b09d5fcabf82a43e172c11cdf3406146eb18da087a6ee306fef7299f115592c6d394f2cbcdfb95782b696a2c769 -EBUILD sniproxy-0.6.0.ebuild 1625 BLAKE2B 1dfd5f28a60401b8aacd4268c81c8050b03de3979bd1ff3f51dd07ea508f54798f1ad74c42a24ba0612111c5b749f6017e4a4bfbaf89fdcb2c671f4cd898d71b SHA512 1f6d965e68923d7793286a3d8611dd4b87dd3d08d52c8e2f7197ee968c56deffda3e7a5a30ee4c471f0cedac6313a3306594bb0ceb885bb5b6a9b7750078b8cb +EBUILD sniproxy-0.6.0-r1.ebuild 1603 BLAKE2B 722ccab3459ee93ca63d6152d95c99ff097b7ee4f7fbf64f3f292c99fd8d9fbb489f5e98bcc15c6ffe8ee08957e2c7930b0b469c8e4771f7d0fae9cc1114b78e SHA512 ae52cac6a2b16ba32d0cc873283e5cb9e284b4195d51d4c17665b20e2f21f91247eba0039cef92c407579ef9b174fee98346954177604dad02d087e8f6bb1ec3 MISC metadata.xml 630 BLAKE2B ebf3d19da137583e30cd2d19d19280c8f18c9e05beb0dc6a35d7863687ff9d28c4ee473ff9fbd97a05dee4cdc96bcb6785f41a22911a00ddc4645c20fc18f655 SHA512 263e1b4f405a67f6e402cd842d95640664c9f961ee29c614022787be76a2d83b5dcb3c4e784bef4369424680bdf1888d440eeb0a195dd8dfa65132c137a2fb55 diff --git a/www-servers/sniproxy/files/sniproxy-0.6.0-fno-common.patch b/www-servers/sniproxy/files/sniproxy-0.6.0-fno-common.patch new file mode 100644 index 000000000000..f718bfca736c --- /dev/null +++ b/www-servers/sniproxy/files/sniproxy-0.6.0-fno-common.patch @@ -0,0 +1,24 @@ +Taken from: https://github.com/dlundquist/sniproxy/commit/822bb80df9b7b345cc9eba55df74a07b498819ba +Author: Pierre-Olivier Mercier <nemunaire@nemunai.re> + +--- a/src/http.h ++++ b/src/http.h +@@ -29,6 +29,6 @@ + #include <stdio.h> + #include "protocol.h" + +-const struct Protocol *const http_protocol; ++extern const struct Protocol *const http_protocol; + + #endif +--- a/src/tls.h ++++ b/src/tls.h +@@ -28,6 +28,6 @@ + + #include "protocol.h" + +-const struct Protocol *const tls_protocol; ++extern const struct Protocol *const tls_protocol; + + #endif + diff --git a/www-servers/sniproxy/sniproxy-0.6.0.ebuild b/www-servers/sniproxy/sniproxy-0.6.0-r1.ebuild index 458f1e8ac793..9dc8e5a03ef1 100644 --- a/www-servers/sniproxy/sniproxy-0.6.0.ebuild +++ b/www-servers/sniproxy/sniproxy-0.6.0-r1.ebuild @@ -1,15 +1,14 @@ -# Copyright 1999-2019 Gentoo Authors +# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit autotools user +inherit autotools -if [[ ${PV} == 9999* ]]; then +if [[ ${PV} == *9999 ]]; then EGIT_REPO_URI="https://github.com/dlundquist/sniproxy.git" EGIT_BRANCH="master" inherit git-r3 - KEYWORDS="" else SRC_URI="https://github.com/dlundquist/sniproxy/archive/${PV}.tar.gz -> ${P}.tar.gz" KEYWORDS="~amd64 ~x86" @@ -24,18 +23,18 @@ IUSE="+dns +largefile rfc3339 test" RESTRICT="!test? ( test )" RDEPEND=" + acct-group/sniproxy + acct-user/sniproxy dev-libs/libev >=dev-libs/libpcre-3 - dns? ( net-libs/udns ) -" + dns? ( net-libs/udns )" +DEPEND="${RDEPEND} + test? ( net-misc/curl )" BDEPEND=" - ${RDEPEND} sys-devel/gettext - virtual/pkgconfig -" -DEPEND=" - test? ( net-misc/curl ) -" + virtual/pkgconfig" + +PATCHES=( "${FILESDIR}"/${P}-fno-common.patch ) src_prepare() { default @@ -55,6 +54,10 @@ src_configure() { econf "${my_conf[@]}" } +src_test() { + emake -j1 check +} + src_install() { default @@ -72,12 +75,3 @@ src_install() { doman man/sniproxy.8 doman man/sniproxy.conf.5 } - -src_test() { - emake -j1 check -} - -pkg_postinst() { - enewgroup "${PN}" - enewuser "${PN}" -1 -1 /var/lib/sniproxy "${PN}" -} diff --git a/www-servers/tomcat/Manifest b/www-servers/tomcat/Manifest index 638582dbdcef..fcd3c46c3487 100644 --- a/www-servers/tomcat/Manifest +++ b/www-servers/tomcat/Manifest @@ -12,14 +12,16 @@ DIST apache-tomcat-7.0.106-src.tar.gz 5302091 BLAKE2B f60975ef5570501b03e7164596 DIST apache-tomcat-7.0.107-src.tar.gz 5312698 BLAKE2B 1f2712ddce6aa604692aaf6a6c706469d3dbcb2266a99e62346c15b8347fff573608440473be8e20b8632a431f8838dd29f24f6bf630a13d262c444be68e0d2c SHA512 820923697c487367786c595d3aeaa58981d25b56529c6739b9388ad771f3264e6995f7659805cc5b2ef9456dbd42bad92ad2cfa3c7f741920a5b7bff2cc1bb1b DIST apache-tomcat-8.5.59-src.tar.gz 5787634 BLAKE2B 8ca1aa8b4d12d0e73c0d7937e906530037168ac349b196e172935332e632b1e9ab15379f532cb8fb1b2f853d01567332af9c031393882c833dcea65f9e626b09 SHA512 bed80e86c4dc972fd6ad414a804ed2bffc797e22b0a5e0e6e93c8540fb87cffb2fd2f1f8d97873a3ee24397f7961a8fdeb6756c542a532e4b73468bccec6e626 DIST apache-tomcat-8.5.60-src.tar.gz 5837412 BLAKE2B 0c2200412900f7f6d318051333b15b8c6236e00f6194c21fc45bb95b565c4146e2682b879f3a293de3ab65524013f786a7f69dd7e91f1c4cc903179075253cc4 SHA512 43222e5d04b3de400429d6f1792d418172b6ff15dcc17e392cd66a5444d740a323b9c426a9f39678b3460452545fda4d784f56961d5ea56b9c0e1ca466d49040 -DIST apache-tomcat-9.0.38-src.tar.gz 5948083 BLAKE2B ac076684f10a51bf0e0b5b0dbf18ee476ec900bead0089010de7b4a7d380a1e18035eaa0d0f661c863aa53491e51f719c2a5985e4791bcc9dada4c421db39fe7 SHA512 13c79abed71ead564b108ec8a046e78374611acd906f4b6e775ac0427446117192be6b25f29894e625e2dc13f79abbc97bc52b32120ce5701cbe0f5ae05bc57b +DIST apache-tomcat-8.5.61-src.tar.gz 5840559 BLAKE2B 18e1505b6b7d8e1a024d9f834d33ef105a16e6fc1f9e80abd3e6e88b2326597b9973e13c2ebc030a1db4a2d4dc5572d195b9f61db6cb7bf51e97cbfaa121678a SHA512 fd6bb5926b5e7cf44f359c93dadc4edd87fa5f2e26fb0fb3a9bc0a5c89ae4d844d66872055e1b441392cf03d7690aca3429b66afd8334319784f089f821d8c22 DIST apache-tomcat-9.0.40-src.tar.gz 6017562 BLAKE2B 1c90511911363bb3b154124382f6401851c3a0e7925e06cc8f2b4f02a7b4c1c59bc75007a8b387f06742cbeca7f840b6860d84dc7c6fdb1e7774b22dbca6082f SHA512 61b8e191315cee2bc0437013dbe7d1fb3451182e0b316fb377581c7d47a59cefb7f2ff30d96a2d6326a99c86f4151b26d1ef76bda5029b30d81c8297a0b362fb +DIST apache-tomcat-9.0.41-src.tar.gz 6022059 BLAKE2B 6e97390aec956c16f271e57a2fa8805b6f49f593434f0dff8d82e14bc9abc199b00a7523dbb8da335a7ffa9dfee6790430c30f8b0ee90bcd133694c8da42197f SHA512 094e7cbd2519a4b812a2ca865f92802ece3385a20826c5e29b5f7cda8b9265d01ede6f598999f8aa2f1b04bcaca2e67e3f0132781b3f22007356df49ab6b1838 DIST biz.aQute.bnd-5.1.1.jar 16088761 BLAKE2B 59906cc39ea27ef20cbf82de1ba78096f34dc417da6dc5c28e21f6e92c0625efecf14cec6c5faf0ab17551c31a6c87a24614c2ac75ac902cfea30199ecc0d39f SHA512 8092b083e7b86e75bf27233964763b88bee74d8ae141c85e387c1cc8bd0cbf3a54be27afea29931fb3ae950700a515fd4a28cfe8e7f26cbaaec506aa06357a37 DIST biz.aQute.bndlib-5.1.1.jar 3652944 BLAKE2B dad9f9835fb407a36e0eae4b65fa2fda147e06ab3f3211a2ed2f1631aeccd6d14d198c325793cb1ce9a57b719a836db230d0452715744ba5a4a6c2983c17916b SHA512 d7da056ba541ae0862159bf5e38e1a5351b2ab5388c88733b46601c2d7dab8970f16af00df186a6cb67fbe81ef53f2c8402db9d28a8c6819dadf60a1df40879b EBUILD tomcat-7.0.106.ebuild 4224 BLAKE2B 9ff5e9fa663926e0609ffc15804c5426e95d4eb6dacd1e4e9f27ca06dd167f22bccf44e8b2cfc323532490846f7ae04672494f000e5efcddbf21c1126ae17a67 SHA512 9160d59093bbe4fe7260ac0bb26f124f70574cc4564f52f02d2987f7d6ca46825fe973cdbc69f1493d6a5a9c62ba5059ccabf5bb618ccdfd162c631b1a347b3e EBUILD tomcat-7.0.107.ebuild 4225 BLAKE2B 3f82018ea97e47df2439b4230ad19a2bd22163d0558acfafb26d8a1c006cc49cdd0074204b2ac8707f2fbc6a062a62ed8d016fcd0467d38ac51850059f23b818 SHA512 45587f442b61cf66e7fe35bf28a8d8053471e65d81fa982f555b132a58cf9157fb73e500c1049ec411c26dd22073c703d1cd6d0289456ce6d0ac1ba73fcbb160 EBUILD tomcat-8.5.59.ebuild 4813 BLAKE2B 42c6d453f0792a330e1e87c3ed7e7328b25774208d93dd376628582adce4258d09fa1f6fa10fbdf4ce912a158809bbdaf748bd339ad13bd08371ac6942e0b6ab SHA512 9946520457b189bc0cd06f02d6eccd09d8d9e6211424f24bfdad21442c9223b3bf6d505f6595f64572a5b8b6ef0d367bdfd6d998e0ae6c501f0c92837ddf8aed -EBUILD tomcat-8.5.60.ebuild 4805 BLAKE2B 216c508e3f22ba203f43654eda6a567e78562d29d154172aab0e550c4426bf94e5f5bb56a664173a6a6bd626b899087b9d302a9fff5e73cc28bb52e93bc5a918 SHA512 d441136e62c130070a69b91f4aff6375857cf3ccae2f1697d37c70f31a912fbf977e892f84bbf7121f1bb5f1ca65f40f1c1af485242100d203151fc13b550eba -EBUILD tomcat-9.0.38-r1.ebuild 5639 BLAKE2B bcdad460075d306e38a287587bd6b276433a0b733904c3ca2495c670f72bec84365aca5c991b18d1e90a0b2c049864dc6b57a5dcf3cf6988b33da6a1a8524659 SHA512 8ba94e57a5ea8356864cbcc54cd4381d7ebfc89db56434920b391b937697fdfd1857d54a82de9dddb946717ce9b96c95782064020b78ab92d042afc641960f53 +EBUILD tomcat-8.5.60.ebuild 4804 BLAKE2B d08021370f64aaa56711a3e74aa75fdba984a42d50c8cd83a4a3f20721f419d83ad9baad6f2798d034d4078ab4d34a6efafe835b2a9aa42e97546268dc05395a SHA512 3a63dc1a26f8add53950ed7ffd24b720605129bad73ba57ce9add5165a30cb27aa7acc1107bf3bb0bfa4c55ea50c1130fd7217304b27787eda7283dd193a3cd4 +EBUILD tomcat-8.5.61.ebuild 4805 BLAKE2B 216c508e3f22ba203f43654eda6a567e78562d29d154172aab0e550c4426bf94e5f5bb56a664173a6a6bd626b899087b9d302a9fff5e73cc28bb52e93bc5a918 SHA512 d441136e62c130070a69b91f4aff6375857cf3ccae2f1697d37c70f31a912fbf977e892f84bbf7121f1bb5f1ca65f40f1c1af485242100d203151fc13b550eba EBUILD tomcat-9.0.40.ebuild 5684 BLAKE2B 3a405f0221f549637f77104a6bf32f1c8d4a52050fc8fb3801206e78218a6e373f2fda62e0f759093a86d10991949f319591238540d0314310ee63dae80596cb SHA512 86a1c7b19d7b905ba92e4d151e04aa66976d7d1719027c4fdcc3ab4007b746d0b7fd348f248a430cb70f2b4a5a96fdd6c2006f2382d73853f6315fc7dcd8b68a +EBUILD tomcat-9.0.41.ebuild 5700 BLAKE2B 479a370db447265b240073fabf1cc631041d65ee089e8342e7a2d304bed7709cd0fbb7e5c19d582f11d1c3fe0d193346956083e79dd0fff687a254ed427e8e07 SHA512 026101900a77cbd0930e57b634d9e15231bc8736cac8c5b64c08dc4197a461df2243980f846a741431f087d976bfc4d3651166dfd6a1d002ecd9e3e1cd973a52 MISC metadata.xml 712 BLAKE2B 3e0a9b1bd07334015006678c0e1d933dc3d7b65291425754f7bcaec673f2316ba85b2e7df2c79a90f0d53dfbc443329cbea8ddfde7d4c93a1635b6140a3b18b6 SHA512 bc7c894d5f945a732078cc4d9a7fa9d0374ebb6aec449487f8968b22aed07bc5e20094448fda9be7516206121d0dfec8c6d6e48ee818786999703ea778a82109 diff --git a/www-servers/tomcat/tomcat-8.5.60.ebuild b/www-servers/tomcat/tomcat-8.5.60.ebuild index 86d3e5d65919..ae1fd17bba26 100644 --- a/www-servers/tomcat/tomcat-8.5.60.ebuild +++ b/www-servers/tomcat/tomcat-8.5.60.ebuild @@ -15,7 +15,7 @@ SRC_URI="mirror://apache/${PN}/tomcat-8/v${PV}/src/${MY_P}.tar.gz" LICENSE="Apache-2.0" SLOT="8.5" -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris" +KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris" IUSE="extra-webapps" RESTRICT="test" # can we run them on a production system? diff --git a/www-servers/tomcat/tomcat-8.5.61.ebuild b/www-servers/tomcat/tomcat-8.5.61.ebuild new file mode 100644 index 000000000000..86d3e5d65919 --- /dev/null +++ b/www-servers/tomcat/tomcat-8.5.61.ebuild @@ -0,0 +1,163 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +JAVA_PKG_IUSE="doc source test" + +inherit eutils java-pkg-2 java-ant-2 prefix user + +MY_P="apache-${P}-src" + +DESCRIPTION="Tomcat Servlet-3.1/JSP-2.3/EL-3.0/WebSocket-1.1/JASPIC-1.1 Container" +HOMEPAGE="https://tomcat.apache.org/" +SRC_URI="mirror://apache/${PN}/tomcat-8/v${PV}/src/${MY_P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="8.5" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris" +IUSE="extra-webapps" + +RESTRICT="test" # can we run them on a production system? + +ECJ_SLOT="4.5" +SAPI_SLOT="3.1" + +COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT} + ~dev-java/tomcat-servlet-api-${PV}:${SAPI_SLOT}" +RDEPEND="${COMMON_DEP} + virtual/jre" +DEPEND="${COMMON_DEP} + app-admin/pwgen + dev-java/ant-core + virtual/jdk:1.8 + doc? ( + dev-java/glassfish-xmlrpc-api:0 + dev-java/wsdl4j:0 + ) + test? ( + >=dev-java/ant-junit-1.9:0 + dev-java/easymock:3.2 + )" + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + java-pkg-2_pkg_setup + enewgroup tomcat 265 + enewuser tomcat 265 -1 /dev/null tomcat +} + +src_prepare() { + default + + find -name '*.jar' -type f -delete -print || die + + # Remove bundled servlet-api + rm -rv java/javax/{el,servlet} || die + + eapply "${FILESDIR}/${PN}-8.5.57-build.xml.patch" + + # For use of catalina.sh in netbeans + sed -i -e "/^# ----- Execute The Requested Command/ a\ + CLASSPATH=\`java-config --with-dependencies --classpath ${PN}-${SLOT}\`" \ + bin/catalina.sh || die + + java-pkg-2_src_prepare +} + +JAVA_ANT_REWRITE_CLASSPATH="true" + +EANT_BUILD_TARGET="deploy" +EANT_GENTOO_CLASSPATH="eclipse-ecj-${ECJ_SLOT},tomcat-servlet-api-${SAPI_SLOT}" +EANT_TEST_GENTOO_CLASSPATH="easymock-3.2" +EANT_GENTOO_CLASSPATH_EXTRA="${S}/output/classes" +EANT_NEEDS_TOOLS="true" +EANT_EXTRA_ARGS="-Dversion=${PV}-gentoo -Dversion.number=${PV} -Dcompile.debug=false -Dexecute.validate=false" + +# revisions of the scripts +IM_REV="-r2" +INIT_REV="-r1" + +src_compile() { + EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only ant-core ant.jar)" + use doc && EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only glassfish-xmlrpc-api glassfish-xmlrpc-api.jar):$(java-pkg_getjar --build-only wsdl4j wsdl4j.jar)" + java-pkg-2_src_compile +} + +src_test() { + java-pkg-2_src_test +} + +src_install() { + local dest="/usr/share/${PN}-${SLOT}" + + java-pkg_jarinto "${dest}"/bin + java-pkg_dojar output/build/bin/*.jar + exeinto "${dest}"/bin + doexe output/build/bin/*.sh + + java-pkg_jarinto "${dest}"/lib + java-pkg_dojar output/build/lib/*.jar + + dodoc RELEASE-NOTES RUNNING.txt + use doc && java-pkg_dojavadoc output/dist/webapps/docs/api + use source && java-pkg_dosrc java/* + + ### Webapps ### + + # add missing docBase + local apps="host-manager manager" + for app in ${apps}; do + sed -i -e "s|=\"true\" >|=\"true\" docBase=\"\$\{catalina.home\}/webapps/${app}\" >|" \ + output/build/webapps/${app}/META-INF/context.xml || die + done + + insinto "${dest}"/webapps + doins -r output/build/webapps/{host-manager,manager,ROOT} + use extra-webapps && doins -r output/build/webapps/{docs,examples} + + ### Config ### + + # create "logs" directory in $CATALINA_BASE + # and set correct perms, see #458890 + dodir "${dest}"/logs + fperms 0750 "${dest}"/logs + + # replace the default pw with a random one, see #92281 + local randpw="$(pwgen -s -B 15 1)" + sed -i -e "s|SHUTDOWN|${randpw}|" output/build/conf/server.xml || die + + # prepend gentoo.classpath to common.loader, see #453212 + sed -i -e 's/^common\.loader=/\0${gentoo.classpath},/' output/build/conf/catalina.properties || die + + insinto "${dest}" + doins -r output/build/conf + + ### rc ### + + cp "${FILESDIR}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} "${T}" || die + eprefixify "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} + sed -i -e "s|@SLOT@|${SLOT}|g" "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} || die + + insinto "${dest}"/gentoo + doins "${T}"/tomcat.conf + exeinto "${dest}"/gentoo + newexe "${T}"/tomcat${INIT_REV}.init tomcat.init + newexe "${T}"/tomcat-instance-manager${IM_REV}.bash tomcat-instance-manager.bash +} + +pkg_postinst() { + elog "New ebuilds of Tomcat support running multiple instances. If you used prior version" + elog "of Tomcat (<7.0.32), you have to migrate your existing instance to work with new Tomcat." + elog "You can find more information at https://wiki.gentoo.org/wiki/Apache_Tomcat" + + elog "To manage Tomcat instances, run:" + elog " ${EPREFIX}/usr/share/${PN}-${SLOT}/gentoo/tomcat-instance-manager.bash --help" + + ewarn "tomcat-dbcp.jar is not built at this time. Please fetch jar" + ewarn "from upstream binary if you need it. Gentoo Bug # 144276" + + einfo "Please read https://wiki.gentoo.org/wiki/Apache_Tomcat and" + einfo "https://wiki.gentoo.org/wiki/Project:Java/Tomcat_6_Guide for more information." +} diff --git a/www-servers/tomcat/tomcat-9.0.38-r1.ebuild b/www-servers/tomcat/tomcat-9.0.41.ebuild index 96cdfe92f36c..7f7ed06bb02d 100644 --- a/www-servers/tomcat/tomcat-9.0.38-r1.ebuild +++ b/www-servers/tomcat/tomcat-9.0.41.ebuild @@ -15,7 +15,7 @@ BND_VERSION="5.1.1" BND="biz.aQute.bnd-${BND_VERSION}.jar" BNDLIB="biz.aQute.bndlib-${BND_VERSION}.jar" -DESCRIPTION="Tomcat Servlet-4.0/JSP-2.4?/EL-3.1?/WebSocket-1.2?/JASPIC-1.1 Container" +DESCRIPTION="Tomcat Servlet-4.0/JSP-2.3/EL-3.0/WebSocket-1.1/JASPIC-1.1 Container" HOMEPAGE="https://tomcat.apache.org/" SRC_URI="mirror://apache/${PN}/tomcat-9/v${PV}/src/${MY_P}.tar.gz https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bnd/${BND_VERSION}/${BND} @@ -28,7 +28,7 @@ IUSE="extra-webapps" RESTRICT="test" # can we run them on a production system? -ECJ_SLOT="4.13" +ECJ_SLOT="4.15" SAPI_SLOT="4.0" COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT} @@ -48,6 +48,10 @@ DEPEND="${COMMON_DEP} S=${WORKDIR}/${MY_P} +PATCHES=( + "${FILESDIR}/${PN}-9.0.40-insufficient-ecj.patch" +) + BND_HOME="${S}/tomcat-build-libs/bnd" BNDLIB_HOME="${S}/tomcat-build-libs/bndlib" BND_JAR="${BND_HOME}/${BND}" @@ -75,7 +79,7 @@ src_prepare() { # Remove bundled servlet-api rm -rv java/javax/{el,servlet} || die - eapply "${FILESDIR}/${PN}-9.0.37-build.xml.patch" + eapply "${FILESDIR}/${PN}-9.0.40-build.xml.patch" # For use of catalina.sh in netbeans sed -i -e "/^# ----- Execute The Requested Command/ a\ diff --git a/www-servers/tornado/Manifest b/www-servers/tornado/Manifest index d26c6777f74a..a17fc5829832 100644 --- a/www-servers/tornado/Manifest +++ b/www-servers/tornado/Manifest @@ -1,5 +1,5 @@ DIST tornado-4.5.3.tar.gz 484221 BLAKE2B 7b3682fa85a7f6ad32351d40993516a3e397b7b0a5de9d807bcd8b2b21325a6170f3670cb13e12aa208b6590313cf165ddf40537dba1fee61fa9d71954265a66 SHA512 c17dd7a3b541c26950d27c8a399ae4fdff1d99d16ff0c5de9871fe2de4c0f797c96712b23b5ed5efdaee06bb251f7def114c83fe6f7f37f344cdac9996d14448 DIST tornado-6.0.4.tar.gz 496204 BLAKE2B 6c092214d03baf5cf7615b780043e2fa40a4ed623b7ca59a2528cc3625ba904b21ef93c528278adedaf83e3b6e5a6311d867833dfe9826637e97918dee6fa334 SHA512 d29d69cf40f8b34fb2c55d81b6ecd9bc7c6fdf644eb4ff35452829510c0d5ec185da0a6067fec3e8afb2bedf9f5f08b06adb0ad53dcab04cb791a75abc304d6e EBUILD tornado-4.5.3.ebuild 1272 BLAKE2B 803fffb9d8b1568ad02836612c73aa1b9d4c8ab409aba395d6a7a44adb786f03145936328b650536c88564f66a5dbf337b587a30e03d092753fbc104d2dcab3c SHA512 089dacaeeb8fe14380d3afcf5a9ba91b580d9bd67559433f3143e5b73a7ad879367a199862e81494df279a38b4bb631718dbc8bf22dfbda65734bf8b5481c7e4 -EBUILD tornado-6.0.4.ebuild 1354 BLAKE2B d7227f380e6a6b3946ad1b46403a7c18238ef45f2fdfac29e9c79a0d89ee9c7cc03018d0c7e3601b1fa0d70b3b0e71507703b7307f890fe29a1b47566b404126 SHA512 300bf8de0940a46a63297446f8b05c08c5825d2d74a2cbdd6710bd3d17c6d519ab6d25c955fef4abf7c7bf931cdf8b095dc324e02e6a040238346a5ab7825bc0 +EBUILD tornado-6.0.4.ebuild 1353 BLAKE2B fac8f45f1f47d8a4272160d0a778f95a7fcc8b13f98e30c7d80d28a0f625899111b08bad73b0ec9794600363a78d94fdc0e4ec46d980deca1813a6a76973d747 SHA512 7b37ccf9adecfbfadc9beaacbd69e6cf2bc19137f6190fd7f3825c76897628431c8a6cb1ed7f9aab0003e42ab4c087437c07d288597e92ad3cdf618378677892 MISC metadata.xml 380 BLAKE2B 16a28ca707ba911df09dfad39b269bd888734c1f5e54fdc57d84f62b541e284f248137a01c13055f5e9fa1e1da0a2c9e1382006119cc11ec19302516262b7dc1 SHA512 e790429d61042b60a9011710e96df0044c64cc5ac941ab6268386138d3a66e46d40ed1098ec8bc164d9f4341040946ec7231e8f28dda11790ecc482b06978771 diff --git a/www-servers/tornado/tornado-6.0.4.ebuild b/www-servers/tornado/tornado-6.0.4.ebuild index 2a7f9ddf4825..d76544db12ec 100644 --- a/www-servers/tornado/tornado-6.0.4.ebuild +++ b/www-servers/tornado/tornado-6.0.4.ebuild @@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~x64-macos" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 s390 sparc x86 ~x64-macos" IUSE="examples test" RESTRICT="!test? ( test )" |