From b24bd25253fe093f722ab576d29fdc41d04cb1ee Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 2 Aug 2019 19:14:55 +0100 Subject: gentoo resync : 02.08.2019 --- www-servers/Manifest.gz | Bin 5530 -> 5525 bytes www-servers/lighttpd/Manifest | 15 +- www-servers/lighttpd/files/conf/lighttpd.conf | 2 +- www-servers/lighttpd/files/conf/mod_fastcgi.conf | 2 +- www-servers/lighttpd/files/lighttpd.logrotate | 16 - www-servers/lighttpd/files/lighttpd.tmpfiles.conf | 2 +- www-servers/lighttpd/lighttpd-1.4.51.ebuild | 225 ----- www-servers/lighttpd/lighttpd-1.4.53.ebuild | 2 +- www-servers/lighttpd/lighttpd-1.4.54.ebuild | 227 +++++ www-servers/lighttpd/lighttpd-9999.ebuild | 6 +- www-servers/nginx/Manifest | 2 + www-servers/nginx/nginx-1.17.2.ebuild | 1089 +++++++++++++++++++++ www-servers/puma/Manifest | 2 +- www-servers/puma/puma-4.0.1.ebuild | 2 +- www-servers/tomcat/Manifest | 10 +- www-servers/tomcat/tomcat-8.5.41.ebuild | 159 --- www-servers/tomcat/tomcat-8.5.42.ebuild | 2 +- www-servers/tomcat/tomcat-8.5.43.ebuild | 159 +++ www-servers/tomcat/tomcat-9.0.20.ebuild | 182 ---- www-servers/tomcat/tomcat-9.0.22.ebuild | 182 ++++ 20 files changed, 1681 insertions(+), 605 deletions(-) delete mode 100644 www-servers/lighttpd/files/lighttpd.logrotate delete mode 100644 www-servers/lighttpd/lighttpd-1.4.51.ebuild create mode 100644 www-servers/lighttpd/lighttpd-1.4.54.ebuild create mode 100644 www-servers/nginx/nginx-1.17.2.ebuild delete mode 100644 www-servers/tomcat/tomcat-8.5.41.ebuild create mode 100644 www-servers/tomcat/tomcat-8.5.43.ebuild delete mode 100644 www-servers/tomcat/tomcat-9.0.20.ebuild create mode 100644 www-servers/tomcat/tomcat-9.0.22.ebuild (limited to 'www-servers') diff --git a/www-servers/Manifest.gz b/www-servers/Manifest.gz index 33e9e3ac66a9..1754db1b3663 100644 Binary files a/www-servers/Manifest.gz and b/www-servers/Manifest.gz differ diff --git a/www-servers/lighttpd/Manifest b/www-servers/lighttpd/Manifest index 0035c3ee6d96..c2cf821ca112 100644 --- a/www-servers/lighttpd/Manifest +++ b/www-servers/lighttpd/Manifest @@ -1,16 +1,15 @@ -AUX conf/lighttpd.conf 8261 BLAKE2B ba8233dba6251ef82647468bf327018ddcba5e2df7c32de57cdea505252f98175ed6af97d529aecb2ed392ce238dff25d3ff4940167fbbdca4984af7cd4fd615 SHA512 a1b336b34dddc3fdb3da3e9a03e054c32334f88ec06d73a3f649a4fe4d5f240704e638b9083177d0ed844cab3129d2760578fddb9f618607c3b8a1e339ae114c +AUX conf/lighttpd.conf 8257 BLAKE2B 82090a8c467e3738d1e7bb3a55310040145ab6a0ee7dc0ab45abd9ad657cfacec895727eb34799f3552d0c1c11a6dfbf6fe7cc1fd6e17b610284b7194e02aed0 SHA512 0bfa3d44c28f6893362b4c428d7bdce2a560ba155e349af9ee293510341fee03d484f95e9d967afb87f0a61aa11dd33ef9c633e206146c0af791f2690aed9852 AUX conf/mime-types.conf 3313 BLAKE2B 48b38dbe04939be3fd85ac139146cbc6f266be842f77618d110e8e3565ae1a68d27e9ee82adf800ba1077fc3481d388e4f091ffce7bf5042e5d37ab54baaad5f SHA512 2535c9458f556a7f1a37461b543ff34869ab714438a3e53d13809bb46f0d6f4efa2da1407411678f54a64f6f9bdb32d5c3a7daf76903ef512c6d3b021719ebe7 AUX conf/mod_cgi.conf 749 BLAKE2B dd565d6052d74aea3489f3a011a5913fcbd331b57ca02e71496eecff7c303cd56e8e43cd5a9b33c27463304a2f2218fc7451cb5754200c9ef48eb4104b820547 SHA512 e611b3ed232af4fb8e9b8821a29fbc32acb0a3431c701e5a64afc192abc288cf90582fbbf79085de9426be23d8d42d90da66e6993ab7cf89943ae23d59d681a1 -AUX conf/mod_fastcgi.conf 553 BLAKE2B 314326e002a25ff8f9becb9868ea54c857f2e671c99d5d9a13aeea13054b61406cf702d9500e1a71664b3d40ee9964b5fd32247bee377c4ff64af551148570c6 SHA512 e2796181ae9f7c55a48b690835f8f84aaab2c5c100846fc8ac5126b9a1351ef1a2ab30f26da2e16afa197bddf555c299a82a5cc133350212e171ac555765a08d +AUX conf/mod_fastcgi.conf 549 BLAKE2B 7bd525db1ace97a826bc4fcc11fc230f16839005da8988b21f54e5d43763a7df82b0d3b2cd5f410074cd87b2c8dbaab91042563bb7878ca0bedc076eafdc5906 SHA512 a9245394cbde327f997932546e2c6ee755da9365ce3a3d4662d2042971a9ec0a5fc36f9cdd7c032d35a6c0c3d02471b4b9b394b2cd349291c4a9827ca06cea4f AUX lighttpd.confd 240 BLAKE2B 8383c102f9e3a373909f26cda9f73d1edf81ef9dae42a48593f6d6f61c1b1060cc324bb773d402307d54c6cca520ddada8016dc5b3f0922ddf75d24934bfc7c4 SHA512 dd722c15230df734d7151bcb9cfc66d6d54aac5dcdca5f50eb33979d3a2443ba3a9ef3d7cb35e6dbd3d39fce09da15ab0029b1399bf1b1e4f4ef20d40f70a416 AUX lighttpd.initd 1957 BLAKE2B df5ba8a820d9a75657e6bb3225f86b961d15f11f4b05278c44ffb1840386be5e8dd2c74e4c053ab4c5f10e5987ebac2e9b8e1489436e5ab337a2f96ca403610c SHA512 d5fc03ded923d2aeea19fefdf658ed793114867dd0b50be6836d767108c98fb7de56011f00ea63220c4b198cff45d98fdc8a649efae90673536e03f786219485 -AUX lighttpd.logrotate 366 BLAKE2B 518eb5d54c6aa0cbc40cf8b2b5db7c7828ac1a300e892bed722d061c291051611bd408e3e7c69ebb032e6007a7df62ad3fd51f4ceff360459bc69b089a9bbe1e SHA512 d28b491423d7cf6b2f5d82191da7e816c73c36e2db469f543f4c09b6e60fce4f0931af49ffc4965e3f5906e22ea6439248dce0d3f4727022df9b6fb5e8a0b92a AUX lighttpd.logrotate-r1 385 BLAKE2B c41e4b7892d3cb8cd7306eb7fa93b4a03452786acc7a3078464cf2cb7eec982f626201cc0d0aea7dd7de81cacf603f6d064c8ec6f8dcff09f78dfd48b656aa93 SHA512 8cae2d3acb2f4d9a9043e492c4b15024f85f92d93616d5e92e08d51e2295fde6160c750be08244703f999208c4b43ecfb9a2fcb8e223e52992551a0668302ffe AUX lighttpd.service 257 BLAKE2B 7e60ad2f87ece8547cd3e39fc2121ea4664d9015722469ab074469ba0b670f56b147c8088ad9211f97a4f314fe4eaebac89cd9cddee34edbf3652b7ea0712c94 SHA512 fbcd7dbf9c6b97284465af133a7cd1f711978ef4318a749ff7d366b053265fac94a1d76f074f56722c382179631d38ed8a07ac2c2fc4b712a93acab2f3609c0f -AUX lighttpd.tmpfiles.conf 44 BLAKE2B 00550d523dc350184ef0d681e9e8da5ad1909dd6226698c79d88c7cab7d35c8e20a0c308b5342f94872442aeac240e202ea6055f4666759f9ec853debac18730 SHA512 795448ad726ebfe7688236a23cb21bf06bbf8edd7e243924e3d1c21d33fffba1e04501734b189eb2081f6737b74af7c978eed802fb5e540dcc5c5aea69544936 -DIST lighttpd-1.4.51.tar.xz 723268 BLAKE2B 524874a5cc29b3fad23b1d2d623bcaf5b781556d7f11848047bc02fb4793480acfc5b5eb6f60304be9472a8b42c87e8c23baf85352bc9479ea156c4a03990bad SHA512 ee4f150c30322dae50760b99cddd0bd935195ee21e042809fa8d303425d12081c23c00d8ea8fcd3d023b6b414a46b9b953edc4ed25400fe39f10487f0956561f +AUX lighttpd.tmpfiles.conf 41 BLAKE2B a159ae17094377d927bcf51078d40c322e5213d62064a271a7a0cf5b32423b349ac13d2ebc38a8de5c6478823ac022e46eef60a830e6ae9598e848b8c220bc2f SHA512 3fda360423a7a406a2981de647dac6b4419fe60c649bf3cc21fad566e8513293f6e81d4f5b777eaf06a056beedbf44360a39894ca3a2d05d3fc3a2d26c339efe DIST lighttpd-1.4.53.tar.xz 732160 BLAKE2B 75848ab259226fc77b232dfb365c6c656e4605055fb5beba1aea60f54f01cb76c3260ca97e59110dc3dd3d1ba7cb3f2fad646f91f37baee69a8cdbaefcf125a4 SHA512 bf5ea1c9f6f664c9ddcdf33ddba5b2bff760960d03c29a2181e73e3aceb45b523bb90003d0e0bc565334751830e6027cd7be2e92d030cde90813511957c9ea76 -EBUILD lighttpd-1.4.51.ebuild 6296 BLAKE2B ab1f50593c428124a4de77d7c1c487129e7e7653eb0256c63c35a62ab0615515ec3517bbbb257e485a5b77a6d6b4ef84082ae3e6e2f228cf610f6f4ac19c97b8 SHA512 38d9e63c64af8fde307c713d65af732eefe5da1103d48101c27b3476dd7a1c61719c778c467974218687b0be2a38bb7115d13687cf901a0e22fabf8def1ee59c -EBUILD lighttpd-1.4.53.ebuild 6355 BLAKE2B b7ca748e2512744dc94def22301f0a28121142a671e6aee120b9d33eaeaa367a0e4021e050d1515dbbc6abf4446e844f033f54587c4cf35a1c80de7f2f10ef09 SHA512 791747f51b6f353f271b84301444cc2dbb5e11551c9be0f09d260895efc7d679fd8ede7c027e78b1122a7eadbea28a866bdbcab696ccd2b84a43226fc28f90b8 -EBUILD lighttpd-9999.ebuild 5950 BLAKE2B f32cb4e5ddf22af2b698aaf17fb33f16862d13e28025984d0468e769af84acff9f2981e69526c139d9192964d57b8b95200edcfb756725855481fc31fbbf73be SHA512 50d096574b0f05c207eca9c18b7b70324c923bbbafe7d42c56770cae8eea3793f46e39c1a9be497fd35dba4844c83a8342c38afcfa4aa4c60ea7f0eb72856e69 +DIST lighttpd-1.4.54.tar.xz 763248 BLAKE2B 0425dde326dc514a55790256ab7f3e6c704417fe2ac01c49d109d5f463fb41605140c0773dc3988bd27e1dbee316c5fc96231c9c8699ec40db3acf2c54ec077d SHA512 aa180a2751711a77b9da91a6a285c967d2c183ccbabe3e9064aea74e44629c3b0227ac98c7d720c8d4d223ce4b31e8b221b05b928adc917b199ab1015fcdba37 +EBUILD lighttpd-1.4.53.ebuild 6346 BLAKE2B 31af41f0566951cfcf3efac674fd6fc17f927c37603db09ddacaa4abb999cbefb69c33f02c0f40c7fbbc0e44dff31deb492117dbe52bc53ac92308c0d82233a1 SHA512 1071b5d82fa8413cb5bd73082ae3d4c5355f50415a94495b5e9444fdfdb47b4d17551e80fe17bb0c90d902d42f91fd92f9ee3961f2a4642c511bb59697e75ef0 +EBUILD lighttpd-1.4.54.ebuild 6348 BLAKE2B 02c7e0e845a5626b32cae9e7dc43dff4051c711a665c7bd765500e29e378464ae31d41e01b63030987547dd5594bdcbbadab141428873dd6530728a2299bc638 SHA512 b778924c381ccb066ed1e6ee96b9a444867deac3c1b885136e181c9f93264565a25107ea19b40ba71c89daffdcd057ec4c4f9209be918792b11e45322b494e1f +EBUILD lighttpd-9999.ebuild 5923 BLAKE2B a8823f34c9957b8bbfbb186c4c0b4141ddaccd35190b761d4fa93ade49bbf716a2b00ff8d8df9f67a827fe8510e468a7b236bbcd06c24353c7f8536ebcc2a1ea SHA512 eee403e0af8bbd58d0ffb443524b4811992464387fc28ec54d63eb1476b2103dcc48eb23b0d77b4966d60828e3bbbecf99b27a449ef47030e6901085ffc4ce99 MISC metadata.xml 1054 BLAKE2B caf21b255e5eb1fc5300edf62d928b933540613492333abd65dc2c0ae89f5a22c18467ff4ab90b2b0582b4f1eff9bad21eeca91bca9c034377280c9ec022b1f9 SHA512 a773d9b8da2f118b148943c4f78662f26aaea5def18abc37ba39bb539fb31449beb04b8e9f1a09ce893ae07aaea2e2fabb42bcba47c5e9100db1f1ef3bf9ea82 diff --git a/www-servers/lighttpd/files/conf/lighttpd.conf b/www-servers/lighttpd/files/conf/lighttpd.conf index 763170c6ff0c..2a13a57c1c8d 100644 --- a/www-servers/lighttpd/files/conf/lighttpd.conf +++ b/www-servers/lighttpd/files/conf/lighttpd.conf @@ -47,7 +47,7 @@ server.username = "lighttpd" server.groupname = "lighttpd" server.document-root = var.basedir + "/htdocs" -server.pid-file = "/var/run/lighttpd.pid" +server.pid-file = "/run/lighttpd.pid" server.errorlog = var.logdir + "/error.log" # log errors to syslog instead diff --git a/www-servers/lighttpd/files/conf/mod_fastcgi.conf b/www-servers/lighttpd/files/conf/mod_fastcgi.conf index b72b1ce604b1..5d5ea51ef252 100644 --- a/www-servers/lighttpd/files/conf/mod_fastcgi.conf +++ b/www-servers/lighttpd/files/conf/mod_fastcgi.conf @@ -7,7 +7,7 @@ server.modules += ("mod_fastcgi") fastcgi.server = ( ".php" => ( "localhost" => ( - "socket" => "/var/run/lighttpd/lighttpd-fastcgi-php-" + PID + ".socket", + "socket" => "/run/lighttpd/lighttpd-fastcgi-php-" + PID + ".socket", "bin-path" => "/usr/bin/php-cgi" ) ) diff --git a/www-servers/lighttpd/files/lighttpd.logrotate b/www-servers/lighttpd/files/lighttpd.logrotate deleted file mode 100644 index 80a8644e2c97..000000000000 --- a/www-servers/lighttpd/files/lighttpd.logrotate +++ /dev/null @@ -1,16 +0,0 @@ -# lighttpd logrotate script for Gentoo - -/var/log/lighttpd/*.log { - daily - missingok - copytruncate - rotate 7 - compress - notifempty - sharedscripts - postrotate - if [ -f /var/run/lighttpd.pid ]; then \ - /etc/init.d/lighttpd reload > /dev/null 2>&1 || true ; \ - fi; - endscript -} diff --git a/www-servers/lighttpd/files/lighttpd.tmpfiles.conf b/www-servers/lighttpd/files/lighttpd.tmpfiles.conf index 325ab13d839c..4ba7262b6374 100644 --- a/www-servers/lighttpd/files/lighttpd.tmpfiles.conf +++ b/www-servers/lighttpd/files/lighttpd.tmpfiles.conf @@ -1 +1 @@ -d /var/run/lighttpd 0750 lighttpd lighttpd - \ No newline at end of file +d /run/lighttpd 0750 lighttpd lighttpd - diff --git a/www-servers/lighttpd/lighttpd-1.4.51.ebuild b/www-servers/lighttpd/lighttpd-1.4.51.ebuild deleted file mode 100644 index 7e25904b4332..000000000000 --- a/www-servers/lighttpd/lighttpd-1.4.51.ebuild +++ /dev/null @@ -1,225 +0,0 @@ -# Copyright 1999-2018 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools flag-o-matic readme.gentoo-r1 systemd user - -DESCRIPTION="Lightweight high-performance web server" -HOMEPAGE="https://www.lighttpd.net https://github.com/lighttpd" -SRC_URI="https://download.lighttpd.net/lighttpd/releases-1.4.x/${P}.tar.xz" - -LICENSE="BSD GPL-2" -SLOT="0" -KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~x86-fbsd" -IUSE="bzip2 dbi doc fam gdbm geoip ipv6 kerberos ldap libev libressl lua minimal mmap memcached mysql pcre php postgres rrdtool sasl selinux ssl sqlite test webdav xattr zlib" - -REQUIRED_USE="kerberos? ( ssl !libressl ) webdav? ( sqlite )" - -CDEPEND=" - bzip2? ( app-arch/bzip2 ) - dbi? ( dev-db/libdbi ) - fam? ( virtual/fam ) - gdbm? ( sys-libs/gdbm ) - geoip? ( dev-libs/geoip ) - ldap? ( >=net-nds/openldap-2.1.26 ) - libev? ( >=dev-libs/libev-4.01 ) - lua? ( >=dev-lang/lua-5.1:= ) - memcached? ( dev-libs/libmemcached ) - mysql? ( dev-db/mysql-connector-c:= ) - pcre? ( >=dev-libs/libpcre-3.1 ) - php? ( dev-lang/php:*[cgi] ) - postgres? ( dev-db/postgresql:* ) - rrdtool? ( net-analyzer/rrdtool ) - sasl? ( dev-libs/cyrus-sasl ) - ssl? ( - !libressl? ( >=dev-libs/openssl-0.9.7:0=[kerberos?] ) - libressl? ( dev-libs/libressl:= ) - ) - sqlite? ( dev-db/sqlite:3 ) - webdav? ( - dev-libs/libxml2 - sys-fs/e2fsprogs - ) - xattr? ( kernel_linux? ( sys-apps/attr ) ) - zlib? ( >=sys-libs/zlib-1.1 )" - -DEPEND="${CDEPEND} - virtual/pkgconfig - doc? ( dev-python/docutils ) - test? ( - virtual/perl-Test-Harness - dev-libs/fcgi - )" - -RDEPEND="${CDEPEND} - selinux? ( sec-policy/selinux-apache ) -" - -# update certain parts of lighttpd.conf based on conditionals -update_config() { - local config="${D}/etc/lighttpd/lighttpd.conf" - - # enable php/mod_fastcgi settings - use php && { sed -i -e 's|#.*\(include.*fastcgi.*$\)|\1|' ${config} || die; } - - # enable stat() caching - use fam && { sed -i -e 's|#\(.*stat-cache.*$\)|\1|' ${config} || die; } - - # automatically listen on IPv6 if built with USE=ipv6. Bug #234987 - use ipv6 && { sed -i -e 's|# server.use-ipv6|server.use-ipv6|' ${config} || die; } -} - -# remove non-essential stuff (for USE=minimal) -remove_non_essential() { - local libdir="${D}/usr/$(get_libdir)/${PN}" - - # text docs - use doc || rm -fr "${D}"/usr/share/doc/${PF}/txt - - # non-essential modules - rm -f \ - ${libdir}/mod_{compress,evhost,expire,proxy,scgi,secdownload,simple_vhost,status,setenv,trigger*,usertrack}.* || die - - # allow users to keep some based on USE flags - use pcre || rm -f ${libdir}/mod_{ssi,re{direct,write}}.* - use webdav || rm -f ${libdir}/mod_webdav.* - use mysql || rm -f ${libdir}/mod_mysql_vhost.* - use lua || rm -f ${libdir}/mod_{cml,magnet}.* - use rrdtool || rm -f ${libdir}/mod_rrdtool.* - use zlib || rm -f ${libdir}/mod_compress.* -} - -pkg_setup() { - if ! use pcre ; then - ewarn "It is highly recommended that you build ${PN}" - ewarn "with perl regular expressions support via USE=pcre." - ewarn "Otherwise you lose support for some core options such" - ewarn "as conditionals and modules such as mod_re{write,direct}" - ewarn "and mod_ssi." - fi - - enewgroup lighttpd - enewuser lighttpd -1 -1 /var/www/localhost/htdocs lighttpd - - DOC_CONTENTS="IPv6 migration guide:\n - http://redmine.lighttpd.net/projects/lighttpd/wiki/IPv6-Config" -} - -src_prepare() { - default - use memcached && append-ldflags -pthread - #dev-python/docutils installs rst2html.py not rst2html - sed -i -e 's|\(rst2html\)|\1.py|g' doc/outdated/Makefile.am || \ - die "sed doc/Makefile.am failed" - eautoreconf -} - -src_configure() { - econf --libdir=/usr/$(get_libdir)/${PN} \ - --enable-lfs \ - $(use_enable ipv6) \ - $(use_enable mmap) \ - $(use_with bzip2) \ - $(use_with dbi) \ - $(use_with fam) \ - $(use_with gdbm) \ - $(use_with geoip ) \ - $(use_with kerberos krb5) \ - $(use_with ldap) \ - $(use_with libev) \ - $(use_with lua) \ - $(use_with memcached) \ - $(use_with mysql) \ - $(use_with pcre) \ - $(use_with postgres pgsql) \ - $(use_with sasl) \ - $(use_with ssl openssl) \ - $(use_with sqlite sqlite) \ - $(use_with webdav webdav-props) \ - $(use_with webdav webdav-locks) \ - $(use_with xattr attr) \ - $(use_with zlib) -} - -src_compile() { - emake - - if use doc ; then - einfo "Building HTML documentation" - cd doc || die - emake html - fi -} - -src_test() { - if [[ ${EUID} -eq 0 ]]; then - default_src_test - else - ewarn "test skipped, please re-run as root if you wish to test ${PN}" - fi -} - -src_install() { - default - - find "${D}" -name '*.la' -delete || die - - # init script stuff - newinitd "${FILESDIR}"/lighttpd.initd lighttpd - newconfd "${FILESDIR}"/lighttpd.confd lighttpd - use fam && has_version app-admin/fam && \ - { sed -i 's/after famd/need famd/g' "${D}"/etc/init.d/lighttpd || die; } - - # configs - insinto /etc/lighttpd - doins "${FILESDIR}"/conf/lighttpd.conf - doins "${FILESDIR}"/conf/mime-types.conf - doins "${FILESDIR}"/conf/mod_cgi.conf - doins "${FILESDIR}"/conf/mod_fastcgi.conf - - # update lighttpd.conf directives based on conditionals - update_config - - # docs - dodoc AUTHORS README NEWS doc/scripts/*.sh - newdoc doc/config//lighttpd.conf lighttpd.conf.distrib - use ipv6 && readme.gentoo_create_doc - - use doc && dodoc -r doc - - docinto txt - dodoc doc/outdated/*.txt - - # logrotate - insinto /etc/logrotate.d - newins "${FILESDIR}"/lighttpd.logrotate-r1 lighttpd - - keepdir /var/l{ib,og}/lighttpd /var/www/localhost/htdocs - fowners lighttpd:lighttpd /var/l{ib,og}/lighttpd - fperms 0750 /var/l{ib,og}/lighttpd - - #spawn-fcgi may optionally be installed via www-servers/spawn-fcgi - rm -f "${D}"/usr/bin/spawn-fcgi "${D}"/usr/share/man/man1/spawn-fcgi.* || die - - use minimal && remove_non_essential - - systemd_dounit "${FILESDIR}/${PN}.service" - systemd_dotmpfilesd "${FILESDIR}/${PN}.tmpfiles.conf" -} - -pkg_postinst () { - use ipv6 && readme.gentoo_print_elog - - if [[ -f ${ROOT}etc/conf.d/spawn-fcgi.conf ]] ; then - einfo "spawn-fcgi is now provided by www-servers/spawn-fcgi." - einfo "spawn-fcgi's init script configuration is now located" - einfo "at /etc/conf.d/spawn-fcgi." - fi - - if [[ -f ${ROOT}etc/lighttpd.conf ]] ; then - elog "Gentoo has a customized configuration," - elog "which is now located in /etc/lighttpd. Please migrate your" - elog "existing configuration." - fi -} diff --git a/www-servers/lighttpd/lighttpd-1.4.53.ebuild b/www-servers/lighttpd/lighttpd-1.4.53.ebuild index aab14ef82eb2..ee33f1c375eb 100644 --- a/www-servers/lighttpd/lighttpd-1.4.53.ebuild +++ b/www-servers/lighttpd/lighttpd-1.4.53.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://download.lighttpd.net/lighttpd/releases-1.4.x/${P}.tar.xz" LICENSE="BSD GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" +KEYWORDS="alpha amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~x86-fbsd" IUSE="bzip2 dbi doc fam gdbm geoip ipv6 kerberos ldap libev libressl lua minimal mmap memcached mysql pcre php postgres rrdtool sasl selinux ssl sqlite test webdav xattr zlib" REQUIRED_USE="kerberos? ( ssl !libressl ) webdav? ( sqlite )" diff --git a/www-servers/lighttpd/lighttpd-1.4.54.ebuild b/www-servers/lighttpd/lighttpd-1.4.54.ebuild new file mode 100644 index 000000000000..55fbdba211da --- /dev/null +++ b/www-servers/lighttpd/lighttpd-1.4.54.ebuild @@ -0,0 +1,227 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools flag-o-matic readme.gentoo-r1 systemd user + +DESCRIPTION="Lightweight high-performance web server" +HOMEPAGE="https://www.lighttpd.net https://github.com/lighttpd" +SRC_URI="https://download.lighttpd.net/lighttpd/releases-1.4.x/${P}.tar.xz" + +LICENSE="BSD GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="bzip2 dbi doc fam gdbm geoip ipv6 kerberos ldap libev libressl lua minimal mmap memcached mysql pcre php postgres rrdtool sasl selinux ssl sqlite test webdav xattr zlib" + +REQUIRED_USE="kerberos? ( ssl !libressl ) webdav? ( sqlite )" + +BDEPEND="dev-libs/libgamin + virtual/pkgconfig" + +COMMON_DEPEND=" + bzip2? ( app-arch/bzip2 ) + dbi? ( dev-db/libdbi ) + fam? ( virtual/fam ) + gdbm? ( sys-libs/gdbm ) + geoip? ( dev-libs/geoip ) + ldap? ( >=net-nds/openldap-2.1.26 ) + libev? ( >=dev-libs/libev-4.01 ) + lua? ( >=dev-lang/lua-5.1:= ) + memcached? ( dev-libs/libmemcached ) + mysql? ( dev-db/mysql-connector-c:= ) + pcre? ( >=dev-libs/libpcre-3.1 ) + php? ( dev-lang/php:*[cgi] ) + postgres? ( dev-db/postgresql:* ) + rrdtool? ( net-analyzer/rrdtool ) + sasl? ( dev-libs/cyrus-sasl ) + ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.7:0=[kerberos(-)?] ) + libressl? ( dev-libs/libressl:= ) + ) + sqlite? ( dev-db/sqlite:3 ) + webdav? ( + dev-libs/libxml2 + sys-fs/e2fsprogs + ) + xattr? ( kernel_linux? ( sys-apps/attr ) ) + zlib? ( >=sys-libs/zlib-1.1 )" + +DEPEND="${COMMON_DEPEND} + doc? ( dev-python/docutils ) + test? ( + virtual/perl-Test-Harness + dev-libs/fcgi + )" + +RDEPEND="${COMMON_DEPEND} + selinux? ( sec-policy/selinux-apache ) +" + +# update certain parts of lighttpd.conf based on conditionals +update_config() { + local config="${D}/etc/lighttpd/lighttpd.conf" + + # enable php/mod_fastcgi settings + use php && { sed -i -e 's|#.*\(include.*fastcgi.*$\)|\1|' ${config} || die; } + + # enable stat() caching + use fam && { sed -i -e 's|#\(.*stat-cache.*$\)|\1|' ${config} || die; } + + # automatically listen on IPv6 if built with USE=ipv6. Bug #234987 + use ipv6 && { sed -i -e 's|# server.use-ipv6|server.use-ipv6|' ${config} || die; } +} + +# remove non-essential stuff (for USE=minimal) +remove_non_essential() { + local libdir="${D}/usr/$(get_libdir)/${PN}" + + # text docs + use doc || rm -fr "${D}"/usr/share/doc/${PF}/txt + + # non-essential modules + rm -f \ + ${libdir}/mod_{compress,evhost,expire,proxy,scgi,secdownload,simple_vhost,status,setenv,trigger*,usertrack}.* || die + + # allow users to keep some based on USE flags + use pcre || rm -f ${libdir}/mod_{ssi,re{direct,write}}.* + use webdav || rm -f ${libdir}/mod_webdav.* + use mysql || rm -f ${libdir}/mod_mysql_vhost.* + use lua || rm -f ${libdir}/mod_{cml,magnet}.* + use rrdtool || rm -f ${libdir}/mod_rrdtool.* + use zlib || rm -f ${libdir}/mod_compress.* +} + +pkg_setup() { + if ! use pcre ; then + ewarn "It is highly recommended that you build ${PN}" + ewarn "with perl regular expressions support via USE=pcre." + ewarn "Otherwise you lose support for some core options such" + ewarn "as conditionals and modules such as mod_re{write,direct}" + ewarn "and mod_ssi." + fi + + enewgroup lighttpd + enewuser lighttpd -1 -1 /var/www/localhost/htdocs lighttpd + + DOC_CONTENTS="IPv6 migration guide:\n + http://redmine.lighttpd.net/projects/lighttpd/wiki/IPv6-Config" +} + +src_prepare() { + default + use memcached && append-ldflags -pthread + #dev-python/docutils installs rst2html.py not rst2html + sed -i -e 's|\(rst2html\)|\1.py|g' doc/outdated/Makefile.am || \ + die "sed doc/Makefile.am failed" + eautoreconf +} + +src_configure() { + econf --libdir=/usr/$(get_libdir)/${PN} \ + --enable-lfs \ + $(use_enable ipv6) \ + $(use_enable mmap) \ + $(use_with bzip2) \ + $(use_with dbi) \ + $(use_with fam) \ + $(use_with gdbm) \ + $(use_with geoip ) \ + $(use_with kerberos krb5) \ + $(use_with ldap) \ + $(use_with libev) \ + $(use_with lua) \ + $(use_with memcached) \ + $(use_with mysql) \ + $(use_with pcre) \ + $(use_with postgres pgsql) \ + $(use_with sasl) \ + $(use_with ssl openssl) \ + $(use_with sqlite) \ + $(use_with webdav webdav-props) \ + $(use_with webdav webdav-locks) \ + $(use_with xattr attr) \ + $(use_with zlib) +} + +src_compile() { + emake + + if use doc ; then + einfo "Building HTML documentation" + cd doc || die + emake html + fi +} + +src_test() { + if [[ ${EUID} -eq 0 ]]; then + default_src_test + else + ewarn "test skipped, please re-run as root if you wish to test ${PN}" + fi +} + +src_install() { + default + + find "${D}" -name '*.la' -delete || die + + # init script stuff + newinitd "${FILESDIR}"/lighttpd.initd lighttpd + newconfd "${FILESDIR}"/lighttpd.confd lighttpd + use fam && has_version app-admin/fam && \ + { sed -i 's/after famd/need famd/g' "${D}"/etc/init.d/lighttpd || die; } + + # configs + insinto /etc/lighttpd + doins "${FILESDIR}"/conf/lighttpd.conf + doins "${FILESDIR}"/conf/mime-types.conf + doins "${FILESDIR}"/conf/mod_cgi.conf + doins "${FILESDIR}"/conf/mod_fastcgi.conf + + # update lighttpd.conf directives based on conditionals + update_config + + # docs + dodoc AUTHORS README NEWS doc/scripts/*.sh + newdoc doc/config//lighttpd.conf lighttpd.conf.distrib + use ipv6 && readme.gentoo_create_doc + + use doc && dodoc -r doc + + docinto txt + dodoc doc/outdated/*.txt + + # logrotate + insinto /etc/logrotate.d + newins "${FILESDIR}"/lighttpd.logrotate-r1 lighttpd + + keepdir /var/l{ib,og}/lighttpd /var/www/localhost/htdocs + fowners lighttpd:lighttpd /var/l{ib,og}/lighttpd + fperms 0750 /var/l{ib,og}/lighttpd + + #spawn-fcgi may optionally be installed via www-servers/spawn-fcgi + rm -f "${D}"/usr/bin/spawn-fcgi "${D}"/usr/share/man/man1/spawn-fcgi.* || die + + use minimal && remove_non_essential + + systemd_dounit "${FILESDIR}/${PN}.service" + systemd_dotmpfilesd "${FILESDIR}/${PN}.tmpfiles.conf" +} + +pkg_postinst () { + use ipv6 && readme.gentoo_print_elog + + if [[ -f ${ROOT}etc/conf.d/spawn-fcgi.conf ]] ; then + einfo "spawn-fcgi is now provided by www-servers/spawn-fcgi." + einfo "spawn-fcgi's init script configuration is now located" + einfo "at /etc/conf.d/spawn-fcgi." + fi + + if [[ -f ${ROOT}etc/lighttpd.conf ]] ; then + elog "Gentoo has a customized configuration," + elog "which is now located in /etc/lighttpd. Please migrate your" + elog "existing configuration." + fi +} diff --git a/www-servers/lighttpd/lighttpd-9999.ebuild b/www-servers/lighttpd/lighttpd-9999.ebuild index 72943866311b..46f8da74bb1b 100644 --- a/www-servers/lighttpd/lighttpd-9999.ebuild +++ b/www-servers/lighttpd/lighttpd-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="6" @@ -151,7 +151,7 @@ src_test() { } src_install() { - emake DESTDIR="${D}" install + default # init script stuff newinitd "${FILESDIR}"/lighttpd.initd lighttpd @@ -174,7 +174,7 @@ src_install() { newdoc doc/config//lighttpd.conf lighttpd.conf.distrib use ipv6 && readme.gentoo_create_doc - use doc && dohtml -r doc/* + use doc && dodoc -r doc docinto txt dodoc doc/outdated/*.txt diff --git a/www-servers/nginx/Manifest b/www-servers/nginx/Manifest index b87e874794a6..31060af42280 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.0.tar.gz 1032345 BLAKE2B 187a07e7bde2dc6d7dd476372fa5e880a085f06bba321177428a4064e75bb1012950fdc31125344dab36b8c5d78c60d9f9ca963279cfa46741478c250221c199 SHA512 e99cfaa4538f209c096ea2f93c04b5019756617f3bcd3305c273e98ddc89fed5bf90d65fb9b493149bc47d55ff79e73850bfcac20505fab74930d0102075df3d DIST nginx-1.17.0.tar.gz 1032978 BLAKE2B 791e4d309ef1a62db2c135313edc85fe3fdb0c7b42b39a2a1f56059b1128199fcbcd4f24a1929ad3b4b57506f104afd5943229a8b6273d6e2ccb103fa0405476 SHA512 fcba692355c79169672c32796981bc178d42d9cf6880e8f03c99d5f518b7aca5c0414688e17b9c54f307214a64e766e1b022604e725aa4d40784f471d770f061 DIST nginx-1.17.1.tar.gz 1033452 BLAKE2B ec6fb0637e6396cf8a2eae3cf5eeca8127674a9c2ad43ac18b4206c1280d34109761993fdcc96e3e766c5c3cc246740016c2de7a54caae4e9fb5577d6fe9ab50 SHA512 67ccd14f57316cc68c511efc9f3f3eb7181f3893f1261aba094ed169630089062aacf552e6dbe083dd6c7390e7943ee457c3edb688aae1daaea0e5ba93a5eac6 +DIST nginx-1.17.2.tar.gz 1034136 BLAKE2B 8d757ec5820b2ce625214a86490d49be1a9931199d615d55360c442598900dd8ce9176871c320ac90b5214d9a8e19cfa8c2c5e0eca0c02f850343e0e792f7645 SHA512 9bb48b7b271f30cfb4d35c86a57eae2a5aeece6be755c1f55b7d4cded73d1dbb8dc89087cac279144c8c25a2624e7fbd71cc55ada4aef932143e3a16c601452b 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 @@ -41,4 +42,5 @@ DIST njs-0.3.3.tar.gz 333026 BLAKE2B 0ccf8978fefd2f70a615fc3f8bc583754c81201aea2 EBUILD nginx-1.16.0-r1.ebuild 40544 BLAKE2B 719b98119cfe23493edd9a85fb2ff96945f1c696e3dd60a8524be84c8e4fce0d7885f6b88846eb756fce7afe443b9623008203af94f995cd4a4a312eea0fbf5d SHA512 2aa4097361453447a2c1a381e5aeaaae86e8fb545e5f658ef84879422057e4c489e42bd4b1b330f887d11ce43069fa82bd316b724631f06ee408bb1d4790b087 EBUILD nginx-1.17.0.ebuild 40546 BLAKE2B a33875a4dc82bf255e470f0e4ec034674b9aaebf5d7f9bb5dbc2243a132b73db3c7c89a50da8e5a11bb7713beb857d448447a874577cec337fe4a648950a7e73 SHA512 fdb2e7d344dd737dd949fae2d9696ac0c812474a3119e27ec303da252a11a532dece9a1ea01d26d9880ae30a3c59b4df18de6203891f38af1d050f01996eb2fc EBUILD nginx-1.17.1.ebuild 40546 BLAKE2B 5ce77c8659a4c9cfd9a2592494a52f6c0e01c987363d03200c77245849b72ecdc37af28e087823d605d156a4869d50ed62a0791ec7e57d31c3ef5d5efe0c9532 SHA512 b4e2689289f0082c470bb741c92d86de23a2be83596b28de7e823a9446560bc87f2bba0bb3bbd6d348cd307b0d29eef0d1a203dd9cfea9f4d7e5371b2b3bc570 +EBUILD nginx-1.17.2.ebuild 40546 BLAKE2B 5ce77c8659a4c9cfd9a2592494a52f6c0e01c987363d03200c77245849b72ecdc37af28e087823d605d156a4869d50ed62a0791ec7e57d31c3ef5d5efe0c9532 SHA512 b4e2689289f0082c470bb741c92d86de23a2be83596b28de7e823a9446560bc87f2bba0bb3bbd6d348cd307b0d29eef0d1a203dd9cfea9f4d7e5371b2b3bc570 MISC metadata.xml 1310 BLAKE2B 6f40252a833a188f4b62cb2f2a126f93e68cdcd0e3575febdc371106c82d7ebdc6931b162a5ef8070fb6fe1f18e969191f67d3ccdd5e55712dc4d209c16c34c9 SHA512 10403ec29eaa83eb45b7b0b78340103b226145b52b3795e18b1e8bf272efa83586bc190e6e66061f33544434e3c2f94d2229be988733713578e9bb495ce7219c diff --git a/www-servers/nginx/nginx-1.17.2.ebuild b/www-servers/nginx/nginx-1.17.2.ebuild new file mode 100644 index 000000000000..57e48d2bc602 --- /dev/null +++ b/www-servers/nginx/nginx-1.17.2.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.0" +DEVEL_KIT_MODULE_P="ngx_devel_kit-${DEVEL_KIT_MODULE_PV}-r1" +DEVEL_KIT_MODULE_URI="https://github.com/simpl/ngx_devel_kit/archive/v${DEVEL_KIT_MODULE_PV}.tar.gz" +DEVEL_KIT_MODULE_WD="${WORKDIR}/ngx_devel_kit-${DEVEL_KIT_MODULE_PV}" + +# 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.3" +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 ~x86-fbsd ~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? ( virtual/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/puma/Manifest b/www-servers/puma/Manifest index 887a618fc085..56926342e859 100644 --- a/www-servers/puma/Manifest +++ b/www-servers/puma/Manifest @@ -5,5 +5,5 @@ DIST puma-4.0.1.tar.gz 224363 BLAKE2B 775814eaa6c71deae90bcef850bb8779b6e2b18ed6 EBUILD puma-3.12.1-r1.ebuild 2046 BLAKE2B 3eb760987f2c8df37e0d1acacf17181295c9be79f17f00ef7d4155b85f9cfc3c9628127c772f7a9f20c341d4a2b0a9da4560df1322547dc79240bbb3a7650e9c SHA512 44af179ce965d60d43a1fbb2acf6d09bc7f60547691fb9928c6055b38f7d240b0037655cdc55e5749b6ef757e317b449eb1b19ccd86e7a9929d73307ff83b31a EBUILD puma-3.12.1.ebuild 2020 BLAKE2B 8cfe583c94dd6cd3f8ae694c0512790163659de0875bf0be99995202c1c77c6b84b308cbecc7227846dc6a89f209d52a5153d00191e96850564b458d600e75a7 SHA512 6448152060f9b83c02e4a0c7e586941f3dac7f7498eaad5828df6ed0b3df4a87aa9fc7e258638186cb3ec5fdbac3b549042460fc5a6e5ca8c6c02051be6b80c4 EBUILD puma-4.0.0.ebuild 1997 BLAKE2B d6bb73a3b56d05e69e504650b3af501948ca76054de2e15040867912503bcc7bbe87f6b0cb5d013cfedb73ea75e7c08028b1e591391ccb374fae7c9772960f01 SHA512 75b94a5106c5697c16765d9db68c867978f87374655d4c3b8fa965a884802ce21fffd7e5ef28010bd3fd9a0374b5bf4cf1f1ba9d576529d200fb69d97e09c40a -EBUILD puma-4.0.1.ebuild 2027 BLAKE2B 2cd009a7c2aaac5c85c943e05c9fdd3d3d61461b62fd069e155489d5ef66456c9df063bd6698ad1ba45e9d08073515282862cc2ab4fa64aefdba3242f60cb0d0 SHA512 3a9b7de795f8e2e7450bbc7367061cbe4355ce8d0747105061f098ae6b9b4ee87f8b367b87dba253cc2d4de815f2fa3574cfa785e1d78379cd1c1bc6e0be3ffe +EBUILD puma-4.0.1.ebuild 2034 BLAKE2B 7d221d2b2067e62cbe38de4cc8c2b5a8d342499effa293530787cbbc992d12e6fd090e38e9624fa8ffe0939774c4a05f1b6770f1cc25b522af4460fa43d6e965 SHA512 ce21700c04dcc98febf7a5f50815ae2324565c24737beb0226024362b394e8186529d0d8e318ddbf66f3a850685978f476cde4f0a54a3b0766e44d21c85fe335 MISC metadata.xml 709 BLAKE2B f0a69d0e7f4c5e593ff5648b51de393610f579fd9fff372749fca4491e8dd57b7e853f87104e8b86f8e90013fe54f8c3141e28ae87d17432e60f329f51a67db6 SHA512 dd872907d8e164d0b63f1b4db076d9407c33581ae80ecafb119904ceebe4c05eb74d01d51c3217cf475faf02d3732e9854553fc980c1b054c42b95af58ee1c0e diff --git a/www-servers/puma/puma-4.0.1.ebuild b/www-servers/puma/puma-4.0.1.ebuild index e51307bf71aa..dc7bd31a6c29 100644 --- a/www-servers/puma/puma-4.0.1.ebuild +++ b/www-servers/puma/puma-4.0.1.ebuild @@ -15,7 +15,7 @@ SRC_URI="https://github.com/puma/puma/archive/v${PV}.tar.gz -> ${P}.tar.gz" LICENSE="BSD" SLOT="3" -KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~x86" IUSE="" DEPEND+=" dev-libs/openssl:0 test? ( net-misc/curl )" diff --git a/www-servers/tomcat/Manifest b/www-servers/tomcat/Manifest index 5fcd21fce8d5..89bebe4f8fdb 100644 --- a/www-servers/tomcat/Manifest +++ b/www-servers/tomcat/Manifest @@ -9,18 +9,18 @@ AUX tomcat-r1.init 3200 BLAKE2B eb913d32bb8c1883e58551a25ff9516337d947c6fd2c7b44 AUX tomcat.conf 1811 BLAKE2B a92606e113172c6f0f73e18ab8ad8796f38bd8c741bb2fd1f6c43d7682728729d0198d4150e42282c7e732750231b7cdbfb51de9b24f2ba780a22700965113c5 SHA512 0747dd2fdad6c68123425adce39f625d34924ae3e7c9d5a00361565a593047d7a4d01dee64c1ef831e5ad79b51750babaf642b0588d4b5948bbed441d53d654d DIST apache-tomcat-7.0.94-src.tar.gz 4966331 BLAKE2B e806baa91ebe4672fb238d6fd461b2055ff90db822b7edb2ad4432334d45cf2c2286639bc12f83987972a47129493bef4ba6ec77e544a93e000282a2d24ae9e8 SHA512 5e8d2fab7145af5677170299bec0ae5ea5fd20b7a539738678a420581f9b53a95a6fbb1caffb54c7222d97edfe8ff34ce6dbb7ba62adb1a61f2bfa6b15c43139 DIST apache-tomcat-8.0.53-src.tar.gz 5057041 BLAKE2B 3a50d2f61baecb5244909972384e36478c69e7592dd35119d8b7b974273c57a4855082f309146ed160144dbdcced3236fd586b047970bd8558bbe7b7e002e9fd SHA512 0b56bc723277b2888896ab34ec3e49cb56bac94ddf1a9b96bd023982e2ffabd5317f63b3c0971afdc8cd7a6364197409df461d22151dbaab3a2be7daf6858b9e -DIST apache-tomcat-8.5.41-src.tar.gz 5285992 BLAKE2B 8055591319c475cda9e8124107fef94f31837095ecfcbd6388f226d09fbe14825988c956257b90a7eb36068546fd7c2958fb5f63870d8eff30a72d2c8309bb97 SHA512 59f5ffa64e8fb445b86a9413e0bc3aee3ba87a727ad5ed2c5aa1a20653068530e85d59407b2907483341d3721c6d6da52bf41c02138abc1b1ec97395b9ee727f DIST apache-tomcat-8.5.42-src.tar.gz 5293083 BLAKE2B 4439b6a894aaa8d8db041ff25d3614271d895155d86250e25dfffc8355452d7c230bf81c22f4b75dcdb5cb528af489a8dcad6c93561a89a2aa8cea5173792331 SHA512 e06f3a0cacde6317a1f10f95a17cb7a460c81e3437a68f53da94aafdcbd528e29ed612bd0ffc5f2a3641417558348c4c0e66c1ae937bf709f9f74f79a339ad05 -DIST apache-tomcat-9.0.20-src.tar.gz 5702073 BLAKE2B 80170a2b6bdb525f186814458f78211cdd7717178d5cb816b39a0c83b637434f276884c9da42e12ef04e1f43261ef36cf0508178157f5ea43a96289d2de27ecb SHA512 3635212ff28ca491243ae0f0edf0572ca82f583286296f302c5d02f93917d218e9601cbf90cb022c2f2b6b4f17c3460d74aee19b13caff9d12222ee028ee09dd +DIST apache-tomcat-8.5.43-src.tar.gz 5283886 BLAKE2B 2d76e66eedf4de474d439289a9a491e5c490e2373bc91ae30113b8f3c624255339d24149b58fba640aaf3131ab3c9a449930049d26928627e1b7910f0cddd40f SHA512 f6a0439dbfd3f233bd1eb395d37466ba2cce32cd456d067fb2bb45099ac173dec7e42e7fbfab2cb50c0fce2e9dba1f1afe6c8d65877525cb13cb116489cf27a7 DIST apache-tomcat-9.0.21-src.tar.gz 5717051 BLAKE2B 004c5256e72c62e885a9d9040396d144d9fa73789a9699eb38210212f4ca6fa5f98c4b092f6fa2165166fd8cccc892eabcaee7a21570645ee057b0b61d3e1942 SHA512 6df978bbe9bb3a327d784d81a46affa4cfe5d370c2b847e102d25a792752ba487ebae329d1763ed7459cb3d49098c3d0cf6b01155536a04c17c4ffdf9e9a774f +DIST apache-tomcat-9.0.22-src.tar.gz 5722896 BLAKE2B 1a006840e870ec01455285b324405e3d1ab7214daf9ea929be749a05149d6b84bcccf34787ba791a31be0d2bb295ede0dddff5053adef885080b31bc39e24ac1 SHA512 b3806caaef24821fb4b96fb1af86e0c04381d9e8943a9f94064e028e623f57b6f2ba056e62f1997bbca934fb929ee92ffecd0d0192dd08d59e2f7dde6848c5cf 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.94.ebuild 4222 BLAKE2B 806c4e48b1b1205a5700cd305a556a84c33d1a2e0faa8ba1ce1247e7ca68db0bbf7438feacf6ef79348cfdca6f629e986830c793531b4f37a2f0b659a7bbba40 SHA512 0582c21801c1ea0be6fdb79aefc0e761ff084288933c0945ae5fe81ddb587339ed59e5be5953c92f7f6f57f90856be973a9720f0ab9e5ed5283f6803cbd421d4 EBUILD tomcat-8.0.53.ebuild 4554 BLAKE2B acdadf7f369b1c69ad391056abbe79dccfbaa1b561cdf050f7da1cb1da0bd3b8be0004ebfd9795bd1cdaa2b9b58d2b3cbfd84e97453a8a70455bd99d2d46b524 SHA512 665c4bd33e542f36268f4c4b1384f10a69e65dd81aca1a603e9b3969380a050754c215684131683940e346300bca77e7c1fee0714a5e4ee785531c5c3edeb2e9 -EBUILD tomcat-8.5.41.ebuild 4610 BLAKE2B a866bc62257c5e626d3d87d2fac5bc5bbe8e78c9a10f4e7c3fa54ba189dc0b91809004ce7a694a542f2d731d1c9ffaec92c7e69215b5cd837f756569ae30e6ab SHA512 9384a10d39b2558c468b720e6f80d232cf60b9d511017dc774ab035db03ccdca4d328e4daf2775d525f73eba488d44f4bf5c284523018140d50213b596501ebc -EBUILD tomcat-8.5.42.ebuild 4611 BLAKE2B cc605cde3f85f6bd888a95caaa8876b832c0a4004a0a204a43a7e98eb6f0f8659c730d1daefd0d017a505c85f87f4f4fda4b617dd3c7288543470bdebaa411a9 SHA512 af20afd3a50be9e9424f250022f97f314e97f38dc252f9cfa9be692f1cc7f144cbedf662e56dfdfba18b28f2f3fcf788303b9365ec57c868caf60555d2696651 -EBUILD tomcat-9.0.20.ebuild 5521 BLAKE2B 6e93568948c6019823c0bc206a5ad977e4dc1baba0071644a32c0e84cd6b5e6bf5f8085c92a4976c4ca76cb51ea2162615697fcd118ddb7d17bc4d4f6c6c820b SHA512 2bcb2c9002e2566c64d74990ede3c4dddc72cdc8e1a783326987afadbd10b8a073d21b8ca6fbf300f1e9d82d104a34f52ca2c525449a15a7d7fda4ce17b2da26 +EBUILD tomcat-8.5.42.ebuild 4610 BLAKE2B a866bc62257c5e626d3d87d2fac5bc5bbe8e78c9a10f4e7c3fa54ba189dc0b91809004ce7a694a542f2d731d1c9ffaec92c7e69215b5cd837f756569ae30e6ab SHA512 9384a10d39b2558c468b720e6f80d232cf60b9d511017dc774ab035db03ccdca4d328e4daf2775d525f73eba488d44f4bf5c284523018140d50213b596501ebc +EBUILD tomcat-8.5.43.ebuild 4611 BLAKE2B cc605cde3f85f6bd888a95caaa8876b832c0a4004a0a204a43a7e98eb6f0f8659c730d1daefd0d017a505c85f87f4f4fda4b617dd3c7288543470bdebaa411a9 SHA512 af20afd3a50be9e9424f250022f97f314e97f38dc252f9cfa9be692f1cc7f144cbedf662e56dfdfba18b28f2f3fcf788303b9365ec57c868caf60555d2696651 EBUILD tomcat-9.0.21.ebuild 5521 BLAKE2B 6e93568948c6019823c0bc206a5ad977e4dc1baba0071644a32c0e84cd6b5e6bf5f8085c92a4976c4ca76cb51ea2162615697fcd118ddb7d17bc4d4f6c6c820b SHA512 2bcb2c9002e2566c64d74990ede3c4dddc72cdc8e1a783326987afadbd10b8a073d21b8ca6fbf300f1e9d82d104a34f52ca2c525449a15a7d7fda4ce17b2da26 +EBUILD tomcat-9.0.22.ebuild 5521 BLAKE2B 6e93568948c6019823c0bc206a5ad977e4dc1baba0071644a32c0e84cd6b5e6bf5f8085c92a4976c4ca76cb51ea2162615697fcd118ddb7d17bc4d4f6c6c820b SHA512 2bcb2c9002e2566c64d74990ede3c4dddc72cdc8e1a783326987afadbd10b8a073d21b8ca6fbf300f1e9d82d104a34f52ca2c525449a15a7d7fda4ce17b2da26 EBUILD tomcat-9.0.7.ebuild 4564 BLAKE2B bb3e1e254fc8eada11610515139c5edf3e4c310dca7990a3d1595862848dbd4157eb7380362a893ae2a904cadfc1f1e6e5c576f89a2c1b5fb48c047e9bb70328 SHA512 cc933b2ddccd45542d8be98cb18b2288ef7eb1db9f587405cc0d04591b0de9334394b4962b0c1deecbd3e8cb0429b2cacabb5de607203030aaf6fcc4134fe9c4 MISC metadata.xml 712 BLAKE2B 3e0a9b1bd07334015006678c0e1d933dc3d7b65291425754f7bcaec673f2316ba85b2e7df2c79a90f0d53dfbc443329cbea8ddfde7d4c93a1635b6140a3b18b6 SHA512 bc7c894d5f945a732078cc4d9a7fa9d0374ebb6aec449487f8968b22aed07bc5e20094448fda9be7516206121d0dfec8c6d6e48ee818786999703ea778a82109 diff --git a/www-servers/tomcat/tomcat-8.5.41.ebuild b/www-servers/tomcat/tomcat-8.5.41.ebuild deleted file mode 100644 index 542077cf4929..000000000000 --- a/www-servers/tomcat/tomcat-8.5.41.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 ~x86-fbsd ~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} - !=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.42.ebuild b/www-servers/tomcat/tomcat-8.5.42.ebuild index 04794c75c5e0..542077cf4929 100644 --- a/www-servers/tomcat/tomcat-8.5.42.ebuild +++ b/www-servers/tomcat/tomcat-8.5.42.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 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris" +KEYWORDS="amd64 ~x86 ~x86-fbsd ~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.43.ebuild b/www-servers/tomcat/tomcat-8.5.43.ebuild new file mode 100644 index 000000000000..04794c75c5e0 --- /dev/null +++ b/www-servers/tomcat/tomcat-8.5.43.ebuild @@ -0,0 +1,159 @@ +# 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 ~x86-fbsd ~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} + !=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-9.0.20.ebuild b/www-servers/tomcat/tomcat-9.0.20.ebuild deleted file mode 100644 index 653707b85ff7..000000000000 --- a/www-servers/tomcat/tomcat-9.0.20.ebuild +++ /dev/null @@ -1,182 +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-${PN}-${PV}-src" - -# Currently we bundle binary versions of bnd.jar and bndlib.jar -# See bugs #203080 and #676116 -BND_VERSION="4.1.0" -BND="biz.aQute.bnd-${BND_VERSION}.jar" -BNDLIB="biz.aQute.bndlib-${BND_VERSION}.jar" - -DESCRIPTION="Tomcat Servlet-4.0/JSP-2.4?/EL-3.1?/WebSocket-1.2?/JASPIC-1.1 Container" -HOMEPAGE="https://tomcat.apache.org/" -SRC_URI="mirror://apache/${PN}/tomcat-9/v${PV}/src/${MY_P}.tar.gz - https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bnd/${BND_VERSION}/${BND} - https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bndlib/${BND_VERSION}/${BNDLIB}" - -LICENSE="Apache-2.0" -SLOT="9" -KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris" -IUSE="extra-webapps" - -RESTRICT="test" # can we run them on a production system? - -ECJ_SLOT="4.10" -SAPI_SLOT="4.0" - -COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT} - dev-java/glassfish-xmlrpc-api:0 - dev-java/tomcat-servlet-api:${SAPI_SLOT} - dev-java/wsdl4j:0" -RDEPEND="${COMMON_DEP} - !=virtual/jre-11" -DEPEND="${COMMON_DEP} - app-admin/pwgen - >=dev-java/ant-core-1.9.13 - >=virtual/jdk-11 - test? ( - >=dev-java/ant-junit-1.9:0 - dev-java/easymock:3.2 - )" - -S=${WORKDIR}/${MY_P} - -BND_HOME="${S}/tomcat-build-libs/bnd" -BNDLIB_HOME="${S}/tomcat-build-libs/bndlib" -BND_JAR="${BND_HOME}/${BND}" -BNDLIB_JAR="${BNDLIB_HOME}/${BND_LIB}" - -src_unpack() { - unpack ${MY_P}.tar.gz - - mkdir -p "${BND_HOME}" "${BNDLIB_HOME}" || die "Failed to create dir" - ln -s "${DISTDIR}/${BND}" "${BND_HOME}/" || die "Failed to symlink bnd-*.jar" - ln -s "${DISTDIR}/${BND}" "${BNDLIB_HOME}/" || die "Failed to symlink bndlib-*.jar" -} - -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}-9.0.19-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},glassfish-xmlrpc-api,wsdl4j" -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 -Dbnd.jar=${BND_JAR} -Dbndlib.jar=${BNDLIB_JAR}" - -# 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-9.0.22.ebuild b/www-servers/tomcat/tomcat-9.0.22.ebuild new file mode 100644 index 000000000000..653707b85ff7 --- /dev/null +++ b/www-servers/tomcat/tomcat-9.0.22.ebuild @@ -0,0 +1,182 @@ +# 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-${PN}-${PV}-src" + +# Currently we bundle binary versions of bnd.jar and bndlib.jar +# See bugs #203080 and #676116 +BND_VERSION="4.1.0" +BND="biz.aQute.bnd-${BND_VERSION}.jar" +BNDLIB="biz.aQute.bndlib-${BND_VERSION}.jar" + +DESCRIPTION="Tomcat Servlet-4.0/JSP-2.4?/EL-3.1?/WebSocket-1.2?/JASPIC-1.1 Container" +HOMEPAGE="https://tomcat.apache.org/" +SRC_URI="mirror://apache/${PN}/tomcat-9/v${PV}/src/${MY_P}.tar.gz + https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bnd/${BND_VERSION}/${BND} + https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bndlib/${BND_VERSION}/${BNDLIB}" + +LICENSE="Apache-2.0" +SLOT="9" +KEYWORDS="~amd64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-solaris" +IUSE="extra-webapps" + +RESTRICT="test" # can we run them on a production system? + +ECJ_SLOT="4.10" +SAPI_SLOT="4.0" + +COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT} + dev-java/glassfish-xmlrpc-api:0 + dev-java/tomcat-servlet-api:${SAPI_SLOT} + dev-java/wsdl4j:0" +RDEPEND="${COMMON_DEP} + !=virtual/jre-11" +DEPEND="${COMMON_DEP} + app-admin/pwgen + >=dev-java/ant-core-1.9.13 + >=virtual/jdk-11 + test? ( + >=dev-java/ant-junit-1.9:0 + dev-java/easymock:3.2 + )" + +S=${WORKDIR}/${MY_P} + +BND_HOME="${S}/tomcat-build-libs/bnd" +BNDLIB_HOME="${S}/tomcat-build-libs/bndlib" +BND_JAR="${BND_HOME}/${BND}" +BNDLIB_JAR="${BNDLIB_HOME}/${BND_LIB}" + +src_unpack() { + unpack ${MY_P}.tar.gz + + mkdir -p "${BND_HOME}" "${BNDLIB_HOME}" || die "Failed to create dir" + ln -s "${DISTDIR}/${BND}" "${BND_HOME}/" || die "Failed to symlink bnd-*.jar" + ln -s "${DISTDIR}/${BND}" "${BNDLIB_HOME}/" || die "Failed to symlink bndlib-*.jar" +} + +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}-9.0.19-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},glassfish-xmlrpc-api,wsdl4j" +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 -Dbnd.jar=${BND_JAR} -Dbndlib.jar=${BNDLIB_JAR}" + +# 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." +} -- cgit v1.2.3