diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2019-11-03 16:06:58 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2019-11-03 16:06:58 +0000 |
commit | bd4aeefe33e63f613512604e47bfca7b2187697d (patch) | |
tree | adb35b5a9a00ee7ea591ab0c987f70167c23b597 /www-servers | |
parent | 48ece6662cbd443015f5a57ae6d8cbdbd69ef37c (diff) |
gentoo resync : 03.11.2019
Diffstat (limited to 'www-servers')
19 files changed, 1533 insertions, 413 deletions
diff --git a/www-servers/Manifest.gz b/www-servers/Manifest.gz Binary files differindex 8431fcdaa3c1..ce486c9a109c 100644 --- a/www-servers/Manifest.gz +++ b/www-servers/Manifest.gz diff --git a/www-servers/nginx-unit/Manifest b/www-servers/nginx-unit/Manifest index 6cb8e20c3c2e..46d676d72b6b 100644 --- a/www-servers/nginx-unit/Manifest +++ b/www-servers/nginx-unit/Manifest @@ -1,8 +1,8 @@ AUX nginx-unit.initd 288 BLAKE2B 94caaeee62d93cdb3b9240bc6563fabe9b273b2125f9ec0c1ae0a2b079bef89b94f7e3a748d649a0840595f46047cee7ea388bd9514d1da88bb4a041a4a2c8ef SHA512 52a788e21a9aaa90a470a7861cd9856e3c2d2c52e3b4a23276c8b43e2a22f6f5aaec78caaf5f449463f1b856e0ffd83515e583f0ced00eada2d0afc00949ca77 -DIST nginx-unit-1.11.0.tar.gz 681333 BLAKE2B 4e727f1b0bd5a593ea360b4125173bc6b3694b953fa2c775ce4f7112bd9f2df131d4bfd4e01cb653c08a9cdacc560a6961b8926c797ea2ce7d6c32a7e4f7f7e2 SHA512 894093385137bc188c50b86540182007bac1740a063359f494c1984687352eccb879f7d6b7b6623d5702cce3c793f12c60a2dfab94bcf9cb817b80a1577409d9 DIST nginx-unit-1.12.0.tar.gz 681661 BLAKE2B 1e497172a37fdcd33d0ced5b97675bff42f4cadab2f9363316e667c90c8b4dc4b43f4b8d5cff9f547daa7e92d532550434907515134a5c958586f1822beea749 SHA512 a55a084ed6e1cd3f784bd81571772ca29ca9a0d19089c9bb74c88258d2e1ef872978219c47b6dc2610711ae1aa95ef68ddb77f45747a2eacdd9d92c6f8fee28b DIST nginx-unit-1.8.0.tar.gz 511226 BLAKE2B e396b27954840a5f1ad3a4cd9501a5e5fe769a754c51043da784a2c4596e6acc33089f495bf412a0db086e5c715a51292c7dece004a6512564421a431b6c339e SHA512 1d0ad05343ff70aff4c6e221a36c20df95fa2e2262ae5c69963a9bcb9ef883151e8a2fa9fef29f43ac5489aa5cbb3e9dfd10cf5e7f6d7a98742b490ebf3a0413 -EBUILD nginx-unit-1.11.0.ebuild 1704 BLAKE2B 89e32ac74a41281be6fd66d069a7ee8068cddbd20cc3c82af9d21a9dacb3a6ce770c39547758e2653bbe82b86110985fde7b71f875437f9ec158b2148b664d00 SHA512 1620db91709ccff3a3ed4e79cdb01616aadc2c9790049cc23ffa45e9c0f54c3f8d0460a8bded8e49d44179592d9db979fa43b473f23d08fd6fa2d905e8289b9e +EBUILD nginx-unit-1.12.0-r1.ebuild 1798 BLAKE2B 44e644a1fe2e49d0e1f7049a3335e9d7d93dac0e2f878ce8281ffab27f848937d602cae900dafcbff7b9520b81f5a1c0bd59471b322932bd284045cad90a7eb0 SHA512 7646a7de6402d3c6465cc05d6a4c7352d45f3f334bb444f37ccf613aefdf23c183b8940694cb411be347b6f7cd8726d15a28d4b615d03d9056fd46ee5751eba9 +EBUILD nginx-unit-1.12.0-r2.ebuild 1942 BLAKE2B 27a6b14586e16902f1b199d5b678571fd78b52565c30ea338daf63c0d557980b62bf635e7ff2e8b2a512919925bc4845ab81fbc97758c1922fb0aa9edbccf52a SHA512 4b4a801d88f732dcc29c5f4c59eb66b56c792b353b258bb2179597218f8c74f7ac8ff1a19004ae73f14ef651f2b8d5aaee9651607f3755ce7a01d81e5e494f5f EBUILD nginx-unit-1.12.0.ebuild 1704 BLAKE2B 89e32ac74a41281be6fd66d069a7ee8068cddbd20cc3c82af9d21a9dacb3a6ce770c39547758e2653bbe82b86110985fde7b71f875437f9ec158b2148b664d00 SHA512 1620db91709ccff3a3ed4e79cdb01616aadc2c9790049cc23ffa45e9c0f54c3f8d0460a8bded8e49d44179592d9db979fa43b473f23d08fd6fa2d905e8289b9e EBUILD nginx-unit-1.8.0.ebuild 1702 BLAKE2B d1e3ca67f25ffe4f4538acb00a0e5c2ed91c3e56facc2c9e7591d7944f12a070fc3dd839154ee848795756f87dfcc60cadfa6ed2e5396a8abe189569f6ba18b6 SHA512 a09d58603a0d9529ad3684ba3306d0a0f603a3dc8479c6c12e9841f88c2b4f9daf6a261fbf60682b9596d6f7eea9fba5dafa4ccb514ae0667b834c0384ddf5e0 MISC metadata.xml 998 BLAKE2B 89d0469b5b21967d1526d121fea36c3312a43e0a4c703aea36f451d4ef8cb4926435aca6a8af2d1ba9964498166da7551bcb6a87bb86a24896f08bf1d2016fc4 SHA512 c9e76bb48c5e1297354c25c7bf01cc80a3d0e2d21f130e24df5647987e9ac6747a9f02851070eea3fa948a7bfbb030b12f869f604ab3c63d82f481ee6c7d3ef3 diff --git a/www-servers/nginx-unit/nginx-unit-1.11.0.ebuild b/www-servers/nginx-unit/nginx-unit-1.12.0-r1.ebuild index 72e543d89536..9554af89ad61 100644 --- a/www-servers/nginx-unit/nginx-unit-1.11.0.ebuild +++ b/www-servers/nginx-unit/nginx-unit-1.12.0-r1.ebuild @@ -8,7 +8,7 @@ PYTHON_COMPAT=(python2_7 python3_{5,6,7}) inherit python-single-r1 MY_P="unit-${PV}" -DESCRIPTION="A dynamic web and application server" +DESCRIPTION="Dynamic web and application server" HOMEPAGE="https://unit.nginx.org" SRC_URI="https://unit.nginx.org/download/${MY_P}.tar.gz -> ${P}.tar.gz" @@ -17,7 +17,7 @@ SLOT="0" KEYWORDS="~amd64" MY_USE="perl python ruby" MY_USE_PHP="php5-6 php7-1 php7-2 php7-3" -IUSE="${MY_USE} ${MY_USE_PHP}" +IUSE="${MY_USE} ${MY_USE_PHP} ssl" REQUIRED_USE="|| ( ${IUSE} ) python? ( ${PYTHON_REQUIRED_USE} )" @@ -27,7 +27,8 @@ DEPEND="perl? ( dev-lang/perl:= ) php7-2? ( dev-lang/php:7.2[embed] ) php7-3? ( dev-lang/php:7.3[embed] ) python? ( ${PYTHON_DEPS} ) - ruby? ( dev-lang/ruby:= )" + ruby? ( dev-lang/ruby:= ) + ssl? ( dev-libs/openssl:= )" RDEPEND="${DEPEND}" S="${WORKDIR}/${MY_P}" @@ -36,14 +37,17 @@ pkg_setup() { } src_configure() { - ./configure \ - --control=unix:/run/${PN}.sock \ - --ld-opt="${LDFLAGS}" \ - --log=/var/log/${PN} \ - --modules=$(get_libdir)/${PN} \ - --pid=/run/${PN}.pid \ - --prefix=/usr \ - --state=/var/lib/${PN} || die "Core configuration failed" + local opt=( + --control=unix:/run/${PN}.sock + --log=/var/log/${PN} + --modules=$(get_libdir)/${PN} + --pid=/run/${PN}.pid + --prefix=/usr + --state=/var/lib/${PN} + ) + use ssl && opt+=( --openssl ) + + ./configure ${opt[@]} --cc-opt="${CFLAGS}" --ld-opt="${LDFLAGS}" || die "Core configuration failed" for flag in ${MY_USE} ; do if use ${flag} ; then ./configure ${flag} || die "Module configuration failed: ${flag}" diff --git a/www-servers/nginx-unit/nginx-unit-1.12.0-r2.ebuild b/www-servers/nginx-unit/nginx-unit-1.12.0-r2.ebuild new file mode 100644 index 000000000000..3627ea90fa4c --- /dev/null +++ b/www-servers/nginx-unit/nginx-unit-1.12.0-r2.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=(python2_7 python3_{5,6,7}) + +inherit flag-o-matic python-single-r1 + +MY_P="unit-${PV}" +DESCRIPTION="Dynamic web and application server" +HOMEPAGE="https://unit.nginx.org" +SRC_URI="https://unit.nginx.org/download/${MY_P}.tar.gz -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +MY_USE="perl python ruby" +MY_USE_PHP="php5-6 php7-1 php7-2 php7-3" +IUSE="${MY_USE} ${MY_USE_PHP} ssl" +REQUIRED_USE="|| ( ${IUSE} ) + python? ( ${PYTHON_REQUIRED_USE} )" + +DEPEND="perl? ( dev-lang/perl:= ) + php5-6? ( dev-lang/php:5.6[embed] ) + php7-1? ( dev-lang/php:7.1[embed] ) + php7-2? ( dev-lang/php:7.2[embed] ) + php7-3? ( dev-lang/php:7.3[embed] ) + python? ( ${PYTHON_DEPS} ) + ruby? ( dev-lang/ruby:* ) + ssl? ( dev-libs/openssl:0 )" +RDEPEND="${DEPEND}" +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + eapply_user + sed -i '/^CFLAGS/d' auto/make || die +} + +src_configure() { + local opt=( + --control=unix:/run/${PN}.sock + --log=/var/log/${PN} + --modules=$(get_libdir)/${PN} + --pid=/run/${PN}.pid + --prefix=/usr + --state=/var/lib/${PN} + ) + use ssl && opt+=( --openssl ) + ./configure ${opt[@]} --ld-opt="${LDFLAGS}" || die "Core configuration failed" + # Modules require position-independent code + append-cflags $(test-flags-CC -fPIC) + for flag in ${MY_USE} ; do + if use ${flag} ; then + ./configure ${flag} || die "Module configuration failed: ${flag}" + fi + done + for flag in ${MY_USE_PHP} ; do + if use ${flag} ; then + local php_slot="/usr/$(get_libdir)/${flag/-/.}" + ./configure php \ + --module=${flag} \ + --config=${php_slot}/bin/php-config \ + --lib-path=${php_slot}/$(get_libdir) || die "Module configuration failed: ${flag}" + fi + done +} + +src_install() { + default + diropts -m 0770 + keepdir /var/lib/${PN} + newinitd "${FILESDIR}/${PN}.initd" ${PN} +} diff --git a/www-servers/nginx/Manifest b/www-servers/nginx/Manifest index 6fe4266096d3..2449eee1ada7 100644 --- a/www-servers/nginx/Manifest +++ b/www-servers/nginx/Manifest @@ -14,6 +14,7 @@ DIST modsecurity-2.9.3.tar.gz 4307670 BLAKE2B 337ea15cc8805af7ab43aed8aecf4c72cc DIST nginx-1.16.1.tar.gz 1032630 BLAKE2B 838c5f08b56378dd3ef3940a979eb1449c4ed7ef5b4b112da2531c0996d121ae32ae4e94d3b4ba198fefcdc1b06683e4b0cfa0087db82fcab13bffb5f67f8aa4 SHA512 17e95b43fa47d4fef5e652dea587518e16ab5ec562c9c94355c356440166d4b6a6a41ee520d406e5a34791a327d2e3c46b3f9b105ac9ce07afdd495c49eca437 DIST nginx-1.17.3.tar.gz 1034586 BLAKE2B 48d1c34cf345794bc345bedb96a6a194f175695b93ee5114095742d67384e81fe87cc1ec10553566a33dbabc2a784158bc1461e2001d67dda71af4a1f540a88d SHA512 b81e75c4c8c03ca2f0b40b9c2a1812cf168cb2319d7246b9b0cce838ef7dba81f3cd57a213ec8d58e457a0fa6b912adff2e5597e5ada7258cfe27f55b05205e2 DIST nginx-1.17.4.tar.gz 1034845 BLAKE2B 59e32fc4a625ec91696d3c18beb270ab2980f3a33a2952e8f43ce24e5a6a7fecff774ee20b1377dbfc0cee58651c78bb6d2cd2505f32a96966a200dce9569267 SHA512 fb7275c47d2416b597415f736771f8f4f3cdbba33728d9ca8ddb56b8266076a5ec5e63c735215a8d022f685b67d663fdaaac0c95db465a82f79f01d502feaa82 +DIST nginx-1.17.5.tar.gz 1036056 BLAKE2B 7f5c804651011a28d0d6e166a13e082f74173c0e447a88f013fa505e32994f65c159d755c473fa50eb7dc293c554961da23e61b1d59a429985ca6fc82fe69145 SHA512 b6799ddce7135646aa1f0b4405bcdab41d5065fbadcdeeb875f6fae4953159aa57b9104afe815748b0aab0e4d532e7771ccce487d7c4519e423d110f3715da7c DIST nginx-auth-ldap-42d195d7a7575ebab1c369ad3fc5d78dc2c2669c.tar.gz 18457 BLAKE2B 22225ca9e5299b20ab5a93a001cac48e446bd86b3a24ac49e716bc975b128890bdb4b0dbbf5730fbaaeadfd958160093c7a6af798dd0e6de27062f149a760333 SHA512 ec59637fda5acac053e815cb1d04b545fc6b765e5ec63d8c2c9c301abad87afaa2698145acac08e9e14c91e1423ebff7aff0cca2b940b19ccccbf4cf53973269 DIST nginx_http_sticky_module_ng-1.2.6-10-g08a395c66e42.tar.bz2 124047 BLAKE2B d37ef9a15c91abe3c6258e420d1f99fa452f9d9966a0e13102174973314a3bac5413957a5fe632a9dcb1163b3be5df8116e05cc053ee061e19319ec25f341570 SHA512 6c1bfdcf89884b2855d51ae7da0f6e53a4ca3629e1aaf58433b70c07dcb2af797ba6e87d9b3eb4fe2fb6d4d697e862f2b4c2f8d8b3fdaea201740c97ec936529 DIST ngx_brotli-8104036af9cff4b1d34f22d00ba857e2a93a243c.tar.gz 12672 BLAKE2B fa2febfa63b98303f8890c6774de6ccb09475ccd639d3b74493a4ffd97c90febdc22755c5928018bdac24a537bd13cde165f97e5d2b50bebf598c3fb22ec0206 SHA512 169566b8764bb2b82e029f954a99063a9c61e2cbf982861c5f6818b389a5f37bf5389afb1b5627de9bd3f7af7b3c404be0230f943d47ab621c2a2bd825cc8203 @@ -37,7 +38,9 @@ DIST ngx_metrics-0.1.1.tar.gz 2964 BLAKE2B 95d71ea26c949c345b83e353bd66a20df18cc DIST ngx_mogilefs_module-1.0.4.tar.gz 11208 BLAKE2B e0729b66554c8890727190a624d4c9aef6499dfc2e301541a9bfc15690caf6d3155c8a4b8f7a1555a7655b47aa0cd1b797aeb8ba82efa92ab80808218a0bdcff SHA512 b8cb7eaf6274f4e2247dbcb39db05072d2b2d4361256a325fafab5533d7ce0c4ae9e2905b954dfcfa4789c9cab5cccf2ac1c3a1f02f6a327ed95b562d7773ed1 DIST ngx_rtmp-1.2.1.tar.gz 519919 BLAKE2B 744ccb8031eb9653f158f9eceba64fc9c8af7b9a42e64ef996ab3bbbe1402e5ffd3efcc8e4aaca437eb5e208e4b6f2d8643fcca953b32f32543eaa1ae4d9505c SHA512 4a0af5e9afa4deb0b53de8de7ddb2cfa6430d372e1ef9e421f01b509548bd134d427345442ac1ce667338cc2a1484dc2ab732e316e878ac7d3537dc527d5f922 DIST njs-0.3.5.tar.gz 339177 BLAKE2B 6327be0b7c8077870408722376782bca579a6cfdf1fe2a4950fc0d289311ad21f671bc2b47d06f70d95d4f68d99e8c70fd4598dcc167b79c57704d99a098d284 SHA512 236e0284f251856f74eb51d8251bb5be725d2ca90056f2feef7677eb636a4e97e203f3bba81fb6b677158d615dc2d6ffcb0dc1059fb678ab12b7d14cc4ea7241 +DIST njs-0.3.6.tar.gz 354475 BLAKE2B a2f3be7c83dd46bb8a7300460b580e053eaa78f2bcc835dd7b586457f045ea63eaa591873041648e3aa3aefce1d47a999b52667adfccadf0439066bfbff73673 SHA512 1973824bb434e9640626c132dac932da7615b534486ab76081a075be4f4e9fdf75a9a400c0d504750a5da341cebb20e6357710149e6de66ac8df8ee4cb1576bb EBUILD nginx-1.16.1-r1.ebuild 40532 BLAKE2B e220ab8234bbbaa59f805a2f2a838627e9feae6b78d5474b9f0f4fb45287894cb4c2c04288f87d8d1a917ac0ed603e27878fd82b9a3bbc5df9b04e27e368aa03 SHA512 8adfe6a783036726afc73d328b1db4f863ff02dfd3f2970a6cb6e7595ede97b08497454382471a89210ae5af943b9ec350283d1b3f2fcf8308feaeefa0eb1fc0 EBUILD nginx-1.17.3-r1.ebuild 40534 BLAKE2B f7b3ab8ace3ecd8e92800e54d4d597dc1af5a89f97ff2e701c101e0f329872d5d7f5101027080447d48ff333a8891ca6fb270a0e48d27b1153c93ecd8cb6291d SHA512 72a58bc4ee1834f95f188a8789a415209bfe4ec300df69ee79882041dfaa2283d893f1e73666ba81ba62665b95cea11112509cb62ac84509ef09638bf9c7c99a EBUILD nginx-1.17.4.ebuild 40534 BLAKE2B f7b3ab8ace3ecd8e92800e54d4d597dc1af5a89f97ff2e701c101e0f329872d5d7f5101027080447d48ff333a8891ca6fb270a0e48d27b1153c93ecd8cb6291d SHA512 72a58bc4ee1834f95f188a8789a415209bfe4ec300df69ee79882041dfaa2283d893f1e73666ba81ba62665b95cea11112509cb62ac84509ef09638bf9c7c99a +EBUILD nginx-1.17.5.ebuild 40534 BLAKE2B 43e5fe37bbce8e5273d1bdb9bb6fb191af3bcb1085a065c854d8f907e56938aeaac259c472dd07d4810274178440014cb2d013c5455585666ed458253992a393 SHA512 2c4d71111d689ed97994454bac93f3e2d06d5e169d9b9ba4f5419bdfffb13c2c3aa7a4053c9f13624515a0f0f51d1e81e15f914350b44df5acd3e7c82e4bac06 MISC metadata.xml 1310 BLAKE2B 6f40252a833a188f4b62cb2f2a126f93e68cdcd0e3575febdc371106c82d7ebdc6931b162a5ef8070fb6fe1f18e969191f67d3ccdd5e55712dc4d209c16c34c9 SHA512 10403ec29eaa83eb45b7b0b78340103b226145b52b3795e18b1e8bf272efa83586bc190e6e66061f33544434e3c2f94d2229be988733713578e9bb495ce7219c diff --git a/www-servers/nginx/nginx-1.17.5.ebuild b/www-servers/nginx/nginx-1.17.5.ebuild new file mode 100644 index 000000000000..881ff6304728 --- /dev/null +++ b/www-servers/nginx/nginx-1.17.5.ebuild @@ -0,0 +1,1089 @@ +# Copyright 1999-2019 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/eustas/ngx_brotli, BSD-2) +HTTP_BROTLI_MODULE_PV="8104036af9cff4b1d34f22d00ba857e2a93a243c" +HTTP_BROTLI_MODULE_P="ngx_brotli-${HTTP_BROTLI_MODULE_PV}" +HTTP_BROTLI_MODULE_URI="https://github.com/eustas/ngx_brotli/archive/${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.3" +HTTP_FANCYINDEX_MODULE_P="ngx_http_fancyindex-${HTTP_FANCYINDEX_MODULE_PV}" +HTTP_FANCYINDEX_MODULE_URI="https://github.com/aperezdc/ngx-fancyindex/archive/v${HTTP_FANCYINDEX_MODULE_PV}.tar.gz" +HTTP_FANCYINDEX_MODULE_WD="${WORKDIR}/ngx-fancyindex-${HTTP_FANCYINDEX_MODULE_PV}" + +# http_lua (https://github.com/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.1" +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.61" +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.2" +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.3.6" +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_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_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_auth_pam; then + cd "${HTTP_AUTH_PAM_MODULE_WD}" || die + eapply "${FILESDIR}"/http_auth_pam-1.5.1-adjust-loglevel-for-authentication-failures.patch + cd "${S}" || die + fi + + if use nginx_modules_http_brotli; then + cd "${HTTP_BROTLI_MODULE_WD}" || die + eapply "${FILESDIR}"/http_brotli-detect-brotli-r2.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 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 "${D}"usr/html || die + + # set up a list of directories to keep + local keepdir_list="${NGINX_HOME_TMP}"/client + local module + for module in proxy fastcgi scgi uwsgi; do + use nginx_modules_http_${module} && keepdir_list+=" ${NGINX_HOME_TMP}/${module}" + done + + keepdir /var/log/nginx ${keepdir_list} + + # this solves a problem with SELinux where nginx doesn't see the directories + # as root and tries to create them as nginx + fperms 0750 "${NGINX_HOME_TMP}" + fowners ${PN}:0 "${NGINX_HOME_TMP}" + + fperms 0700 ${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 + + 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/tomcat/Manifest b/www-servers/tomcat/Manifest index 839b16ede1b5..790c0221e8a3 100644 --- a/www-servers/tomcat/Manifest +++ b/www-servers/tomcat/Manifest @@ -1,28 +1,25 @@ AUX tomcat-7.0.94-build.xml.patch 5966 BLAKE2B 01e253b0597e7353eaa38b5af29f4f6db4161fbe91aa1a46e2b8412f37cb66a10c06a14291e1c49ea108f7fbbff538e1c605829de8ee20d85a57d9c6122e4436 SHA512 66e001d705a7081461a3ddb9477e857b7fb87676b1ebc3eaa4bbf7f6a1e8f88f7eae4fc49a8a5b7a7baebc2258acc2bd0fe11d3683716021430e4a9dcd367b43 -AUX tomcat-8.0.53-build.xml.patch 10949 BLAKE2B 2693f3e74a69967ceeb5f4ee41756b840da5bc2ab3c64cb855d52bd099bad8d6115f1d01903bacdcb634c24b9085dbb2ef34027f71325f887f20826721b268aa SHA512 20373a340dcb17595e7ff52608e8d3d3b1eddd5f0104b588c5f91b21eb4510047df61a0dfd9ed8674fb7b0b709945d5014d6e1cad4027414ff9e72c2b5d56cfc AUX tomcat-8.5.40-build.xml.patch 10429 BLAKE2B ba2dcd97d06d353f1ae8c9041ad5eaf510ea6668fe08d2331b6f2b9efc886492c7946ad5d3e6dfe49e83d62bce7df20eaa8003c40c91f8f1be95e301bd02a87f SHA512 18ddf79f7fd12ca0095c75cd60876a942b35bd7d5f38919ce2edd1199d2a544381f157e7544bbf52c0d54d2786535c29910ae10ea1ef7f6afb030505861c5807 +AUX tomcat-8.5.47-build.xml.patch 10363 BLAKE2B 8f851b5eaa4ffb3073ee526122ef278f8e975e263b439140748ba774152a72712b6bc78d6568d097befac4ba56bc6a1721f14dd0a85d288e88621f49819e1a97 SHA512 236df8ce63e7e48293584868c140d4ba5160172cc19bd90eeacd6f14e08663b7c750f95fb24ab1eddf7c7a2a80e2f05e5470261159f3c95d3b22bd790b2f6b89 AUX tomcat-9.0.19-build.xml.patch 10992 BLAKE2B 2205b3973bff2cd252679e3cc809c907f9df56874d7030283b4a4b1ce32337a832eacf84b62ce6d01473da2e539a1dc00e7ee233d1226458f266eb627c7fbcd5 SHA512 0988b9b52ef9921a174fb52ea3982d3560fa808fa83c77cbcf0a0d09c09ede2269957f6bc966357ac461250158c45c54b3f45e80ce62916f5c015d77d7e27d06 +AUX tomcat-9.0.27-build.xml.patch 10936 BLAKE2B a75c4635744b1815d5f4df29ac6bbb2afebf752c7b43cda2cd69c2cbe66100b10e04fe8a4306e2c166a6b2159091a7c7a4b88d299ea7d408e6af04c8b552ea8f SHA512 e1a68955dc6a89e1751cb429d44a19501644425b1a7553c0021255016bf69c58b64059267dab91457e78573e9dce01c3f3abe0f776d69bbf35d1c36c0535e1ce AUX tomcat-9.0.4-build.xml.patch 10399 BLAKE2B 3ec7f4d315b51056884b44abbd03093e2bf3675acfb572c556a62a8a32de3209dae82ee3f3b1c65178b2a62b42f5d4c3fba2e765aa27aa7147a9d8478d09f0f0 SHA512 60729e4f085951aa1133b0d6fdc6386bac9fd4bcd421814eb87c8a45a62819fab1ea2347dfffd12150e93c54fda2ba98bf1df4bc39a622de5ac9ea0c2e81a710 AUX tomcat-instance-manager-r1.bash 6451 BLAKE2B 3bcd9dd4d3360a91f4a548c050eab6f7174453cfbe7b4a1a7167e122efa3ec2ea6c17c88de1f9223e21e773cf717ed04d79fe0b1e7fc816400033094a07a35c6 SHA512 3c8f994519d1ca5ff24229798786ad3d75dd20dbf8b3b81f6c0ccd121b978d2cb12633270f463a39ed5c4097e5869b1a4bfbf867994a64c5e41916e378038570 AUX tomcat-instance-manager-r2.bash 6999 BLAKE2B f1c771678bd8b894ecf242d5a8fb22f5b2f0f33445a1ff158c242b5154edc4483a5707ce33a5dcee53a3106e631ad8218243d8b72a32a10cd99e9646fa54085d SHA512 c30c156cbf2b53cf8498288bacaedd48872dce52f461ff32071310b438bdb5015c1cd1d512a2905c4db01e2b22342590e1b8aeadbd44f29062606fabbb2f2fed AUX tomcat-r1.init 3200 BLAKE2B eb913d32bb8c1883e58551a25ff9516337d947c6fd2c7b449601a89a4518286d61dbca76417265289782a7a08540d8e78a3ea1cd1427d43d87e24813261c0fee SHA512 3d32e2ad998adfbaea5fe0ffcbbe6659dcb530a110faed5f2712ae2fd767353b1fc3f1ac83a24d43138c1bfc55949e645833a428ab982be14415887fc46d9fab AUX tomcat.conf 1811 BLAKE2B a92606e113172c6f0f73e18ab8ad8796f38bd8c741bb2fd1f6c43d7682728729d0198d4150e42282c7e732750231b7cdbfb51de9b24f2ba780a22700965113c5 SHA512 0747dd2fdad6c68123425adce39f625d34924ae3e7c9d5a00361565a593047d7a4d01dee64c1ef831e5ad79b51750babaf642b0588d4b5948bbed441d53d654d DIST apache-tomcat-7.0.96-src.tar.gz 4983881 BLAKE2B d5b828b7a4e8a7a5ce793a15421fbd6b12b55918aa7c15bc8209b4c762d7f422a7315e4cbe9b4ae2da754b6d8493bc11ae6a5c99f11a1ac3b23473e05fa26c83 SHA512 5797e66fb9ce558340e08d3a4ccd372d912707aabd6177318781925dd35055902a0ecc3e50e677d76b0feea547cc8fc038bb83ae5de65d28680cb4c9582f60c0 -DIST apache-tomcat-8.0.53-src.tar.gz 5057041 BLAKE2B 3a50d2f61baecb5244909972384e36478c69e7592dd35119d8b7b974273c57a4855082f309146ed160144dbdcced3236fd586b047970bd8558bbe7b7e002e9fd SHA512 0b56bc723277b2888896ab34ec3e49cb56bac94ddf1a9b96bd023982e2ffabd5317f63b3c0971afdc8cd7a6364197409df461d22151dbaab3a2be7daf6858b9e -DIST apache-tomcat-8.5.43-src.tar.gz 5283886 BLAKE2B 2d76e66eedf4de474d439289a9a491e5c490e2373bc91ae30113b8f3c624255339d24149b58fba640aaf3131ab3c9a449930049d26928627e1b7910f0cddd40f SHA512 f6a0439dbfd3f233bd1eb395d37466ba2cce32cd456d067fb2bb45099ac173dec7e42e7fbfab2cb50c0fce2e9dba1f1afe6c8d65877525cb13cb116489cf27a7 -DIST apache-tomcat-8.5.45-src.tar.gz 5324847 BLAKE2B 5ef3388b9324bb04772543c03686057b3035f5a5f40009d0aa1ec34fe18d04af87527bcc9ae0566f41faf64de8ce191f8ea4e2ed2869da569777621aad227d6c SHA512 1fe94b9d5ccf63d2c5fc3dd7a47dabade160ed2882848e0a41422b5a67215d53e8265535ee8e645157d56c4eba9093722982684be6668064648b0782fc48927a DIST apache-tomcat-8.5.46-src.tar.gz 5599021 BLAKE2B 3755f15612e63ac06cbfa097f1531dc36542ba559a6ef60230b133e45d14bb4c4c54d4dcc8b05b9996f54ac253fb1630f6a6e900ee00e4af0a9200f83455a952 SHA512 02e93cc6fb4226e81b03ae60f479e15b438b1c68c1a4104200db9cc473939b92d66eea12f0783727b06f643d11ebe3da2a81c80cbe486ed497a3280e8cdb2e62 -DIST apache-tomcat-9.0.24-src.tar.gz 5746934 BLAKE2B fe0ff76fd8b3caa2860c0798d66f0dfff1e907ca02d10913c768d8513b207ef11e8fe885cd7578348136b8d007e08ccc2044952198259ffcdb2d58acf9fbb8b6 SHA512 de11d0e992cce08edb83474bd4cab04857e3e2bf63ef334c8c9f3ad053edcc76691e831cc95b8c489b820773a6fa5d2755837b470d73471f9587bb7062d75a31 +DIST apache-tomcat-8.5.47-src.tar.gz 5607118 BLAKE2B 3c326056f674032424d298c7581243a24dd01fae39b1ce7069b60e1bcf3d825de954164f643e887618c43c87d691bc41f942e73bf86b254b4c7dca9c68ce7cce SHA512 1513fdaf7751ee263d878cdfc05329bc4ee50e2f3aeea68e1d173a5f4d555ec59a43050222f013758f704967730dd25a64337cf1ba4365ab53b8730af87b4051 DIST apache-tomcat-9.0.26-src.tar.gz 5750303 BLAKE2B 582acae0f24cab5fdd44c085b36e771508020d124f9329036b3bf0698da1fb2cda69d6f4254eeaca00ce3c34c3740fe69c077637107167fface60b9fa74c8869 SHA512 8f430439c66f5a43c7a35bc99edd11549100be28b17fb44e17ec432f72e1797cdebd641a7f19c1d918635e51c164ecd1c9d1399a63abfce05d9a8c37db381837 +DIST apache-tomcat-9.0.27-src.tar.gz 5761278 BLAKE2B 7d4a65dfa43e0956a5dbb1dad3bf1aa475e7c503d3192ac24921d7cee9bd85379cd820ce693e8c583a7cab23263b0abfa960968d04d766764e222ba8c5bd97d4 SHA512 3f63cbd49f93e6a9d44ea63b4f787cf498930b82d19eaf60603c126b8800d2894d306c27e42ab73b042f3bba9cfb75b6c939b91b8b9141e4903eb1b88c2a4ec8 DIST apache-tomcat-9.0.7-src.tar.gz 5106551 BLAKE2B b4552146a40c2e7cbb2e454fb5ec9169425db5c08cf269c391ec3144425ad388a2b6f003a7c05f59a9fd724fb5c848102890a24fcfd43d5fea3d881141aa7798 SHA512 cb7dc5547671d94f7c7fb0b58eeb94d05128349cdabf576fc8ad837a4bf3ea655a8eab3342245dfa84a9db23f1cbee2918846eedd48e3ca372eecebfef13c5b2 DIST biz.aQute.bnd-4.1.0.jar 9263260 BLAKE2B e251a9d8b653f3e815e6c2f7774d64f1d594f3ce4b2f77956c806698df4d873310067cece68663324b11fcef8d90796b087abb289dbe2a13164a9038da4a6260 SHA512 f5d230358840f4909e35de40343fb7ee50a2d4d4691691f5ea896cfe212a086ad4859e0ee6ed4c315211223663b2fb2c07af7ea88786cedbcd4f891e5a4589ef DIST biz.aQute.bndlib-4.1.0.jar 2897463 BLAKE2B c29a55e07cc103919dca1e938722bf94b107e2989a4a8ae887998152a93b641a659a5209129b992432bcb2673dd4b56ec9a929627530a631db10666f2177c0e4 SHA512 2acccbb323f3d740506e89a74c5affab85e628f9062ee0d799ccd09efe0b55436d8887a46d7d94ad636a2c793632635974f1bbb045e4789391937222c8d00d30 EBUILD tomcat-7.0.96.ebuild 4230 BLAKE2B 028f3b1c800225c67bcb79cd8efe9e88b15914bb72b4f0144a404e45e4b7e8a13e288d57a20d05ee01366ec1835078e85aa1063f68e7db8ee7b25f72f414ff00 SHA512 5e9bd56f9ee06e246f95360f2c73f448a6425e9445f2d2d9ba591b587fde11793963bce184b8dbf19de3cbaf71cf645753e04a614d9532df6a9b0dcbd464a781 -EBUILD tomcat-8.0.53.ebuild 4544 BLAKE2B 9bbede27a251312d310a8fb067e6d2734877907c8264895fa97e8de5d0839599e0a8c9e249740a673b7ead61406e74f281c358d21eb0e553834ba0c7852d1b42 SHA512 52ad7767dc5edc0ed43ec111433ff7323e135134f3c9d357a66a604c3a0e8184f36a7bb47935c104075a7dd4e8bbd0075c933d1c7cc745639c9c842c07dd2d72 -EBUILD tomcat-8.5.43.ebuild 4600 BLAKE2B 83a3150b11244cf690433d298319f25451e03a1caa6ef07eda33de00160f049dcbc3a6b3071412c2e14a5612c732479e93ad55d5f2a096ac179aa57bc8c78d0f SHA512 bc83eeac436f6fbd2eee8c07cf0526befed08327ac4820d4b2fd7559bbbd0f366cd076692bec2c9faabf1f1ef1a65307c7afad0d941a3e21f4a5d669828346ac -EBUILD tomcat-8.5.45.ebuild 4601 BLAKE2B 31710c36ed15ed670d28824e55362b9f08303335596a5077353d1c0142dbb0f9654aff566687e32c2a2066709a000eae643fc203147d30c95b0a5153f9baf55e SHA512 e36396e6e8ad501692a9bb6e49d7300db7357e0501d20a9be17319f673b4250e090cf32d6392bf4ef54cefd0ef746277a78cd231b2abe195c6eab96606d8c666 -EBUILD tomcat-8.5.46.ebuild 4601 BLAKE2B 31710c36ed15ed670d28824e55362b9f08303335596a5077353d1c0142dbb0f9654aff566687e32c2a2066709a000eae643fc203147d30c95b0a5153f9baf55e SHA512 e36396e6e8ad501692a9bb6e49d7300db7357e0501d20a9be17319f673b4250e090cf32d6392bf4ef54cefd0ef746277a78cd231b2abe195c6eab96606d8c666 -EBUILD tomcat-9.0.24.ebuild 5511 BLAKE2B 751c4feb923a08c6cb549e7f191cec57d6f940fc57de62e0b4fcd597f92513189cc2709df4dcf69c75fd12956cefc835f5ac6bd543eef8f64edf3e943e99b7b1 SHA512 d74b33ad5fd345ce86ce0ffebfeade235906ad73347404d62caa9c07f82d893f13454be824be42a147f3a7f737438a336d9c74895107ed68492dae695dd1cedd +EBUILD tomcat-8.5.46.ebuild 4600 BLAKE2B 83a3150b11244cf690433d298319f25451e03a1caa6ef07eda33de00160f049dcbc3a6b3071412c2e14a5612c732479e93ad55d5f2a096ac179aa57bc8c78d0f SHA512 bc83eeac436f6fbd2eee8c07cf0526befed08327ac4820d4b2fd7559bbbd0f366cd076692bec2c9faabf1f1ef1a65307c7afad0d941a3e21f4a5d669828346ac +EBUILD tomcat-8.5.47.ebuild 4593 BLAKE2B 4dbfb90bbbdee3f1dcdba40e344c98ac5633ff754348e6255650051e8f5a3d9e7f0a993eb9dfa077cae98be5181fa048ea1acec8d849e1fbfc87c02603f4634e SHA512 5597597cdcdceaf70bcf0443fca4d6a1f734f5b0269cc85850620d1bbd73ce35770d9192f9de368947c98cfe1d29ada42f44a899bcfd5a9c4dcc9a6e135de4cd EBUILD tomcat-9.0.26.ebuild 5511 BLAKE2B 751c4feb923a08c6cb549e7f191cec57d6f940fc57de62e0b4fcd597f92513189cc2709df4dcf69c75fd12956cefc835f5ac6bd543eef8f64edf3e943e99b7b1 SHA512 d74b33ad5fd345ce86ce0ffebfeade235906ad73347404d62caa9c07f82d893f13454be824be42a147f3a7f737438a336d9c74895107ed68492dae695dd1cedd +EBUILD tomcat-9.0.27.ebuild 5503 BLAKE2B 5295f15732c306d5bf87b38b8d79ec244c9733cfefd44d51b713d4dfbd48f90e809418c969c1baf607456ea885836bfb1d75d794fe1546afc7cc42e4a6a89bd4 SHA512 3713cfe1744d467ebdcef1a486de748c57dd8b2decab08448d9f1e633c9a01c78f29a9e1bbcda386ee858b77f319757ae5d404b082f3ad97c2e380cfc19898d2 EBUILD tomcat-9.0.7.ebuild 4554 BLAKE2B ed8c298301b751bdead671e91111b44b2ae84ab5597263b67fbcf40d95679c9850dae96c796cb9a348799ee0bf677d88ac3e7c8c936c3d2098ba8643b1ae33d5 SHA512 46197feebee5fa8fdfe63670374bc443e275175a27cfe64e57d144322d1418cba0eb54c89840b695fd12577e067330c71b4871d1fab787d899b4500bb9beb989 MISC metadata.xml 712 BLAKE2B 3e0a9b1bd07334015006678c0e1d933dc3d7b65291425754f7bcaec673f2316ba85b2e7df2c79a90f0d53dfbc443329cbea8ddfde7d4c93a1635b6140a3b18b6 SHA512 bc7c894d5f945a732078cc4d9a7fa9d0374ebb6aec449487f8968b22aed07bc5e20094448fda9be7516206121d0dfec8c6d6e48ee818786999703ea778a82109 diff --git a/www-servers/tomcat/files/tomcat-8.0.53-build.xml.patch b/www-servers/tomcat/files/tomcat-8.5.47-build.xml.patch index eb12467b66f6..ffbd07016110 100644 --- a/www-servers/tomcat/files/tomcat-8.0.53-build.xml.patch +++ b/www-servers/tomcat/files/tomcat-8.5.47-build.xml.patch @@ -1,8 +1,8 @@ diff --git a/build.xml b/build.xml -index 5ee1d86..ade4446 100644 +index c274aab..ed1c3e5 100644 --- a/build.xml +++ b/build.xml -@@ -723,24 +723,29 @@ +@@ -739,24 +739,29 @@ manifest="${tomcat.manifests}/annotations-api.jar.manifest" /> <!-- Servlet 3.1 Implementation JAR File --> @@ -33,7 +33,19 @@ index 5ee1d86..ade4446 100644 <!-- WebSocket 1.1 API JAR File --> <jarIt jarfile="${websocket-api.jar}" -@@ -1010,9 +1015,9 @@ +@@ -848,9 +853,9 @@ + filesId="files.jasper-el" /> + + <!-- Re-packaged Apache Commons DBCP 2--> +- <jarIt jarfile="${tomcat-dbcp.jar}" ++<!-- <jarIt jarfile="${tomcat-dbcp.jar}" + filesDir="${tomcat.classes}" +- filesId="files.tomcat-dbcp" /> ++ filesId="files.tomcat-dbcp" /> --> + + <!-- i18n JARs --> + <jar jarfile="${tomcat.build}/lib/tomcat-i18n-de.jar" +@@ -1072,9 +1077,9 @@ <target name="deploy" depends="package,build-docs,build-tomcat-jdbc,compile-webapp-examples" description="Default. Builds a working Tomcat instance"> @@ -45,7 +57,7 @@ index 5ee1d86..ade4446 100644 <!-- Copy scripts --> <copy todir="${tomcat.build}/bin"> <fileset dir="bin"> -@@ -1072,7 +1077,7 @@ +@@ -1134,7 +1139,7 @@ <exclude name="${jdt.jar.filename}"/> </fileset> </delete> @@ -54,8 +66,8 @@ index 5ee1d86..ade4446 100644 <!-- Add sources for examples --> <antcall target="examples-sources" /> -@@ -1108,7 +1113,7 @@ - </javac> +@@ -1177,7 +1182,7 @@ + </target> - <target name="build-tomcat-jdbc" depends="package"> @@ -63,7 +75,7 @@ index 5ee1d86..ade4446 100644 <!-- build the jdbc-pool jar and source jar--> <echo message="Building Tomcat JDBC pool libraries"/> <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}" -@@ -1123,7 +1128,7 @@ +@@ -1192,7 +1197,7 @@ <copy file="${tomcat-jdbc.jar}" todir="${tomcat.build}/lib"/> </target> @@ -72,7 +84,7 @@ index 5ee1d86..ade4446 100644 <!-- build the jdbc-pool source jar--> <echo message="Building Tomcat JDBC pool src JAR"/> <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}" -@@ -1227,9 +1232,11 @@ +@@ -1295,9 +1300,11 @@ <copy file="${basedir}/LICENSE" todir="${tomcat.embed}" /> <copy file="${basedir}/NOTICE" todir="${tomcat.embed}" /> @@ -84,16 +96,7 @@ index 5ee1d86..ade4446 100644 <copy file="${annotations-api.jar}" todir="${tomcat.embed}" /> <!-- Note the meta-inf below will work as long as there is only one JAR -@@ -1621,7 +1628,7 @@ - - <target name="extras-commons-logging-prepare" - depends="extras-prepare" -- description="Prepare to build web services extras package"> -+ description="Prepare to build web services extras package" unless="noget"> - - <antcall target="downloadfile-2"> - <param name="sourcefile.1" value="${commons-logging-src.loc.1}"/> -@@ -1775,7 +1782,7 @@ +@@ -1681,7 +1688,7 @@ <target name="extras-webservices-prepare" depends="extras-prepare" @@ -102,29 +105,15 @@ index 5ee1d86..ade4446 100644 <antcall target="downloadfile"> <param name="sourcefile" value="${jaxrpc-lib.loc}"/> -@@ -1970,11 +1977,12 @@ - </copy> - - <!-- Source bundles for native components --> -+<!-- - <copy tofile="${tomcat.dist}/bin/tomcat-native.tar.gz" - file="${tomcat-native.tar.gz}" /> - <copy tofile="${tomcat.dist}/bin/commons-daemon-native.tar.gz" - file="${commons-daemon.native.src.tgz}" /> -- -+--> - <!-- platform README files --> - <echo append="false" file="${tomcat.dist}/bin/x64/README"> - Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform. -@@ -1984,6 +1992,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform. +@@ -1845,6 +1852,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform. <target name="javadoc" depends="dist-source,extras-webservices-prepare" description="Create the Tomcat javadoc" > +<!-- - <javadoc packagenames="javax.servlet.*" - excludepackagenames="javax.servlet.jsp.*" + <javadoc packagenames="javax.annotation.*" sourcepath="${tomcat.dist}/src/java" -@@ -2045,6 +2054,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform. + destdir="${tomcat.dist}/webapps/docs/annotationapi" +@@ -1933,6 +1941,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform. <path location="${ant.core.lib}"/> </classpath> </javadoc> @@ -132,28 +121,28 @@ index 5ee1d86..ade4446 100644 <javadoc packagenames="javax.websocket.*" sourcepath="${tomcat.dist}/src/java" destdir="${tomcat.dist}/webapps/docs/websocketapi" -@@ -2083,9 +2093,11 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform. - <path refid="tomcat.webservices.classpath"/> +@@ -1996,9 +2005,11 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform. <path location="${ant.core.lib}"/> </classpath> + <link href="../annotationapi"/> +<!-- <link href="../servletapi"/> <link href="../jspapi"/> <link href="../elapi"/> +--> <link href="../websocketapi"/> - <link href="http://docs.oracle.com/javase/7/docs/api/"/> - <link href="https://commons.apache.org/proper/commons-io/javadocs/api-release/"/> -@@ -2821,7 +2833,7 @@ skip.installer property in build.properties" /> + <link href="../jaspicapi"/> + <link href="https://docs.oracle.com/javase/7/docs/api/"/> +@@ -2728,7 +2739,7 @@ skip.installer property in build.properties" /> </target> <target name="download-compile" -- description="Download (and build) components necessary to compile" > -+ description="Download (and build) components necessary to compile" unless="noget"> +- description="Download components necessary to compile" > ++ description="Download components necessary to compile" unless="noget" > <!-- Download Commons Daemon --> <antcall target="downloadgz-2"> -@@ -2847,7 +2859,7 @@ skip.installer property in build.properties" /> +@@ -2764,7 +2775,7 @@ skip.installer property in build.properties" /> </target> <target name="download-test-compile" @@ -162,7 +151,7 @@ index 5ee1d86..ade4446 100644 <antcall target="downloadfile"> <param name="sourcefile" value="${junit.loc}"/> -@@ -2925,7 +2937,7 @@ skip.installer property in build.properties" /> +@@ -2842,7 +2853,7 @@ skip.installer property in build.properties" /> </target> <target name="download-dist" @@ -171,12 +160,12 @@ index 5ee1d86..ade4446 100644 <antcall target="downloadfile-2"> <param name="sourcefile.1" value="${tomcat-native.loc.1}"/> -@@ -2980,13 +2992,13 @@ skip.installer property in build.properties" /> +@@ -2897,13 +2908,13 @@ skip.installer property in build.properties" /> <!-- =============== Utility Targets to support downloads ================ --> - <target name="setproxy" if="${proxy.use}"> -+ <target name="setproxy" if="${proxy.use}" unless="noger"> ++ <target name="setproxy" if="${proxy.use}" unless="noget"> <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}" proxyuser="${proxy.user}" proxypassword="${proxy.password}" /> <echo message="Using ${proxy.host}:${proxy.port} to download ${sourcefile}"/> @@ -187,7 +176,7 @@ index 5ee1d86..ade4446 100644 <echo message="Testing for ${destfile}"/> <available file="${destfile}" property="exist"/> </target> -@@ -3108,7 +3120,7 @@ skip.installer property in build.properties" /> +@@ -3025,7 +3036,7 @@ skip.installer property in build.properties" /> </sequential> </macrodef> @@ -196,7 +185,7 @@ index 5ee1d86..ade4446 100644 <!-- Download and extract the package --> <local name="temp.file"/> <mkdir dir="${base.path}"/> -@@ -3125,7 +3137,7 @@ skip.installer property in build.properties" /> +@@ -3042,7 +3053,7 @@ skip.installer property in build.properties" /> <delete file="${temp.file}.tar.gz"/> </target> @@ -205,7 +194,7 @@ index 5ee1d86..ade4446 100644 <!-- Download and extract the package from the two alternative locations --> <local name="temp.file"/> <mkdir dir="${base.path}"/> -@@ -3150,7 +3162,7 @@ skip.installer property in build.properties" /> +@@ -3067,7 +3078,7 @@ skip.installer property in build.properties" /> <delete file="${temp.file}.tar.gz"/> </target> @@ -214,7 +203,7 @@ index 5ee1d86..ade4446 100644 <!-- Download and extract the package --> <local name="temp.file"/> <mkdir dir="${base.path}"/> -@@ -3166,7 +3178,7 @@ skip.installer property in build.properties" /> +@@ -3083,7 +3094,7 @@ skip.installer property in build.properties" /> <delete file="${temp.file}"/> </target> @@ -223,7 +212,7 @@ index 5ee1d86..ade4446 100644 <!-- Download and extract the package from the two alternative locations --> <local name="temp.file"/> <mkdir dir="${base.path}"/> -@@ -3190,7 +3202,7 @@ skip.installer property in build.properties" /> +@@ -3107,7 +3118,7 @@ skip.installer property in build.properties" /> <delete file="${temp.file}"/> </target> @@ -232,7 +221,7 @@ index 5ee1d86..ade4446 100644 <!-- Download the file --> <local name="temp.file"/> <mkdir dir="${base.path}"/> -@@ -3205,7 +3217,7 @@ skip.installer property in build.properties" /> +@@ -3122,7 +3133,7 @@ skip.installer property in build.properties" /> <move file="${temp.file}" tofile="${destfile}"/> </target> @@ -241,7 +230,7 @@ index 5ee1d86..ade4446 100644 <!-- Download the file from the two alternative locations --> <local name="temp.file"/> <mkdir dir="${base.path}"/> -@@ -3233,7 +3245,7 @@ skip.installer property in build.properties" /> +@@ -3150,7 +3161,7 @@ skip.installer property in build.properties" /> <move file="${temp.file}" tofile="${destfile}"/> </target> @@ -250,7 +239,7 @@ index 5ee1d86..ade4446 100644 <condition property="trydownload.run"> <and> <not> -@@ -3244,7 +3256,7 @@ skip.installer property in build.properties" /> +@@ -3161,7 +3172,7 @@ skip.installer property in build.properties" /> </condition> </target> @@ -259,7 +248,7 @@ index 5ee1d86..ade4446 100644 <!-- Downloads a file if not yet downloaded and the source URL is available --> <get src="${sourcefile}" httpusecaches="${trydownload.httpusecaches}" dest="${destfile}" /> </target> -@@ -3255,7 +3267,7 @@ skip.installer property in build.properties" /> +@@ -3172,7 +3183,7 @@ skip.installer property in build.properties" /> <target name="ide-eclipse" depends="download-compile, extras-webservices-prepare, download-test-compile" diff --git a/www-servers/tomcat/files/tomcat-9.0.27-build.xml.patch b/www-servers/tomcat/files/tomcat-9.0.27-build.xml.patch new file mode 100644 index 000000000000..05c8ffa1f990 --- /dev/null +++ b/www-servers/tomcat/files/tomcat-9.0.27-build.xml.patch @@ -0,0 +1,278 @@ +diff --git a/build.xml b/build.xml +index 020531c..a71f6ee 100644 +--- a/build.xml ++++ b/build.xml +@@ -754,6 +754,7 @@ + addOSGi="true" /> + + <!-- Servlet 4.0 Implementation JAR File --> ++<!-- + <jarIt jarfile="${servlet-api.jar}" + filesDir="${tomcat.classes}" + filesId="files.servlet-api" +@@ -761,21 +762,23 @@ + notice="${tomcat.manifests}/servlet-api.jar.notice" + license="${tomcat.manifests}/servlet-api.jar.license" + addOSGi="true" /> +- ++--> + <!-- JSP 2.3 Implementation JAR File --> ++<!-- + <jarIt jarfile="${jsp-api.jar}" + filesDir="${tomcat.classes}" + filesId="files.jsp-api" + manifest="${tomcat.manifests}/jsp-api.jar.manifest" + addOSGi="true" /> +- ++--> + <!-- EL 3.0 Implementation JAR File --> ++<!-- + <jarIt jarfile="${el-api.jar}" + filesDir="${tomcat.classes}" + filesId="files.el-api" + manifest="${tomcat.manifests}/el-api.jar.manifest" + addOSGi="true" /> +- ++--> + <!-- WebSocket 1.1 API JAR File --> + <jarIt jarfile="${websocket-api.jar}" + filesDir="${tomcat.classes}" +@@ -881,10 +884,10 @@ + addOSGi="true" /> + + <!-- Re-packaged Apache Commons DBCP 2--> +- <jarIt jarfile="${tomcat-dbcp.jar}" ++<!-- <jarIt jarfile="${tomcat-dbcp.jar}" + filesDir="${tomcat.classes}" + filesId="files.tomcat-dbcp" +- addOSGi="true" /> ++ addOSGi="true" /> --> + + <!-- i18n JARs --> + <jar jarfile="${tomcat.build}/lib/tomcat-i18n-cs.jar" +@@ -1126,9 +1129,9 @@ + + <target name="deploy" depends="package,build-docs,build-tomcat-jdbc,compile-webapp-examples" + description="Default. Builds a working Tomcat instance"> +- ++<!-- + <copy tofile="${tomcat.build}/bin/commons-daemon.jar" file="${commons-daemon.jar}" /> +- ++--> + <!-- Copy scripts --> + <copy todir="${tomcat.build}/bin"> + <fileset dir="bin"> +@@ -1188,7 +1191,7 @@ + <exclude name="${jdt.jar.filename}"/> + </fileset> + </delete> +- <copy file="${jdt.jar}" todir="${tomcat.build}/lib"/> ++<!-- <copy file="${jdt.jar}" todir="${tomcat.build}/lib"/> --> + + <!-- Add sources for examples --> + <antcall target="examples-sources" /> +@@ -1231,7 +1234,7 @@ + + </target> + +- <target name="build-tomcat-jdbc" depends="package"> ++ <target name="build-tomcat-jdbc" depends="package" unless="noget"> + <!-- build the jdbc-pool jar and source jar--> + <echo message="Building Tomcat JDBC pool libraries"/> + <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}" +@@ -1246,7 +1249,7 @@ + <copy file="${tomcat-jdbc.jar}" todir="${tomcat.build}/lib"/> + </target> + +- <target name="build-tomcat-jdbc-src"> ++ <target name="build-tomcat-jdbc-src" unless="noget"> + <!-- build the jdbc-pool source jar--> + <echo message="Building Tomcat JDBC pool src JAR"/> + <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}" +@@ -1349,9 +1352,11 @@ + + <copy file="${basedir}/LICENSE" todir="${tomcat.embed}" /> + <copy file="${basedir}/NOTICE" todir="${tomcat.embed}" /> ++<!-- + <copy file="${tomcat-dbcp.jar}" todir="${tomcat.embed}" + failonerror="false"/> + <copy file="${jdt.jar}" todir="${tomcat.embed}" /> ++--> + <copy file="${annotations-api.jar}" todir="${tomcat.embed}" /> + + <!-- Note the meta-inf below will work as long as there is only one JAR +@@ -1830,11 +1835,12 @@ + </copy> + + <!-- Source bundles for native components --> ++<!-- + <copy tofile="${tomcat.dist}/bin/tomcat-native.tar.gz" + file="${tomcat-native.tar.gz}" /> + <copy tofile="${tomcat.dist}/bin/commons-daemon-native.tar.gz" + file="${commons-daemon.native.src.tgz}" /> +- ++--> + <!-- platform README files --> + <echo append="false" file="${tomcat.dist}/bin/x64/README"> + Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform. +@@ -1844,6 +1850,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform. + + <target name="javadoc" depends="dist-source" + description="Create the Tomcat javadoc" > ++<!-- + <javadoc packagenames="javax.annotation.*" + sourcepath="${tomcat.dist}/src/java" + destdir="${tomcat.dist}/webapps/docs/annotationapi" +@@ -1929,6 +1936,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform. + <path location="${ant.core.lib}"/> + </classpath> + </javadoc> ++--> + <javadoc packagenames="javax.websocket.*" + sourcepath="${tomcat.dist}/src/java" + destdir="${tomcat.dist}/webapps/docs/websocketapi" +@@ -1990,9 +1998,11 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform. + <path location="${ant.core.lib}"/> + </classpath> + <link href="../annotationapi"/> ++<!-- + <link href="../servletapi"/> + <link href="../jspapi"/> + <link href="../elapi"/> ++--> + <link href="../websocketapi"/> + <link href="../jaspicapi"/> + <link href="https://docs.oracle.com/javase/8/docs/api/"/> +@@ -2714,7 +2724,7 @@ skip.installer property in build.properties" /> + </target> + + <target name="download-compile" +- description="Download components necessary to compile" > ++ description="Download components necessary to compile" unless="noget" > + + <!-- Download Commons Daemon --> + <antcall target="downloadgz-2"> +@@ -2769,7 +2779,7 @@ skip.installer property in build.properties" /> + </target> + + <target name="download-test-compile" +- description="Download additional components for the tests" > ++ description="Download additional components for the tests" unless="noget"> + + <antcall target="downloadfile"> + <param name="sourcefile" value="${junit.loc}"/> +@@ -2847,7 +2857,7 @@ skip.installer property in build.properties" /> + </target> + + <target name="download-dist" +- description="Download additional components for a distribution" > ++ description="Download additional components for a distribution" unless="noget"> + + <antcall target="downloadfile-2"> + <param name="sourcefile.1" value="${tomcat-native.loc.1}"/> +@@ -2902,13 +2912,13 @@ skip.installer property in build.properties" /> + + <!-- =============== Utility Targets to support downloads ================ --> + +- <target name="setproxy" if="${proxy.use}"> ++ <target name="setproxy" if="${proxy.use}" unless="noget"> + <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}" + proxyuser="${proxy.user}" proxypassword="${proxy.password}" /> + <echo message="Using ${proxy.host}:${proxy.port} to download ${sourcefile}"/> + </target> + +- <target name="testexist"> ++ <target name="testexist" unless="noget"> + <echo message="Testing for ${destfile}"/> + <available file="${destfile}" property="exist"/> + </target> +@@ -3030,7 +3040,7 @@ skip.installer property in build.properties" /> + </sequential> + </macrodef> + +- <target name="downloadgz" unless="exist" depends="testexist,setproxy"> ++ <target name="downloadgz" unless="noget" depends="testexist,setproxy"> + <!-- Download and extract the package --> + <local name="temp.file"/> + <mkdir dir="${base.path}"/> +@@ -3047,7 +3057,7 @@ skip.installer property in build.properties" /> + <delete file="${temp.file}.tar.gz"/> + </target> + +- <target name="downloadgz-2" unless="exist" depends="testexist"> ++ <target name="downloadgz-2" unless="noget" depends="testexist"> + <!-- Download and extract the package from the two alternative locations --> + <local name="temp.file"/> + <mkdir dir="${base.path}"/> +@@ -3072,7 +3082,7 @@ skip.installer property in build.properties" /> + <delete file="${temp.file}.tar.gz"/> + </target> + +- <target name="downloadzip" unless="exist" depends="testexist,setproxy"> ++ <target name="downloadzip" unless="noget" depends="testexist,setproxy"> + <!-- Download and extract the package --> + <local name="temp.file"/> + <mkdir dir="${base.path}"/> +@@ -3088,7 +3098,7 @@ skip.installer property in build.properties" /> + <delete file="${temp.file}"/> + </target> + +- <target name="downloadzip-2" unless="exist" depends="testexist"> ++ <target name="downloadzip-2" unless="noget" depends="testexist"> + <!-- Download and extract the package from the two alternative locations --> + <local name="temp.file"/> + <mkdir dir="${base.path}"/> +@@ -3112,7 +3122,7 @@ skip.installer property in build.properties" /> + <delete file="${temp.file}"/> + </target> + +- <target name="downloadfile" unless="exist" depends="testexist,setproxy"> ++ <target name="downloadfile" unless="noget" depends="testexist,setproxy"> + <!-- Download the file --> + <local name="temp.file"/> + <mkdir dir="${base.path}"/> +@@ -3127,7 +3137,7 @@ skip.installer property in build.properties" /> + <move file="${temp.file}" tofile="${destfile}"/> + </target> + +- <target name="downloadfile-2" unless="exist" depends="testexist"> ++ <target name="downloadfile-2" unless="noget" depends="testexist"> + <!-- Download the file from the two alternative locations --> + <local name="temp.file"/> + <mkdir dir="${base.path}"/> +@@ -3155,7 +3165,7 @@ skip.installer property in build.properties" /> + <move file="${temp.file}" tofile="${destfile}"/> + </target> + +- <target name="trydownload.check" depends="setproxy"> ++ <target name="trydownload.check" depends="setproxy" unless="noget"> + <condition property="trydownload.run"> + <and> + <not> +@@ -3166,7 +3176,7 @@ skip.installer property in build.properties" /> + </condition> + </target> + +- <target name="trydownload" if="trydownload.run" depends="trydownload.check"> ++ <target name="trydownload" if="trydownload.run" depends="trydownload.check" unless="noget"> + <!-- Downloads a file if not yet downloaded and the source URL is available --> + <get src="${sourcefile}" httpusecaches="${trydownload.httpusecaches}" dest="${destfile}" /> + </target> +@@ -3177,7 +3187,7 @@ skip.installer property in build.properties" /> + + <target name="ide-eclipse" + depends="download-compile, download-test-compile" +- description="Prepares the source tree to be built in Eclipse"> ++ description="Prepares the source tree to be built in Eclipse" unless="noget"> + + <!-- Copy the sample project files into the root directory --> + <copy file="${tomcat.home}/res/ide-support/eclipse/eclipse.project" tofile="${tomcat.home}/.project"/> +@@ -3195,7 +3205,7 @@ Read the Building page on the Apache Tomcat documentation site for details on ho + + <target name="ide-intellij" + depends="download-compile, download-test-compile" +- description="Creates project directory .idea for IntelliJ IDEA"> ++ description="Creates project directory .idea for IntelliJ IDEA" unless="noget"> + + <copy todir="${tomcat.home}/.idea"> + <fileset dir="${tomcat.home}/res/ide-support/idea"/> diff --git a/www-servers/tomcat/tomcat-8.0.53.ebuild b/www-servers/tomcat/tomcat-8.0.53.ebuild deleted file mode 100644 index 04b793c91442..000000000000 --- a/www-servers/tomcat/tomcat-8.0.53.ebuild +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -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 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" -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:${SAPI_SLOT}" -RDEPEND="${COMMON_DEP} - !<dev-java/tomcat-native-1.1.24 - >=virtual/jre-1.7" -DEPEND="${COMMON_DEP} - app-admin/pwgen - >=dev-java/ant-core-1.9.13 - >=virtual/jdk-1.7 - 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}/${P}-build.xml.patch" - - # For use of catalina.sh in netbeans - sed -i -e "/^# ----- Execute The Requested Command/ a\ - CLASSPATH=\`java-config --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" - -# 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)" - 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-8.5.43.ebuild b/www-servers/tomcat/tomcat-8.5.43.ebuild deleted file mode 100644 index c6e5e958e89e..000000000000 --- a/www-servers/tomcat/tomcat-8.5.43.ebuild +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -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-${SLOT}:${SAPI_SLOT}" -RDEPEND="${COMMON_DEP} - !<dev-java/tomcat-native-1.1.24 - >=virtual/jre-1.7" -DEPEND="${COMMON_DEP} - app-admin/pwgen - >=dev-java/ant-core-1.9.13 - >=virtual/jdk-1.7 - 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.40-build.xml.patch" - - # For use of catalina.sh in netbeans - sed -i -e "/^# ----- Execute The Requested Command/ a\ - CLASSPATH=\`java-config --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)" - 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-8.5.46.ebuild b/www-servers/tomcat/tomcat-8.5.46.ebuild index 4122092f6b87..c6e5e958e89e 100644 --- a/www-servers/tomcat/tomcat-8.5.46.ebuild +++ b/www-servers/tomcat/tomcat-8.5.46.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.45.ebuild b/www-servers/tomcat/tomcat-8.5.47.ebuild index 4122092f6b87..5f75e72509c6 100644 --- a/www-servers/tomcat/tomcat-8.5.45.ebuild +++ b/www-servers/tomcat/tomcat-8.5.47.ebuild @@ -1,7 +1,7 @@ # Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 JAVA_PKG_IUSE="doc source test" @@ -27,11 +27,11 @@ COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT} >=dev-java/tomcat-servlet-api-${SLOT}:${SAPI_SLOT}" RDEPEND="${COMMON_DEP} !<dev-java/tomcat-native-1.1.24 - >=virtual/jre-1.7" + >=virtual/jre-1.8" DEPEND="${COMMON_DEP} app-admin/pwgen >=dev-java/ant-core-1.9.13 - >=virtual/jdk-1.7 + >=virtual/jdk-1.8 test? ( >=dev-java/ant-junit-1.9:0 dev-java/easymock:3.2 @@ -53,7 +53,7 @@ src_prepare() { # Remove bundled servlet-api rm -rv java/javax/{el,servlet} || die - eapply "${FILESDIR}/${PN}-8.5.40-build.xml.patch" + eapply "${FILESDIR}/${P}-build.xml.patch" # For use of catalina.sh in netbeans sed -i -e "/^# ----- Execute The Requested Command/ a\ diff --git a/www-servers/tomcat/tomcat-9.0.24.ebuild b/www-servers/tomcat/tomcat-9.0.27.ebuild index bc8bb7bd1eee..6f5e0ef52f6d 100644 --- a/www-servers/tomcat/tomcat-9.0.24.ebuild +++ b/www-servers/tomcat/tomcat-9.0.27.ebuild @@ -1,7 +1,7 @@ # Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 JAVA_PKG_IUSE="doc source test" @@ -28,7 +28,7 @@ IUSE="extra-webapps" RESTRICT="test" # can we run them on a production system? -ECJ_SLOT="4.10" +ECJ_SLOT="4.13" SAPI_SLOT="4.0" COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT} @@ -76,7 +76,7 @@ src_prepare() { # Remove bundled servlet-api rm -rv java/javax/{el,servlet} || die - eapply "${FILESDIR}/${PN}-9.0.19-build.xml.patch" + eapply "${FILESDIR}/${P}-build.xml.patch" # For use of catalina.sh in netbeans sed -i -e "/^# ----- Execute The Requested Command/ a\ diff --git a/www-servers/uwsgi/Manifest b/www-servers/uwsgi/Manifest index db48fd306625..b3b337755d26 100644 --- a/www-servers/uwsgi/Manifest +++ b/www-servers/uwsgi/Manifest @@ -6,8 +6,8 @@ AUX uwsgi.initd-r7 3746 BLAKE2B a56c5f4e32ccb415fab10f357e2a7404179285e656d9f886 DIST uwsgi-2.0.17.1.tar.gz 800156 BLAKE2B a8697263e6e7689c0062a06a9fdb1101a2df72e0ac9122b5f8a0acc78bbdbdeaa96faa1c8870b9c3a43e2e1fb5fc835e708e1bc3d0171ae746467b4734dc299d SHA512 10d357961fde3a3f5f8e77986cc647313f95a33243e24c2afc482fce21df68a8ae48f90e7b5b76d7edc3cf8fd474d99823d6d60ef7477349abc65a319222f11b DIST uwsgi-2.0.17.tar.gz 798642 BLAKE2B 86efb2103efaeedb37ebb00de4c01477162d119ae3dea0dc0696385216e30ff2c74eb48576f86eb181b8ada4b9eaa63b0aa761e966e3301597633d33b81142e1 SHA512 639427fbb89a1c2610c1cafb6ff009398a3c0a8e27c3de3f00829428271ba97b64b1253368dd6150912cf44441052be2a63cbe81613bbe964be27ee2e570d2b2 DIST uwsgi-2.0.18.tar.gz 801555 BLAKE2B d8008e751fd699474a1b7d6276c10b3d2f1ebd0ca325e45bfb3b13f81e88de20e4e7389cd6aa9c8b3daa964d9b11524ee71e93717ed9762bf021471f6a2c09fa SHA512 6561703279bcc4a81311d033810ac066d0f113bab13b0942f3eef86cac29c584a6641b52476840d6895151aee5ed064ae2d03b18932cf7f47e62f4eeed76da61 -EBUILD uwsgi-2.0.17.1-r1.ebuild 12196 BLAKE2B 28ecaa493e426821879dbaa6cd81447a2f44eb6605accb58b57b04db3aecc547f86b8048751f3a47b47816742a31234145504357dba736c889933a95397985f0 SHA512 e65f1908c4ade761776e3e0a92f52dda4f2bce4e299a284ae4cf85625fea37f2105c0965220160120e9ddc22717cf4cb416d4ae0f189c2ffb167ac65402b7b93 -EBUILD uwsgi-2.0.17.1.ebuild 12677 BLAKE2B 7e1e3ebb71f36956f9795a83c5d2b6da385c2360685a5b20021822d62d595fc7ed6f896e23b04d17c227b65eefbd14dcc8399d0b5339918b391fde5109a8aa54 SHA512 251687fbf01c35ac6dabce3b7bd67e3b702e7f573e02e7bc12501c3ad798ec2711cae61246e6d224836366db39566e48754dfdda1fab77246b19a97402474de1 -EBUILD uwsgi-2.0.17.ebuild 12762 BLAKE2B a42910c75d9f7c8695e35cb508af3b5c4f5ddcd8e15b4586df20d698515ff2fbf4d8e1d343c9b4f80a61712f5927251c9ab9e8f603b9a854cb2614db4e0609fd SHA512 27d4669cc1056c220dfda8f56f7acb5687befa109c328ba443bd44192e5c0e46691fc46eab88fdb18f4896d2b96fb818f55bea5b08ac53bfeb704fe6569c2e6a -EBUILD uwsgi-2.0.18.ebuild 12221 BLAKE2B 2823ecb28a598cb1ecd62f894be18e150488e52440047600b61b757148d1cce4c5064152b9426f905f7ba2ed7f56e9d3c08c64cd5487ad2d51071245ba703da6 SHA512 48f520af1ec89a61b3df2b3cc0a6e0919f7ac75dfe55f4f563acd4c648e5920a5bb8e9653315807627368f741dcbb34e2a7f79f333cecbf31104ff1de0a2df3e +EBUILD uwsgi-2.0.17.1-r1.ebuild 12195 BLAKE2B 0ceff92d5f9adcd9ecb6c43f8f2511743fc37c256a6c61dad8c9e5d81ced0c467a3743ef281446d0a25565c1f48090b9fb0014bda25e6b4f284a26faa3e4cd9c SHA512 c289c9a4f57e2058345136c4abd7ecd9ca86392b03d2da4d143c7b876fe1dedf3995d8a75a11a569bfc158eb378a5f7e1f274fefc893a3f1bb877f2ca0d8529b +EBUILD uwsgi-2.0.17.1.ebuild 12676 BLAKE2B fe30bd4b58b05bd62dde55e085a2b64ce4a017494d7ba768fbca4c62797f84e142c16394d8d83f4a3d0807a47ceacb9adb4dd8cb1670241cab503c4efe977538 SHA512 ff786f0e021250bfca6a0e2f2e4f60683208791059c7d80a5529109c6ba7b12e7b7fa0b161714cc499ad084ff4272ccd61f133540158902936beacc22f406da1 +EBUILD uwsgi-2.0.17.ebuild 12761 BLAKE2B cfa8fab52f503a8042f09f0b674d9cc6a3f3d5cfb8a4337511638dbed538ed8b92143861fc99d05fbca05bda33cf9483232c5900ab7cf93866df1305a88f33d8 SHA512 ba1220b5d8fc8b64fbb31bfcd8f74cb429f480820ffd8fce0db070c16703ddd7e6b550ebc58494a950b2acaf3e244d80fb6dbc6b4359b4d2303e4897fadd5f87 +EBUILD uwsgi-2.0.18.ebuild 12220 BLAKE2B 146fe2c12d44cf197b67495442bfac4e5edc9d3f55ee78db56b1ef14115d99fad11c6ec164e3f6ac3ed06e1db63a6f41b8b33944da0319cee82e2e64821a5e29 SHA512 710d478e0bc5cbccacde142de2c119b650d5c1ec3947b315447566b3100bf842ab14444b12e7fe478793f593d8f66a792dd75c6a6da29672db7d8f1626ca69f1 MISC metadata.xml 1508 BLAKE2B 22125c58eed49b27100421613726f650e78bba0fb712eea2a3e122862101f34803636c12fa98cdb7483dbfad00e51cba6419ee4a93d43e5116530cb43e6778b2 SHA512 4a925a03e1ff9fedf6d7d4ad9673fdf12caaf6d9b2c4ce5cce01b964ae50294451b6d2f820121dfbe8a9288d0ae62180acc243a07ab1b365e10fef65adff2a02 diff --git a/www-servers/uwsgi/uwsgi-2.0.17.1-r1.ebuild b/www-servers/uwsgi/uwsgi-2.0.17.1-r1.ebuild index 3796af4266e3..46c20be1e22b 100644 --- a/www-servers/uwsgi/uwsgi-2.0.17.1-r1.ebuild +++ b/www-servers/uwsgi/uwsgi-2.0.17.1-r1.ebuild @@ -111,7 +111,7 @@ CDEPEND=" uwsgi_plugins_systemd_logger? ( sys-apps/systemd ) uwsgi_plugins_webdav? ( dev-libs/libxml2 ) uwsgi_plugins_xslt? ( dev-libs/libxslt ) - go? ( dev-lang/go:=[gccgo] ) + go? ( sys-devel/gcc:=[go] ) lua? ( dev-lang/lua:= ) mono? ( dev-lang/mono:= ) perl? ( dev-lang/perl:= ) diff --git a/www-servers/uwsgi/uwsgi-2.0.17.1.ebuild b/www-servers/uwsgi/uwsgi-2.0.17.1.ebuild index 8f7415b12c4a..dec917ac9112 100644 --- a/www-servers/uwsgi/uwsgi-2.0.17.1.ebuild +++ b/www-servers/uwsgi/uwsgi-2.0.17.1.ebuild @@ -106,7 +106,7 @@ CDEPEND="sys-libs/zlib uwsgi_plugins_systemd_logger? ( sys-apps/systemd ) uwsgi_plugins_webdav? ( dev-libs/libxml2 ) uwsgi_plugins_xslt? ( dev-libs/libxslt ) - go? ( dev-lang/go:=[gccgo] ) + go? ( sys-devel/gcc:=[go] ) lua? ( dev-lang/lua:= ) mono? ( =dev-lang/mono-4* ) perl? ( dev-lang/perl:= ) diff --git a/www-servers/uwsgi/uwsgi-2.0.17.ebuild b/www-servers/uwsgi/uwsgi-2.0.17.ebuild index 042f8eb04412..8f6d69a44d82 100644 --- a/www-servers/uwsgi/uwsgi-2.0.17.ebuild +++ b/www-servers/uwsgi/uwsgi-2.0.17.ebuild @@ -106,7 +106,7 @@ CDEPEND="sys-libs/zlib uwsgi_plugins_systemd_logger? ( sys-apps/systemd ) uwsgi_plugins_webdav? ( dev-libs/libxml2 ) uwsgi_plugins_xslt? ( dev-libs/libxslt ) - go? ( dev-lang/go:=[gccgo] ) + go? ( sys-devel/gcc:=[go] ) lua? ( dev-lang/lua:= ) mono? ( =dev-lang/mono-4* ) perl? ( dev-lang/perl:= ) diff --git a/www-servers/uwsgi/uwsgi-2.0.18.ebuild b/www-servers/uwsgi/uwsgi-2.0.18.ebuild index 72b936012c29..0f292413d084 100644 --- a/www-servers/uwsgi/uwsgi-2.0.18.ebuild +++ b/www-servers/uwsgi/uwsgi-2.0.18.ebuild @@ -111,7 +111,7 @@ CDEPEND=" uwsgi_plugins_systemd_logger? ( sys-apps/systemd ) uwsgi_plugins_webdav? ( dev-libs/libxml2 ) uwsgi_plugins_xslt? ( dev-libs/libxslt ) - go? ( dev-lang/go:=[gccgo] ) + go? ( sys-devel/gcc:=[go] ) lua? ( dev-lang/lua:= ) mono? ( dev-lang/mono:= ) perl? ( dev-lang/perl:= ) |