From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- www-servers/tomcat/Manifest | 25 ++ .../tomcat/files/tomcat-7.0.79-build.xml.patch | 149 ++++++++++++ .../tomcat/files/tomcat-7.0.81-build.xml.patch | 149 ++++++++++++ .../tomcat/files/tomcat-8.0.45-build.xml.patch | 259 ++++++++++++++++++++ .../tomcat/files/tomcat-8.0.46-build.xml.patch | 259 ++++++++++++++++++++ .../tomcat/files/tomcat-8.5.20-build.xml.patch | 250 +++++++++++++++++++ .../files/tomcat-9.0.0_alpha26-build.xml.patch | 250 +++++++++++++++++++ .../tomcat/files/tomcat-instance-manager-r1.bash | 240 ++++++++++++++++++ .../tomcat/files/tomcat-instance-manager-r2.bash | 270 +++++++++++++++++++++ www-servers/tomcat/files/tomcat-r1.init | 110 +++++++++ www-servers/tomcat/files/tomcat.conf | 57 +++++ www-servers/tomcat/metadata.xml | 18 ++ www-servers/tomcat/tomcat-7.0.79.ebuild | 148 +++++++++++ www-servers/tomcat/tomcat-7.0.81.ebuild | 148 +++++++++++ www-servers/tomcat/tomcat-8.0.45.ebuild | 157 ++++++++++++ www-servers/tomcat/tomcat-8.0.46.ebuild | 157 ++++++++++++ www-servers/tomcat/tomcat-8.5.20.ebuild | 157 ++++++++++++ www-servers/tomcat/tomcat-9.0.0_alpha26.ebuild | 158 ++++++++++++ 18 files changed, 2961 insertions(+) create mode 100644 www-servers/tomcat/Manifest create mode 100644 www-servers/tomcat/files/tomcat-7.0.79-build.xml.patch create mode 100644 www-servers/tomcat/files/tomcat-7.0.81-build.xml.patch create mode 100644 www-servers/tomcat/files/tomcat-8.0.45-build.xml.patch create mode 100644 www-servers/tomcat/files/tomcat-8.0.46-build.xml.patch create mode 100644 www-servers/tomcat/files/tomcat-8.5.20-build.xml.patch create mode 100644 www-servers/tomcat/files/tomcat-9.0.0_alpha26-build.xml.patch create mode 100644 www-servers/tomcat/files/tomcat-instance-manager-r1.bash create mode 100644 www-servers/tomcat/files/tomcat-instance-manager-r2.bash create mode 100644 www-servers/tomcat/files/tomcat-r1.init create mode 100644 www-servers/tomcat/files/tomcat.conf create mode 100644 www-servers/tomcat/metadata.xml create mode 100644 www-servers/tomcat/tomcat-7.0.79.ebuild create mode 100644 www-servers/tomcat/tomcat-7.0.81.ebuild create mode 100644 www-servers/tomcat/tomcat-8.0.45.ebuild create mode 100644 www-servers/tomcat/tomcat-8.0.46.ebuild create mode 100644 www-servers/tomcat/tomcat-8.5.20.ebuild create mode 100644 www-servers/tomcat/tomcat-9.0.0_alpha26.ebuild (limited to 'www-servers/tomcat') diff --git a/www-servers/tomcat/Manifest b/www-servers/tomcat/Manifest new file mode 100644 index 000000000000..1280937c7b60 --- /dev/null +++ b/www-servers/tomcat/Manifest @@ -0,0 +1,25 @@ +AUX tomcat-7.0.79-build.xml.patch 5271 SHA256 e680116c918918aafdec9dd7d022c9d8bfca63f7b0b19904c8ab2c92bc61e1b8 SHA512 160c0117e89a2ef5caae95004b426d155c64e19e6c708a9cc11a53308cba037799a60e4f901c3a5bb5af2d2ca8452246d7dd66283b91fad4a339004026148fe4 WHIRLPOOL 6a04f539b5c5798f8014b1e044eec682c61deac904fd1c9cb5d859c12c89f9191ac4a904f68644ecba1ccbd01f9c668540811f35bacf03415d81175c79109116 +AUX tomcat-7.0.81-build.xml.patch 5271 SHA256 e680116c918918aafdec9dd7d022c9d8bfca63f7b0b19904c8ab2c92bc61e1b8 SHA512 160c0117e89a2ef5caae95004b426d155c64e19e6c708a9cc11a53308cba037799a60e4f901c3a5bb5af2d2ca8452246d7dd66283b91fad4a339004026148fe4 WHIRLPOOL 6a04f539b5c5798f8014b1e044eec682c61deac904fd1c9cb5d859c12c89f9191ac4a904f68644ecba1ccbd01f9c668540811f35bacf03415d81175c79109116 +AUX tomcat-8.0.45-build.xml.patch 10753 SHA256 e1d6ca8eb6cbdb172d8d99d6d4d95b2d72d5f0d7275db80589e39fbb6fb60993 SHA512 205d25cc93712f255021bed6d544a3a5a71fb7367756851b71fdb59696368eab6960085e9abe9337699359cd3ddc55c595e1242bac8675a3f6a666aaf4e7c351 WHIRLPOOL 4e658dd4bc8d5719ee5a26136055f970e74906358989619397b7cb94e34c80c800d3c357dd60a4c7be2d035b490472bfd9f426177cbefe8f57d7bd32a58a7f49 +AUX tomcat-8.0.46-build.xml.patch 10753 SHA256 e1d6ca8eb6cbdb172d8d99d6d4d95b2d72d5f0d7275db80589e39fbb6fb60993 SHA512 205d25cc93712f255021bed6d544a3a5a71fb7367756851b71fdb59696368eab6960085e9abe9337699359cd3ddc55c595e1242bac8675a3f6a666aaf4e7c351 WHIRLPOOL 4e658dd4bc8d5719ee5a26136055f970e74906358989619397b7cb94e34c80c800d3c357dd60a4c7be2d035b490472bfd9f426177cbefe8f57d7bd32a58a7f49 +AUX tomcat-8.5.20-build.xml.patch 10369 SHA256 73f7cbe2f8ab48308cba515b209b4f9fa29803e93e1c980e0385355736cb100c SHA512 571e53427840be6c5a20b94239f7288c3b276190f8d4cf7a33a3b67c54cf9879f0a810c7a09abc4712228c21366bf83642c984234e472fb7a6c6bcc0faba66a0 WHIRLPOOL e5dc309194fe0f5f8c60dae438a64317925195c52ac484bfad79fb7011a9e54cb65931062bdfb5a951fec4b6a8f00f40432dc9df41624d02e83bd3cef91f9e4b +AUX tomcat-9.0.0_alpha26-build.xml.patch 10381 SHA256 edea97610d66367e66b6562b28773eda4ae45dfd3266769e3f0f1358231a87f8 SHA512 89a3413671b6b1446fd203798124395d12c50ced414fe773aa511bff4b147e3167694f11ec94da69494ad7bafcc182c7da7b38f5ed81af2477b9d3bfb7dab4b2 WHIRLPOOL fbdd8bb8ffad81849d6bba057cdd77bd4e09a22cdf12e241de26338051228df0e268509e7524f05fc3e262b0e24a484db2125b1210e59db0f68270f53acce83b +AUX tomcat-instance-manager-r1.bash 6451 SHA256 28990e664007e6eab91d1f90f58009457f683c4c9d37ef78f9065b4b6c87add2 SHA512 3c8f994519d1ca5ff24229798786ad3d75dd20dbf8b3b81f6c0ccd121b978d2cb12633270f463a39ed5c4097e5869b1a4bfbf867994a64c5e41916e378038570 WHIRLPOOL 3be20ac95b1b2e80d62cecbd5e47d0b7c768e78ec38c5ec5661e4d563962196eb45fae82d54349a9202323f5a464ac922930b1b01e197ed6e83f03a3d38f79af +AUX tomcat-instance-manager-r2.bash 6999 SHA256 cdd0465eac2ba108f4b10dec6331c1660b2bdaa5d379cd2964b3c6118646fe1b SHA512 c30c156cbf2b53cf8498288bacaedd48872dce52f461ff32071310b438bdb5015c1cd1d512a2905c4db01e2b22342590e1b8aeadbd44f29062606fabbb2f2fed WHIRLPOOL 468db420f25653111bd20fa49df780187fa117661d5d884f5e1a5f010b22208bea295ec1d7b15b6d6b1cf777334a1e5ab1b6bc133e654837f4ce51266a03d0fb +AUX tomcat-r1.init 3200 SHA256 dda32538287e0075e10857b1e60b0be5b5c8db55849fda753d39ed346c808377 SHA512 3d32e2ad998adfbaea5fe0ffcbbe6659dcb530a110faed5f2712ae2fd767353b1fc3f1ac83a24d43138c1bfc55949e645833a428ab982be14415887fc46d9fab WHIRLPOOL 4281ce1b7e05f19ebb47ae27eb4ed07fca535617122326ddbb0a8ed69121bac30c33a247681157620c7f8b536adda5cd7b611a23b98bfda326f080815cd38a27 +AUX tomcat.conf 1811 SHA256 95db09ae4066bb12cc5932ac4a20d608a473c86d4ade2c617158c444c57c1b2a SHA512 0747dd2fdad6c68123425adce39f625d34924ae3e7c9d5a00361565a593047d7a4d01dee64c1ef831e5ad79b51750babaf642b0588d4b5948bbed441d53d654d WHIRLPOOL 22825ff55b28f991f9afbc9bd58be1fdad4d35acbf36d373d6f3acfe7e82c652ce6f1e52904e4a86cd56edb57a742af70db439c5e38b81a2c659aa0492124f6f +DIST apache-tomcat-7.0.79-src.tar.gz 4682119 SHA256 b5373951afe41ffd27348bb57cff80bc7d86a5669bdedb0b4bbe1d567009dc32 SHA512 75c29fd7de8c245502cae4db845a508f320739625d726fe892924b639e7333b76b3446f36cb67b9ad9500e95823b5eadaf056c4cb6bea962a59eb5491696e0b2 WHIRLPOOL 5db799cfbd061a199270b0ebb971c4fe43632522a23f590b7a46e021af5c8b0bce4a711e16bd0416b5baa6f2556cf8178bf14abadf4d493ece44c9eb2c4cdae2 +DIST apache-tomcat-7.0.81-src.tar.gz 4689428 SHA256 fca79afb210cfbc8f9ebcdebdd048ecb7ea370ac0f94040cbcc0287fe5d85e66 SHA512 25e237aa7189cf9a9617badf8936fd7ec64550bcac3bab2e2afe51d5e199eddfe17e0d6d27ac7ebf3543d1601467fcd8362ddf9a5b708c50b223d7c8d18bbb3b WHIRLPOOL 1016a02b4a30b7e02eb2f7fad3080153012dd3e3f84df34d006c89bc2c89b7b3d370334800170008482d3dbf339c62f249064eb48ab24ca17588026ba515d487 +DIST apache-tomcat-8.0.45-src.tar.gz 4978313 SHA256 450fd2890b12e56692cb203f95651f9a873dce056b7b4362e142bc817032b291 SHA512 80e4281f5b6e4d6bf607179840bc6cb923ea9f57ec8231a451c3b5a1f8938f72ec1097290059afba0ef7b56edeb56d63636849517b69b91c7093cb15ff0eaa04 WHIRLPOOL c893cd5c26637f8881c19353e269145e33fa11e02eb10ef93a41590ad2e1e6c6ffa1b3f6c3c7c318630765f666be07447fd3a21c70c2c381e75c458b60383ea0 +DIST apache-tomcat-8.0.46-src.tar.gz 4985079 SHA256 b5b9e560b3f75dd68b3103915c754ac47cf526f26f18cd6e9baba9580be25161 SHA512 9adbea9faf61f782ede1c657e833dea55ad1b4a874a1eb9801eab82ac9999de847e7f08ff7a49b3389b9d0683d185c6d4981f9f8d2f607f68c077a682af508d5 WHIRLPOOL eafb2768555261836b04f12f95ba2755d2a7ef98754a5a009099e377220dff1251c6ad1cbe672764787c485b3f922bf1fda8db663890db36e356e7a5139b83e9 +DIST apache-tomcat-8.5.20-src.tar.gz 5063310 SHA256 6bc40ae61b77906325bf8bdb2b0767aeb96f4c5a7a9b618aa496db59387d6610 SHA512 dea3095792de76a3a56bd6fd6c9ed5702ca539856d0e07a5de2600f456e7255929d14748a2dc9b3c626b3a67aaac8795ef3f5a6a1351991a0e89443e0c9d0807 WHIRLPOOL 1924f12c5068574424587d5b8b7261efb7496dbc53915d8cb2558b4a643aedecc98823ac7dec238fe7cb1a1874734e05de2dc6b7b28e48ffdae9e8c5c586e895 +DIST apache-tomcat-9.0.0.M26-src.tar.gz 5011957 SHA256 02ba2c9a3a2d78994fc14f2b304c3b3f46615538a48a9193e475b08565cb9b7e SHA512 8c25932aa244edb46eee26aa837636e78c8104ca6617cb5ba924e0e45c2f9dbcd7d196ddf69ee2f1c1b6053dda818a3b92f8f46c156f3048c46cee919fc22c13 WHIRLPOOL 11e00a6e6a5822bd4e357e375b026dd732bf33319e30dde25f11bc1b99994617be3ce6d4976870f725e56646e5ffee92acb6fc23f46b53a46ebbf6c53707ea07 +EBUILD tomcat-7.0.79.ebuild 4277 SHA256 6fe27e4ad83139012dfc38a223f41fa92386d11444e2e661ca3aecc3bcbde66d SHA512 587c011ceac66d3f8cd7789ce891c9ccf9cfed8a8dcbddf8a2b62db48f5f481c6406ceb1645a1288fa07892409ddbb255b45f8c3edadb8eda55e4bce53800dfc WHIRLPOOL 5da2e08c809c4d73dedd1feab499420434db0b4493e885a662cadecaca91059d328cc59b39ef2edb867cc783f70d3c72e69790a381fc44da6f12323d99a6cc44 +EBUILD tomcat-7.0.81.ebuild 4278 SHA256 2564c796b7c24c58dcf6f76c98a4ece41668427d198303b51189cbf4afd592bb SHA512 c09066b72cefed346687999a52f7243a1fd050ecef0cbd8bd0dc6d5f5f758ff815fd4eb0009c5ea3591b792a90a20010a4b0517fbc504a320f06b97834d59404 WHIRLPOOL 428304d9afe8c9f8f781cd31f64bdb502b1f9561b06d7c0cab9671d345df57b61b5f06f6d5bebf58271031cee2314aaa3956d56ba7a8a6bcf88a314c7a50208a +EBUILD tomcat-8.0.45.ebuild 4469 SHA256 018b246f0f044399fa8f54111f824e055110bbcbec3a2a025298c228b635836a SHA512 71536b2dc1d12ccc4c5756014ffe78b4849cf237405c21c667a2484106962a3be05a9299723b30b611f552c8f9315c1542e3ea1ea6ae9eb4f8b3b42817fe6e14 WHIRLPOOL 06876a98afabcbf64d988738eb9172d0545f97f2cca24f5f04f18c29c4d6e7dcb9057d429f6c658a5a06f6d3f6697d0447c8286e71e5cd049766f4cde1078a2c +EBUILD tomcat-8.0.46.ebuild 4472 SHA256 1730ca77b5ada123b193b4a0cd23c409efdcfe0fcf847160ad7eb9165390870c SHA512 6eb897fb6fd1692b778bb8c80ea2e879690aee6d12af0db1b1dbd3a8fbdb01443af9e404694a35613a3be68e53ecbe5b259cc06feeee94c10d8460495d36c620 WHIRLPOOL 0feb0864162ab3a5c246a7aeb1fa313a42af3e6df7ee803f2bfd1154aa5a464f1c5d7f54d048d8346862e0e59f62ffc559b6af2901852512efa5c79959f87d93 +EBUILD tomcat-8.5.20.ebuild 4493 SHA256 6676d000efae3a0cbda2cd292f39777355a50bcd17c42df67540b806cac37b69 SHA512 a66ec0c604c03d3cb4f3c411153ee828edadc74be3779a4860db47b0c51d5e20d8747846117f823f0ce1d5a97ae85e410e6d37a97a25cd0a18ac032946ece344 WHIRLPOOL 2a95579aae815556c51dd931885f113b72bf7865be5807cb976030415709f491c7bfee4a0ebde9fcb077cdfc12f48a542d1ce1302dcda78f8175c5268d7f60cf +EBUILD tomcat-9.0.0_alpha26.ebuild 4529 SHA256 e0a0f85ec6a225faa2b340358390bf12627e729823a19f49fe9917751ca71fc5 SHA512 404e670d0387a392dc28b79efaa630f5885c16baa83225e227a29b0f0f73abb5546347d73c80f3b28a96bdea43de2e5d0c9b6cf03bf474025dbbb0a4b9f6eece WHIRLPOOL 1c23029392c630909649f6fbfadc1ee138bd915f1498bb021dce53d840ca280df2c9207272fc964db456950cdbd23eb43296c06ae074c99bdf384f3e15a52310 +MISC ChangeLog 23709 SHA256 69787b6934873b8d5181a4adabbae3837afd2b90ba9a1d97f05f1e237b689ec1 SHA512 95ca8b3a20e2d2a4e7faafb21aa172e2a9f2440d74a8e68c155b161912ae1cd480e522cf36c58356fe81a26ca9b07078654fd41b1f69ff3020a75465e4ad7895 WHIRLPOOL db15e61ff1f3856b4ee873a0bdedb0bba4ead6bd3cdf849a6f479166ad0c361208767fdcb448791a764f87515dc3b52a92aac23c34540ab0992dd8130455e129 +MISC ChangeLog-2015 86707 SHA256 573994c7c1bfb96c06a98636b5268a15ce73043b6903916365143eedc73b712b SHA512 d9c8bb2023377860f30ff0c9dbd83393c4569729cdc75506da6c7bdb320d69bb3ed65835746429ec73de02c683cf7bb7e667883ea7c6bd9ded17eeeec80ef071 WHIRLPOOL ccf7e8088ca9502b6dab16f12b804a314e62abfa95a2a0e734df0d805fb4c5fbaff6b72c922e6c5d58b8109d85d942f05ce1c52693bbdc3fc9041c21fdbe19cb +MISC metadata.xml 735 SHA256 92d90d5e0f4ea5092c910632a7281ac937789b7da4860aa23c1d6cde68ea270c SHA512 f1f9894fadd399aa791d4b6befa1366ef2be350ff28bdfb9e24c9ff03de4f01c016c654dbd3b5bd23d0580d8515a3866a645aff0357ff37a177abfefe27158a6 WHIRLPOOL 3ae0d573a611a706342d9473584c840aa50710f2f76bd6785884f59789883aa65884eac137294bd5e27adba27e713c11f2dc976e383605de4560fc054d63245a diff --git a/www-servers/tomcat/files/tomcat-7.0.79-build.xml.patch b/www-servers/tomcat/files/tomcat-7.0.79-build.xml.patch new file mode 100644 index 000000000000..481591fb6ff5 --- /dev/null +++ b/www-servers/tomcat/files/tomcat-7.0.79-build.xml.patch @@ -0,0 +1,149 @@ +diff -Naur apache-tomcat-7.0.63-src.orig/build.xml apache-tomcat-7.0.63-src/build.xml +--- apache-tomcat-7.0.63-src.orig/build.xml 2015-06-30 09:15:44.000000000 +0100 ++++ apache-tomcat-7.0.63-src/build.xml 2015-08-22 21:13:12.453038827 +0100 +@@ -660,12 +660,14 @@ + + + ++ + + + +@@ -721,26 +723,32 @@ + manifest="${tomcat.manifests}/annotations-api.jar.manifest" /> + + ++ + + ++ + + ++ + + + + ++ + + + +@@ -1051,14 +1061,15 @@ + + + ++ + + +- ++ + + + ++ description="Prepare to build web services extras package" unless="noget"> + + + +@@ -1886,6 +1897,7 @@ + description="Create the Tomcat javadoc" > + ++ + + + ++ + + + +@@ -2642,7 +2657,7 @@ + + + ++ description="Download (and build) components necessary to compile" unless="noget"> + + + +@@ -2699,7 +2714,7 @@ + + + ++ description="Download additional components for the tests" unless="noget"> + + + +@@ -2727,7 +2742,7 @@ + + + ++ description="Download additional components for a distribution" unless="noget"> + + + diff --git a/www-servers/tomcat/files/tomcat-7.0.81-build.xml.patch b/www-servers/tomcat/files/tomcat-7.0.81-build.xml.patch new file mode 100644 index 000000000000..481591fb6ff5 --- /dev/null +++ b/www-servers/tomcat/files/tomcat-7.0.81-build.xml.patch @@ -0,0 +1,149 @@ +diff -Naur apache-tomcat-7.0.63-src.orig/build.xml apache-tomcat-7.0.63-src/build.xml +--- apache-tomcat-7.0.63-src.orig/build.xml 2015-06-30 09:15:44.000000000 +0100 ++++ apache-tomcat-7.0.63-src/build.xml 2015-08-22 21:13:12.453038827 +0100 +@@ -660,12 +660,14 @@ + + + ++ + + + +@@ -721,26 +723,32 @@ + manifest="${tomcat.manifests}/annotations-api.jar.manifest" /> + + ++ + + ++ + + ++ + + + + ++ + + + +@@ -1051,14 +1061,15 @@ + + + ++ + + +- ++ + + + ++ description="Prepare to build web services extras package" unless="noget"> + + + +@@ -1886,6 +1897,7 @@ + description="Create the Tomcat javadoc" > + ++ + + + ++ + + + +@@ -2642,7 +2657,7 @@ + + + ++ description="Download (and build) components necessary to compile" unless="noget"> + + + +@@ -2699,7 +2714,7 @@ + + + ++ description="Download additional components for the tests" unless="noget"> + + + +@@ -2727,7 +2742,7 @@ + + + ++ description="Download additional components for a distribution" unless="noget"> + + + diff --git a/www-servers/tomcat/files/tomcat-8.0.45-build.xml.patch b/www-servers/tomcat/files/tomcat-8.0.45-build.xml.patch new file mode 100644 index 000000000000..cefd59f55ae3 --- /dev/null +++ b/www-servers/tomcat/files/tomcat-8.0.45-build.xml.patch @@ -0,0 +1,259 @@ +diff --git a/apache-tomcat-8.0.36-src/build.xml b/apache-tomcat-8.0.36-src/build.xml +index 1ba0dae..81a0a2c 100644 +--- a/apache-tomcat-8.0.36-src/build.xml ++++ b/apache-tomcat-8.0.36-src/build.xml +@@ -701,24 +701,29 @@ + manifest="${tomcat.manifests}/annotations-api.jar.manifest" /> + + ++ + ++ + + ++ + + + +- ++ + + + +@@ -1053,7 +1058,7 @@ + + + +- ++ + + + +@@ -1087,7 +1092,7 @@ + + + +- ++ + + + + + +- ++ + + + + ++ + +@@ -1594,7 +1600,7 @@ + + ++ description="Prepare to build web services extras package" unless="noget"> + + + +@@ -1733,7 +1739,7 @@ + + ++ description="Prepare to build web services extras package" unless="noget"> + + + +@@ -1928,6 +1934,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform. + + ++ + + + ++ + + + +@@ -2757,7 +2767,7 @@ skip.installer property in build.properties" /> + + + ++ description="Download (and build) components necessary to compile" unless="noget"> + + + +@@ -2791,7 +2801,7 @@ skip.installer property in build.properties" /> + + + ++ description="Download additional components for the tests" unless="noget"> + + + +@@ -2848,7 +2858,7 @@ skip.installer property in build.properties" /> + + + ++ description="Download additional components for a distribution" unless="noget"> + + + +@@ -2874,18 +2884,18 @@ skip.installer property in build.properties" /> + + + +- ++ + + + + +- ++ + + + + +- ++ + + + +@@ -2897,7 +2907,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2916,7 +2926,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2927,7 +2937,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2945,7 +2955,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2955,7 +2965,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2978,7 +2988,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2989,7 +2999,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -3000,7 +3010,7 @@ skip.installer property in build.properties" /> + + ++ description="Prepares the source tree to be built in Eclipse" unless="noget"> + + + diff --git a/www-servers/tomcat/files/tomcat-8.0.46-build.xml.patch b/www-servers/tomcat/files/tomcat-8.0.46-build.xml.patch new file mode 100644 index 000000000000..cefd59f55ae3 --- /dev/null +++ b/www-servers/tomcat/files/tomcat-8.0.46-build.xml.patch @@ -0,0 +1,259 @@ +diff --git a/apache-tomcat-8.0.36-src/build.xml b/apache-tomcat-8.0.36-src/build.xml +index 1ba0dae..81a0a2c 100644 +--- a/apache-tomcat-8.0.36-src/build.xml ++++ b/apache-tomcat-8.0.36-src/build.xml +@@ -701,24 +701,29 @@ + manifest="${tomcat.manifests}/annotations-api.jar.manifest" /> + + ++ + ++ + + ++ + + + +- ++ + + + +@@ -1053,7 +1058,7 @@ + + + +- ++ + + + +@@ -1087,7 +1092,7 @@ + + + +- ++ + + + + + +- ++ + + + + ++ + +@@ -1594,7 +1600,7 @@ + + ++ description="Prepare to build web services extras package" unless="noget"> + + + +@@ -1733,7 +1739,7 @@ + + ++ description="Prepare to build web services extras package" unless="noget"> + + + +@@ -1928,6 +1934,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform. + + ++ + + + ++ + + + +@@ -2757,7 +2767,7 @@ skip.installer property in build.properties" /> + + + ++ description="Download (and build) components necessary to compile" unless="noget"> + + + +@@ -2791,7 +2801,7 @@ skip.installer property in build.properties" /> + + + ++ description="Download additional components for the tests" unless="noget"> + + + +@@ -2848,7 +2858,7 @@ skip.installer property in build.properties" /> + + + ++ description="Download additional components for a distribution" unless="noget"> + + + +@@ -2874,18 +2884,18 @@ skip.installer property in build.properties" /> + + + +- ++ + + + + +- ++ + + + + +- ++ + + + +@@ -2897,7 +2907,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2916,7 +2926,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2927,7 +2937,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2945,7 +2955,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2955,7 +2965,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2978,7 +2988,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2989,7 +2999,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -3000,7 +3010,7 @@ skip.installer property in build.properties" /> + + ++ description="Prepares the source tree to be built in Eclipse" unless="noget"> + + + diff --git a/www-servers/tomcat/files/tomcat-8.5.20-build.xml.patch b/www-servers/tomcat/files/tomcat-8.5.20-build.xml.patch new file mode 100644 index 000000000000..611c99d7a0ec --- /dev/null +++ b/www-servers/tomcat/files/tomcat-8.5.20-build.xml.patch @@ -0,0 +1,250 @@ +diff --git a/apache-tomcat-8.5.4-src/build.xml b/apache-tomcat-8.5.4-src/build.xml +index 655e379..b973b7f 100644 +--- a/apache-tomcat-8.5.4-src/build.xml ++++ b/apache-tomcat-8.5.4-src/build.xml +@@ -691,24 +691,29 @@ + manifest="${tomcat.manifests}/annotations-api.jar.manifest" /> + + ++ + ++ + + ++ + + + +- ++ + + + +@@ -1049,7 +1054,7 @@ + + + +- ++ + + + +@@ -1083,7 +1088,7 @@ + + + +- ++ + + + + + +- ++ + + + + ++ + +@@ -1579,7 +1585,7 @@ + + ++ description="Prepare to build web services extras package" unless="noget"> + + + +@@ -1727,6 +1733,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform. + + ++ + + + ++ + + + +@@ -2574,7 +2584,7 @@ skip.installer property in build.properties" /> + + + ++ description="Download (and build) components necessary to compile" unless="noget"> + + + +@@ -2608,7 +2618,7 @@ skip.installer property in build.properties" /> + + + ++ description="Download additional components for the tests" unless="noget"> + + + +@@ -2665,7 +2675,7 @@ skip.installer property in build.properties" /> + + + ++ description="Download additional components for a distribution" unless="noget"> + + + +@@ -2691,18 +2701,18 @@ skip.installer property in build.properties" /> + + + +- ++ + + + + +- ++ + + + + +- ++ + + + +@@ -2714,7 +2724,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2733,7 +2743,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2744,7 +2754,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2762,7 +2772,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2772,7 +2782,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2795,7 +2805,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2806,7 +2816,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2817,7 +2827,7 @@ skip.installer property in build.properties" /> + + ++ description="Prepares the source tree to be built in Eclipse" unless="noget"> + + + diff --git a/www-servers/tomcat/files/tomcat-9.0.0_alpha26-build.xml.patch b/www-servers/tomcat/files/tomcat-9.0.0_alpha26-build.xml.patch new file mode 100644 index 000000000000..3c4e5c2a9d45 --- /dev/null +++ b/www-servers/tomcat/files/tomcat-9.0.0_alpha26-build.xml.patch @@ -0,0 +1,250 @@ +diff --git a/apache-tomcat-9.0.0.M8-src/build.xml b/apache-tomcat-9.0.0.M8-src/build.xml +index dfec1f7..4dfc5d8 100644 +--- a/apache-tomcat-9.0.0.M8-src/build.xml ++++ b/apache-tomcat-9.0.0.M8-src/build.xml +@@ -695,24 +695,30 @@ + manifest="${tomcat.manifests}/annotations-api.jar.manifest" /> + + ++ + + ++ + + ++ + + + +- ++ + + + +@@ -1053,7 +1059,7 @@ + + + +- ++ + + + +@@ -1087,7 +1093,7 @@ + + + +- ++ + + + + + +- ++ + + + + ++ + +@@ -1583,7 +1590,7 @@ + + ++ description="Prepare to build web services extras package" unless="noget"> + + + +@@ -1731,6 +1738,7 @@ Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform. + + ++ + + + ++ + + + +@@ -2578,7 +2589,7 @@ skip.installer property in build.properties" /> + + + ++ description="Download (and build) components necessary to compile" unless="noget"> + + + +@@ -2612,7 +2623,7 @@ skip.installer property in build.properties" /> + + + ++ description="Download additional components for the tests" unless="noget"> + + + +@@ -2669,7 +2680,7 @@ skip.installer property in build.properties" /> + + + ++ description="Download additional components for a distribution" unless="noget"> + + + +@@ -2695,18 +2706,18 @@ skip.installer property in build.properties" /> + + + +- ++ + + + + +- ++ + + + + +- ++ + + + +@@ -2718,7 +2729,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2737,7 +2748,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2748,7 +2759,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2766,7 +2777,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2776,7 +2787,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2799,7 +2810,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2810,7 +2821,7 @@ skip.installer property in build.properties" /> + + + +- ++ + + + +@@ -2821,7 +2832,7 @@ skip.installer property in build.properties" /> + + ++ description="Prepares the source tree to be built in Eclipse" unless="noget"> + + + diff --git a/www-servers/tomcat/files/tomcat-instance-manager-r1.bash b/www-servers/tomcat/files/tomcat-instance-manager-r1.bash new file mode 100644 index 000000000000..de5152198b3e --- /dev/null +++ b/www-servers/tomcat/files/tomcat-instance-manager-r1.bash @@ -0,0 +1,240 @@ +#!/bin/bash +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# Author: Ralph Sennhauser + +die() { + echo "${@}" + exit 1 +} + +usage() { + cat < [--suffix s][--user u][--group g] + + Options: + --help: + show this text. + --create: + create a new instance + --remove: + remove an existing instance. + --suffix SUFFIX: + a suffix for this instance. the suffix may not collide with an already + existing instance, defaults to empty. + --user USER: + the user for which to configure this instance for. The user needs to + exist already. defaults to tomcat. + --group GROUP: + the group for which to configure this instance for. The group needs to + exist already. defaults to tomcat. + + Examples: + ${BASH_SOURCE} --create --suffix testing --user tacmot --group tacmot + ${BASH_SOURCE} --remove --suffix testing +EOL +} + +parse_argv() { + action="not specified" + instance_name="tomcat-@SLOT@" + instance_user="tomcat" + instance_group="tomcat" + + while [[ -n $1 ]]; do + case $1 in + --help) + usage + exit 0;; + --suffix) + instance_name+="-$2" + shift; shift;; + --user) + instance_user="$2" + shift; shift;; + --group) + instance_group="$2" + shift; shift;; + --create) + action=create + shift;; + --remove) + action=remove + shift;; + --backup) + action=backup + shift;; + --restore) + action=restore + shift;; + --update) + action=update + shift;; + *) + echo "Invalid option '$1'" + usage + exit 2;; + esac + done + + tomcat_home="/@GENTOO_PORTAGE_EPREFIX@usr/share/tomcat-@SLOT@" + instance_base="/@GENTOO_PORTAGE_EPREFIX@var/lib/${instance_name}" + instance_conf="/@GENTOO_PORTAGE_EPREFIX@etc/${instance_name}" + instance_logs="/@GENTOO_PORTAGE_EPREFIX@var/log/${instance_name}" + instance_temp="/@GENTOO_PORTAGE_EPREFIX@var/tmp/${instance_name}" + + all_targets=( + "${instance_base}" + "${instance_logs}" + "${instance_temp}" + "/@GENTOO_PORTAGE_EPREFIX@etc/${instance_name}" + "/@GENTOO_PORTAGE_EPREFIX@etc/init.d/${instance_name}" + "/@GENTOO_PORTAGE_EPREFIX@etc/conf.d/${instance_name}" + ) +} + +test_can_deploy() { + local no_deploy target + for target in "${all_targets[@]}"; do + if [[ -e "${target}" ]]; then + echo "Error: '${target}' already exists." + no_deploy=yes + fi + done + if [[ -n "${no_deploy}" ]]; then + cat <<-EOL + + To protect an existing installation no new instance was deployed. You can use + '${BASH_SOURCE} --remove' + to remove an existing instance first or run + '${BASH_SOURCE} --create --sufix ' + to deploy an instance under a different name + + EOL + usage + exit 1 + fi + + if ! getent passwd | cut -d: -f1 | grep -Fx "${instance_user}" > /dev/null; then + echo "Error: user '${instance_user}' doesn't exist." + exit 1 + fi + + if ! getent group | cut -d: -f1 | grep -Fx "${instance_group}" > /dev/null; then + echo "Error: group '${instance_group}' doesn't exist." + exit 1 + fi +} + +deploy_instance() { + test_can_deploy + + mkdir -p "${instance_base}"/{work,webapps} || die + mkdir -p "${instance_logs}" || die + mkdir -p "${instance_temp}" || die + + cp -r "${tomcat_home}"/webapps/ROOT "${instance_base}"/webapps || die + + chown -R "${instance_user}":"${instance_group}" \ + "${instance_base}" "${instance_logs}" "${instance_temp}" || die + + find "${instance_base}"/webapps -type d -exec chmod 750 {} + || die + find "${instance_base}"/webapps -type f -exec chmod 640 {} + || die + + # initial config # + + cp -r "${tomcat_home}"/conf "${instance_conf}" || die + + sed -i -e "s|\${catalina.base}/logs|${instance_logs}|" \ + "${instance_conf}"/logging.properties || die + sed -i -e "s|directory=\"logs\"|directory=\"${instance_logs}\"|" \ + "${instance_conf}"/server.xml || die + + mkdir -p "${instance_conf}"/Catalina/localhost || die + cat > "${instance_conf}"/Catalina/localhost/host-manager.xml <<-'EOF' + + + EOF + + cat > "${instance_conf}"/Catalina/localhost/manager.xml <<-'EOF' + + + EOF + + if [[ -d "${tomcat_home}"/webapps/docs ]]; then + cat > "${instance_conf}"/Catalina/localhost/docs.xml <<-'EOF' + + + EOF + fi + + if [[ -d "${tomcat_home}"/webapps/examples ]]; then + cat > "${instance_conf}"/Catalina/localhost/examples.xml <<-'EOF' + + + EOF + fi + + chown -R "${instance_user}":"${instance_group}" "${instance_conf}" || die + find "${instance_conf}" -type d -exec chmod 750 {} + || die + find "${instance_conf}" -type f -exec chmod 640 {} + || die + + # rc script # + + cp "${tomcat_home}"/gentoo/tomcat.init \ + "/@GENTOO_PORTAGE_EPREFIX@etc/init.d/${instance_name}" || die + + sed -e "s|@INSTANCE_NAME@|${instance_name}|g" \ + -e "s|@INSTANCE_USER@|${instance_user}|g" \ + -e "s|@INSTANCE_GROUP@|${instance_group}|g" \ + "${tomcat_home}"/gentoo/tomcat.conf \ + > "/@GENTOO_PORTAGE_EPREFIX@etc/conf.d/${instance_name}" || die + + # some symlinks for tomcat and netbeans # + + ln -s "${instance_conf}" "${instance_base}"/conf || die + ln -s "${instance_temp}" "${instance_base}"/temp || die + + # a note to update the default configuration # + + cat <<-EOL + Successfully created instance '${instance_name}' + It's strongly recommended for production systems to go carefully through the + configuration files at '${instance_conf}'. + The generated initial configuration is close to upstreams default which + favours the demo aspect over hardening. + EOL +} + +remove_instance() { + echo "The following files will be removed permanently:" + local target; for target in "${all_targets[@]}"; do + find ${target} + done + + echo "Type 'yes' to continue" + read + if [[ ${REPLY} == yes ]]; then + rm -rv "${all_targets[@]}" + else + echo "Aborting as requested ..." + fi +} + +parse_argv "$@" + +if [[ ${action} == create ]]; then + deploy_instance +elif [[ ${action} == remove ]]; then + remove_instance +elif [[ ${action} == "not specified" ]]; then + echo "No action specified!" + usage + exit 1 +else + echo "${action} not yet implemented!" + usage + exit 1 +fi diff --git a/www-servers/tomcat/files/tomcat-instance-manager-r2.bash b/www-servers/tomcat/files/tomcat-instance-manager-r2.bash new file mode 100644 index 000000000000..b3b1a0221bc3 --- /dev/null +++ b/www-servers/tomcat/files/tomcat-instance-manager-r2.bash @@ -0,0 +1,270 @@ +#!/bin/bash +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# Author: Ralph Sennhauser + +die() { + echo "${@}" + exit 1 +} + +dir_is_empty() { + # usage: + # dir_is_empty + # + # returns 2 if the dir does not even exist + # returns 1 if the dir is not empty + # returns 0 (success) if the dir exists and is empty + + local dir=$1 + local files + + if [[ ! -e ${dir} ]] ; then + return 2 + fi + + shopt -s nullglob dotglob # To include hidden files + files=( "${dir}"/* ) + shopt -u nullglob dotglob + + if [[ ${#files[@]} -eq 0 ]]; then + return 0 + else + return 1 + fi + +} + +usage() { + cat < [--suffix s][--user u][--group g] + + Options: + --help: + show this text. + --create: + create a new instance + --remove: + remove an existing instance. + --suffix SUFFIX: + a suffix for this instance. the suffix may not collide with an already + existing instance, defaults to empty. + --user USER: + the user for which to configure this instance for. The user needs to + exist already. defaults to tomcat. + --group GROUP: + the group for which to configure this instance for. The group needs to + exist already. defaults to tomcat. + + Examples: + ${BASH_SOURCE} --create --suffix testing --user tacmot --group tacmot + ${BASH_SOURCE} --remove --suffix testing +EOL +} + +parse_argv() { + action="not specified" + instance_name="tomcat-@SLOT@" + instance_user="tomcat" + instance_group="tomcat" + + while [[ -n $1 ]]; do + case $1 in + --help) + usage + exit 0;; + --suffix) + instance_name+="-$2" + shift; shift;; + --user) + instance_user="$2" + shift; shift;; + --group) + instance_group="$2" + shift; shift;; + --create) + action=create + shift;; + --remove) + action=remove + shift;; + --backup) + action=backup + shift;; + --restore) + action=restore + shift;; + --update) + action=update + shift;; + *) + echo "Invalid option '$1'" + usage + exit 2;; + esac + done + + tomcat_home="/@GENTOO_PORTAGE_EPREFIX@usr/share/tomcat-@SLOT@" + instance_base="/@GENTOO_PORTAGE_EPREFIX@var/lib/${instance_name}" + instance_conf="/@GENTOO_PORTAGE_EPREFIX@etc/${instance_name}" + instance_logs="/@GENTOO_PORTAGE_EPREFIX@var/log/${instance_name}" + instance_temp="/@GENTOO_PORTAGE_EPREFIX@var/tmp/${instance_name}" + + all_targets=( + "${instance_base}" + "${instance_logs}" + "${instance_temp}" + "/@GENTOO_PORTAGE_EPREFIX@etc/${instance_name}" + "/@GENTOO_PORTAGE_EPREFIX@etc/init.d/${instance_name}" + "/@GENTOO_PORTAGE_EPREFIX@etc/conf.d/${instance_name}" + ) +} + +test_can_deploy() { + local no_deploy target + for target in "${all_targets[@]}"; do + if [[ -e "${target}" ]]; then + if ! dir_is_empty "${target}" ; then + echo "Error: '${target}' already exists and is not empty." + no_deploy=yes + fi + fi + done + if [[ -n "${no_deploy}" ]]; then + cat <<-EOL + + To protect an existing installation no new instance was deployed. You can use + '${BASH_SOURCE} --remove' + to remove an existing instance first or run + '${BASH_SOURCE} --create --sufix ' + to deploy an instance under a different name + + EOL + usage + exit 1 + fi + + if ! getent passwd | cut -d: -f1 | grep -Fx "${instance_user}" > /dev/null; then + echo "Error: user '${instance_user}' doesn't exist." + exit 1 + fi + + if ! getent group | cut -d: -f1 | grep -Fx "${instance_group}" > /dev/null; then + echo "Error: group '${instance_group}' doesn't exist." + exit 1 + fi +} + +deploy_instance() { + test_can_deploy + + mkdir -p "${instance_base}"/{work,webapps} || die + mkdir -p "${instance_logs}" || die + mkdir -p "${instance_temp}" || die + mkdir -p "${instance_conf}" || die + + cp -r "${tomcat_home}"/webapps/ROOT "${instance_base}"/webapps || die + + chown -R "${instance_user}":"${instance_group}" \ + "${instance_base}" "${instance_logs}" "${instance_temp}" || die + + find "${instance_base}"/webapps -type d -exec chmod 750 {} + || die + find "${instance_base}"/webapps -type f -exec chmod 640 {} + || die + + # initial config # + + cp -r "${tomcat_home}"/conf/* "${instance_conf}"/ || die + + sed -i -e "s|\${catalina.base}/logs|${instance_logs}|" \ + "${instance_conf}"/logging.properties || die + sed -i -e "s|directory=\"logs\"|directory=\"${instance_logs}\"|" \ + "${instance_conf}"/server.xml || die + + mkdir -p "${instance_conf}"/Catalina/localhost || die + cat > "${instance_conf}"/Catalina/localhost/host-manager.xml <<-'EOF' + + + EOF + + cat > "${instance_conf}"/Catalina/localhost/manager.xml <<-'EOF' + + + EOF + + if [[ -d "${tomcat_home}"/webapps/docs ]]; then + cat > "${instance_conf}"/Catalina/localhost/docs.xml <<-'EOF' + + + EOF + fi + + if [[ -d "${tomcat_home}"/webapps/examples ]]; then + cat > "${instance_conf}"/Catalina/localhost/examples.xml <<-'EOF' + + + EOF + fi + + chown -R "${instance_user}":"${instance_group}" "${instance_conf}" || die + find "${instance_conf}" -type d -exec chmod 750 {} + || die + find "${instance_conf}" -type f -exec chmod 640 {} + || die + + # rc script # + + cp "${tomcat_home}"/gentoo/tomcat.init \ + "/@GENTOO_PORTAGE_EPREFIX@etc/init.d/${instance_name}" || die + + sed -e "s|@INSTANCE_NAME@|${instance_name}|g" \ + -e "s|@INSTANCE_USER@|${instance_user}|g" \ + -e "s|@INSTANCE_GROUP@|${instance_group}|g" \ + "${tomcat_home}"/gentoo/tomcat.conf \ + > "/@GENTOO_PORTAGE_EPREFIX@etc/conf.d/${instance_name}" || die + + # some symlinks for tomcat and netbeans # + + ln -s "${instance_conf}" "${instance_base}"/conf || die + ln -s "${instance_temp}" "${instance_base}"/temp || die + + # a note to update the default configuration # + + cat <<-EOL + Successfully created instance '${instance_name}' + It's strongly recommended for production systems to go carefully through the + configuration files at '${instance_conf}'. + The generated initial configuration is close to upstreams default which + favours the demo aspect over hardening. + EOL +} + +remove_instance() { + echo "The following files will be removed permanently:" + local target; for target in "${all_targets[@]}"; do + find ${target} + done + + echo "Type 'yes' to continue" + read + if [[ ${REPLY} == yes ]]; then + rm -rv "${all_targets[@]}" + else + echo "Aborting as requested ..." + fi +} + +parse_argv "$@" + +if [[ ${action} == create ]]; then + deploy_instance +elif [[ ${action} == remove ]]; then + remove_instance +elif [[ ${action} == "not specified" ]]; then + echo "No action specified!" + usage + exit 1 +else + echo "${action} not yet implemented!" + usage + exit 1 +fi diff --git a/www-servers/tomcat/files/tomcat-r1.init b/www-servers/tomcat/files/tomcat-r1.init new file mode 100644 index 000000000000..13c3e548a2d4 --- /dev/null +++ b/www-servers/tomcat/files/tomcat-r1.init @@ -0,0 +1,110 @@ +#!/@GENTOO_PORTAGE_EPREFIX@sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +extra_commands="forcestop" + +PIDFILE=/@GENTOO_PORTAGE_EPREFIX@var/run/${RC_SVCNAME}.pid + +: ${CATALINA_HOME:=/@GENTOO_PORTAGE_EPREFIX@usr/share/tomcat-@SLOT@} +: ${CATALINA_BASE:=/@GENTOO_PORTAGE_EPREFIX@var/lib/${RC_SVCNAME}} +: ${CATALINA_TMPDIR:=/@GENTOO_PORTAGE_EPREFIX@var/tmp/${RC_SVCNAME}} +: ${CATALINA_USER:=tomcat} +: ${CATALINA_GROUP:=tomcat} + +: ${TOMCAT_START:=start} + +: ${JPDA_TRANSPORT:="dt_socket"} +: ${JPDA_ADDRESS:="8000"} +: ${JPDA_OPTS="-Xdebug -Xrunjdwp:transport=${JPDA_TRANSPORT},address=${JPDA_ADDRESS},server=y,suspend=n"} + +export JAVA_HOME=`java-config ${TOMCAT_JVM:+--select-vm ${TOMCAT_JVM}} --jre-home` +export CLASSPATH="${CATALINA_HOME}/bin/bootstrap.jar:${CATALINA_HOME}/bin/tomcat-juli.jar" + +depend() { + use dns logger net +} + +start() { + ebegin "Starting ${RC_SVCNAME}" + + if [ ! -e "${CATALINA_TMPDIR}" ]; then + eerror "CATALINA_TMPDIR does not exist. Unable to start tomcat." + eerror "Please see /@GENTOO_PORTAGE_EPREFIX@etc/conf.d/${RC_SVCNAME} for more information." + eend 1 + fi + + local DEPEND=$(java-config --query DEPEND --package tomcat-@SLOT@):${TOMCAT_EXTRA_JARS} + DEPEND=${DEPEND%:} + + local GCLASSPATH=$(java-config --with-dependencies --classpath "${DEPEND//:/,}"):${TOMCAT_EXTRA_CLASSPATH} + GCLASSPATH=${GCLASSPATH%:} + + local cmd=java args= + if [ "${TOMCAT_START}" = "debug" ] || [ "${TOMCAT_START}" = "-security debug" ] ; then + cmd=jdb + args="${args} -sourcepath ${CATALINA_HOME}/../../jakarta-tomcat-catalina/catalina/src/share" + fi + if [ "${TOMCAT_START}" = "-security debug" ] || [ "${TOMCAT_START}" = "-security start" ]; then + args="${args} -Djava.security.manager" + args="${args} -Djava.security.policy=${CATALINA_BASE}/conf/catalina.policy" + fi + if [ "${TOMCAT_START}" = "jpda start" ] ; then + args="${args} ${JPDA_OPTS}" + fi + if [ -r "${CATALINA_HOME}"/bin/tomcat-juli.jar ]; then + args="${args} -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \ + -Djava.util.logging.config.file=${CATALINA_BASE}/conf/logging.properties" + fi + + start-stop-daemon --start \ + --quiet --background \ + --chdir "${CATALINA_TMPDIR}" \ + --user ${CATALINA_USER}:${CATALINA_GROUP} \ + --make-pidfile --pidfile ${PIDFILE} \ + --exec ${JAVA_HOME}/bin/${cmd} \ + -- \ + ${JAVA_OPTS} \ + ${args} \ + -Dcatalina.base="${CATALINA_BASE}" \ + -Dcatalina.home="${CATALINA_HOME}" \ + -Djava.io.tmpdir="${CATALINA_TMPDIR}" \ + -Dgentoo.classpath="${GCLASSPATH//:/,}" \ + -classpath "${CLASSPATH}" \ + org.apache.catalina.startup.Bootstrap \ + ${CATALINA_OPTS} \ + ${TOMCAT_START} + + eend $? +} + +stop() { + ebegin "Stopping '${RC_SVCNAME}'" + + start-stop-daemon --stop \ + --quiet --retry=60 \ + --pidfile ${PIDFILE} \ + --exec ${JAVA_HOME}/bin/java \ + -- \ + ${JAVA_OPTS} \ + -classpath "${CLASSPATH}" \ + ${CATALINA_OPTS} \ + stop ${STD_OUT} + + eend $? +} + +forcestop() { + ebegin "Forcing '${RC_SVCNAME}' to stop" + + start-stop-daemon --stop \ + --quiet --retry=60 \ + --pidfile ${PIDFILE} \ + --signal=9 + + if service_started "${RC_SVCNAME}"; then + mark_service_stopped "${RC_SVCNAME}" + fi + + eend $? +} diff --git a/www-servers/tomcat/files/tomcat.conf b/www-servers/tomcat/files/tomcat.conf new file mode 100644 index 000000000000..376af44adef6 --- /dev/null +++ b/www-servers/tomcat/files/tomcat.conf @@ -0,0 +1,57 @@ +# Set the handle of the JVM to use. If unset uses the system-vm. +# run 'eselect java-vm list' to get possible values. +# +#TOMCAT_JVM="icedtea-7" + +# Additional options to pass to the JVM. +# Example to set library path for tomcat-native: +# JAVA_OPTS="-Djava.library.path=/usr/lib" +# +#JAVA_OPTS="" + +# Additional packages to put on the default classpath. +# jakarta-jstl is needed for some of the examples. +# Note: The extra jars listed here will be visible to webapps. +# Example: +# TOMCAT_EXTRA_JARS="jakarta-jstl,xerces-2" +# +#TOMCAT_EXTRA_JARS="" + +# Additional paths to put on the default classpath. +# These should be separated by the : character. +# Note: The extra jars listed here will be visible to webapps. +# Example: +# TOMCAT_EXTRA_CLASSPATH="/path/to/foo.jar:/path/to/bar.jar" +# +#TOMCAT_EXTRA_CLASSPATH="" + +# User/Group of this instance. +CATALINA_USER=@INSTANCE_USER@ +CATALINA_GROUP=@INSTANCE_GROUP@ + +# Directory path location of temporary directory the JVM should +# use (java.io.tmpdir). +# Note: This directory must exist and be read/writable by tomcat. +# See #246362 as an example where /var/tmp was deleted on shutdown. +# +#CATALINA_TMPDIR="/@GENTOO_PORTAGE_EPREFIX@var/tmp/@INSTANCE_NAME@" + +# TOMCAT STARTUP +# debug Start Catalina in a debugger +# -security debug Debug Catalina with a security manager +# jpda start Start Catalina under JPDA debugger +# start Start Catalina in a separate window +# -security start Start in a separate window with security manager +# +#TOMCAT_START="start" + +# Java Platform Debugger Architecture (JPDA) +# http://java.sun.com/products/jpda/ +# Override default JPDA address and transport for the "jpda start" command. +# +#JPDA_ADDRESS="8000" +#JPDA_TRANSPORT="dt_socket" + +# Additional options to pass to catalina +# +#CATALINA_OPTS="" diff --git a/www-servers/tomcat/metadata.xml b/www-servers/tomcat/metadata.xml new file mode 100644 index 000000000000..82f98407b56a --- /dev/null +++ b/www-servers/tomcat/metadata.xml @@ -0,0 +1,18 @@ + + + + + java@gentoo.org + Java + + + Tomcat is the servlet container that is used in the official Reference + Implementation for the Java Servlet and JavaServer Pages technologies. + The Java Servlet and JavaServer Pages specifications are developed by + Sun under the Java Community Process. + + + Build also the docs and examples webapp + Builds websockets api and implementation (requires java 7) + + diff --git a/www-servers/tomcat/tomcat-7.0.79.ebuild b/www-servers/tomcat/tomcat-7.0.79.ebuild new file mode 100644 index 000000000000..0d01aa49b311 --- /dev/null +++ b/www-servers/tomcat/tomcat-7.0.79.ebuild @@ -0,0 +1,148 @@ +# Copyright 1999-2017 Gentoo Foundation +# 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.0/JSP-2.2 Container" +HOMEPAGE="http://tomcat.apache.org/" +SRC_URI="mirror://apache/${PN}/tomcat-7/v${PV}/src/${MY_P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="7" +KEYWORDS="amd64 ~ppc64 x86 ~amd64-linux ~x86-linux ~x86-solaris" +IUSE="extra-webapps websockets" + +RESTRICT="test" # can we run them on a production system? + +ECJ_SLOT="4.5" +SAPI_SLOT="3.0" + +COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT} + dev-java/tomcat-servlet-api:${SAPI_SLOT}" +RDEPEND="${COMMON_DEP} + websockets? ( >=virtual/jre-1.7 ) + !websockets? ( >=virtual/jre-1.6 ) + !|=\"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://www.gentoo.org/proj/en/java/tomcat6-guide.xml for more information." +} diff --git a/www-servers/tomcat/tomcat-8.0.46.ebuild b/www-servers/tomcat/tomcat-8.0.46.ebuild new file mode 100644 index 000000000000..424ec1de47d9 --- /dev/null +++ b/www-servers/tomcat/tomcat-8.0.46.ebuild @@ -0,0 +1,157 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +JAVA_PKG_IUSE="doc source test" + +inherit eutils java-pkg-2 java-ant-2 prefix user + +MY_P="apache-${P}-src" + +DESCRIPTION="Tomcat Servlet-3.1/JSP-2.3/EL-3.0/WebSocket-1.1 Container" +HOMEPAGE="https://tomcat.apache.org/" +SRC_URI="mirror://apache/${PN}/tomcat-8/v${PV}/src/${MY_P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="8" +KEYWORDS="~amd64 ~x86 ~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:${SAPI_SLOT}" +RDEPEND="${COMMON_DEP} + !=virtual/jre-1.7" +DEPEND="${COMMON_DEP} + app-admin/pwgen + >=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 + + epatch "${FILESDIR}/${P}-build.xml.patch" + + # For use of catalina.sh in netbeans + sed -i -e "/^# ----- Execute The Requested Command/ a\ + CLASSPATH=\`java-config --classpath ${PN}-${SLOT}\`" \ + bin/catalina.sh || die + + java-pkg-2_src_prepare +} + +JAVA_ANT_REWRITE_CLASSPATH="true" + +EANT_BUILD_TARGET="deploy" +EANT_GENTOO_CLASSPATH="eclipse-ecj-${ECJ_SLOT},tomcat-servlet-api-${SAPI_SLOT}" +EANT_TEST_GENTOO_CLASSPATH="easymock-3.2" +EANT_GENTOO_CLASSPATH_EXTRA="${S}/output/classes" +EANT_NEEDS_TOOLS="true" +EANT_EXTRA_ARGS="-Dversion=${PV}-gentoo -Dversion.number=${PV} -Dcompile.debug=false" + +# revisions of the scripts +IM_REV="-r2" +INIT_REV="-r1" + +src_compile() { + EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only ant-core ant.jar)" + java-pkg-2_src_compile +} + +src_test() { + java-pkg-2_src_test +} + +src_install() { + local dest="/usr/share/${PN}-${SLOT}" + + java-pkg_jarinto "${dest}"/bin + java-pkg_dojar output/build/bin/*.jar + exeinto "${dest}"/bin + doexe output/build/bin/*.sh + + java-pkg_jarinto "${dest}"/lib + java-pkg_dojar output/build/lib/*.jar + + dodoc RELEASE-NOTES RUNNING.txt + use doc && java-pkg_dojavadoc output/dist/webapps/docs/api + use source && java-pkg_dosrc java/* + + ### Webapps ### + + # add missing docBase + local apps="host-manager manager" + for app in ${apps}; do + sed -i -e "s|=\"true\" >|=\"true\" docBase=\"\$\{catalina.home\}/webapps/${app}\" >|" \ + output/build/webapps/${app}/META-INF/context.xml || die + done + + insinto "${dest}"/webapps + doins -r output/build/webapps/{host-manager,manager,ROOT} + use extra-webapps && doins -r output/build/webapps/{docs,examples} + + ### Config ### + + # create "logs" directory in $CATALINA_BASE + # and set correct perms, see #458890 + dodir "${dest}"/logs + fperms 0750 "${dest}"/logs + + # replace the default pw with a random one, see #92281 + local randpw="$(pwgen -s -B 15 1)" + sed -i -e "s|SHUTDOWN|${randpw}|" output/build/conf/server.xml || die + + # prepend gentoo.classpath to common.loader, see #453212 + sed -i -e 's/^common\.loader=/\0${gentoo.classpath},/' output/build/conf/catalina.properties || die + + insinto "${dest}" + doins -r output/build/conf + + ### rc ### + + cp "${FILESDIR}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} "${T}" || die + eprefixify "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} + sed -i -e "s|@SLOT@|${SLOT}|g" "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} || die + + insinto "${dest}"/gentoo + doins "${T}"/tomcat.conf + exeinto "${dest}"/gentoo + newexe "${T}"/tomcat${INIT_REV}.init tomcat.init + newexe "${T}"/tomcat-instance-manager${IM_REV}.bash tomcat-instance-manager.bash +} + +pkg_postinst() { + elog "New ebuilds of Tomcat support running multiple instances. If you used prior version" + elog "of Tomcat (<7.0.32), you have to migrate your existing instance to work with new Tomcat." + elog "You can find more information at https://wiki.gentoo.org/wiki/Apache_Tomcat" + + elog "To manage Tomcat instances, run:" + elog " ${EPREFIX}/usr/share/${PN}-${SLOT}/gentoo/tomcat-instance-manager.bash --help" + + ewarn "tomcat-dbcp.jar is not built at this time. Please fetch jar" + ewarn "from upstream binary if you need it. Gentoo Bug # 144276" + +# einfo "Please read https://www.gentoo.org/proj/en/java/tomcat6-guide.xml for more information." +} diff --git a/www-servers/tomcat/tomcat-8.5.20.ebuild b/www-servers/tomcat/tomcat-8.5.20.ebuild new file mode 100644 index 000000000000..94c1abd6a554 --- /dev/null +++ b/www-servers/tomcat/tomcat-8.5.20.ebuild @@ -0,0 +1,157 @@ +# Copyright 1999-2017 Gentoo Foundation +# 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="http://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 + >=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 + + epatch "${FILESDIR}/${P}-build.xml.patch" + + # For use of catalina.sh in netbeans + sed -i -e "/^# ----- Execute The Requested Command/ a\ + CLASSPATH=\`java-config --classpath ${PN}-${SLOT}\`" \ + bin/catalina.sh || die + + java-pkg-2_src_prepare +} + +JAVA_ANT_REWRITE_CLASSPATH="true" + +EANT_BUILD_TARGET="deploy" +EANT_GENTOO_CLASSPATH="eclipse-ecj-${ECJ_SLOT},tomcat-servlet-api-${SAPI_SLOT}" +EANT_TEST_GENTOO_CLASSPATH="easymock-3.2" +EANT_GENTOO_CLASSPATH_EXTRA="${S}/output/classes" +EANT_NEEDS_TOOLS="true" +EANT_EXTRA_ARGS="-Dversion=${PV}-gentoo -Dversion.number=${PV} -Dcompile.debug=false" + +# revisions of the scripts +IM_REV="-r2" +INIT_REV="-r1" + +src_compile() { + EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only ant-core ant.jar)" + java-pkg-2_src_compile +} + +src_test() { + java-pkg-2_src_test +} + +src_install() { + local dest="/usr/share/${PN}-${SLOT}" + + java-pkg_jarinto "${dest}"/bin + java-pkg_dojar output/build/bin/*.jar + exeinto "${dest}"/bin + doexe output/build/bin/*.sh + + java-pkg_jarinto "${dest}"/lib + java-pkg_dojar output/build/lib/*.jar + + dodoc RELEASE-NOTES RUNNING.txt + use doc && java-pkg_dojavadoc output/dist/webapps/docs/api + use source && java-pkg_dosrc java/* + + ### Webapps ### + + # add missing docBase + local apps="host-manager manager" + for app in ${apps}; do + sed -i -e "s|=\"true\" >|=\"true\" docBase=\"\$\{catalina.home\}/webapps/${app}\" >|" \ + output/build/webapps/${app}/META-INF/context.xml || die + done + + insinto "${dest}"/webapps + doins -r output/build/webapps/{host-manager,manager,ROOT} + use extra-webapps && doins -r output/build/webapps/{docs,examples} + + ### Config ### + + # create "logs" directory in $CATALINA_BASE + # and set correct perms, see #458890 + dodir "${dest}"/logs + fperms 0750 "${dest}"/logs + + # replace the default pw with a random one, see #92281 + local randpw="$(pwgen -s -B 15 1)" + sed -i -e "s|SHUTDOWN|${randpw}|" output/build/conf/server.xml || die + + # prepend gentoo.classpath to common.loader, see #453212 + sed -i -e 's/^common\.loader=/\0${gentoo.classpath},/' output/build/conf/catalina.properties || die + + insinto "${dest}" + doins -r output/build/conf + + ### rc ### + + cp "${FILESDIR}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} "${T}" || die + eprefixify "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} + sed -i -e "s|@SLOT@|${SLOT}|g" "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} || die + + insinto "${dest}"/gentoo + doins "${T}"/tomcat.conf + exeinto "${dest}"/gentoo + newexe "${T}"/tomcat${INIT_REV}.init tomcat.init + newexe "${T}"/tomcat-instance-manager${IM_REV}.bash tomcat-instance-manager.bash +} + +pkg_postinst() { + elog "New ebuilds of Tomcat support running multiple instances. If you used prior version" + elog "of Tomcat (<7.0.32), you have to migrate your existing instance to work with new Tomcat." + elog "You can find more information at https://wiki.gentoo.org/wiki/Apache_Tomcat" + + elog "To manage Tomcat instances, run:" + elog " ${EPREFIX}/usr/share/${PN}-${SLOT}/gentoo/tomcat-instance-manager.bash --help" + + ewarn "tomcat-dbcp.jar is not built at this time. Please fetch jar" + ewarn "from upstream binary if you need it. Gentoo Bug # 144276" + +# einfo "Please read https://www.gentoo.org/proj/en/java/tomcat6-guide.xml for more information." +} diff --git a/www-servers/tomcat/tomcat-9.0.0_alpha26.ebuild b/www-servers/tomcat/tomcat-9.0.0_alpha26.ebuild new file mode 100644 index 000000000000..8090b4f5c011 --- /dev/null +++ b/www-servers/tomcat/tomcat-9.0.0_alpha26.ebuild @@ -0,0 +1,158 @@ +# Copyright 1999-2017 Gentoo Foundation +# 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_PV="${PV/_alpha/.M}" +MY_P="apache-${PN}-${MY_PV}-src" + +DESCRIPTION="Tomcat Servlet-4.0/JSP-2.4?/EL-3.1?/WebSocket-1.2?/JASPIC-1.1 Container" +HOMEPAGE="http://tomcat.apache.org/" +SRC_URI="mirror://apache/${PN}/tomcat-9/v${MY_PV}/src/${MY_P}.tar.gz" + +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.5" +SAPI_SLOT="4.0" + +COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT} + =dev-java/tomcat-servlet-api-${PV}:${SAPI_SLOT}" +RDEPEND="${COMMON_DEP} + !=virtual/jre-1.8" +DEPEND="${COMMON_DEP} + app-admin/pwgen + >=virtual/jdk-1.8 + 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 + + epatch "${FILESDIR}/${P}-build.xml.patch" + + # For use of catalina.sh in netbeans + sed -i -e "/^# ----- Execute The Requested Command/ a\ + CLASSPATH=\`java-config --classpath ${PN}-${SLOT}\`" \ + bin/catalina.sh || die + + java-pkg-2_src_prepare +} + +JAVA_ANT_REWRITE_CLASSPATH="true" + +EANT_BUILD_TARGET="deploy" +EANT_GENTOO_CLASSPATH="eclipse-ecj-${ECJ_SLOT},tomcat-servlet-api-${SAPI_SLOT}" +EANT_TEST_GENTOO_CLASSPATH="easymock-3.2" +EANT_GENTOO_CLASSPATH_EXTRA="${S}/output/classes" +EANT_NEEDS_TOOLS="true" +EANT_EXTRA_ARGS="-Dversion=${PV}-gentoo -Dversion.number=${PV} -Dcompile.debug=false" + +# revisions of the scripts +IM_REV="-r2" +INIT_REV="-r1" + +src_compile() { + EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only ant-core ant.jar)" + java-pkg-2_src_compile +} + +src_test() { + java-pkg-2_src_test +} + +src_install() { + local dest="/usr/share/${PN}-${SLOT}" + + java-pkg_jarinto "${dest}"/bin + java-pkg_dojar output/build/bin/*.jar + exeinto "${dest}"/bin + doexe output/build/bin/*.sh + + java-pkg_jarinto "${dest}"/lib + java-pkg_dojar output/build/lib/*.jar + + dodoc RELEASE-NOTES RUNNING.txt + use doc && java-pkg_dojavadoc output/dist/webapps/docs/api + use source && java-pkg_dosrc java/* + + ### Webapps ### + + # add missing docBase + local apps="host-manager manager" + for app in ${apps}; do + sed -i -e "s|=\"true\" >|=\"true\" docBase=\"\$\{catalina.home\}/webapps/${app}\" >|" \ + output/build/webapps/${app}/META-INF/context.xml || die + done + + insinto "${dest}"/webapps + doins -r output/build/webapps/{host-manager,manager,ROOT} + use extra-webapps && doins -r output/build/webapps/{docs,examples} + + ### Config ### + + # create "logs" directory in $CATALINA_BASE + # and set correct perms, see #458890 + dodir "${dest}"/logs + fperms 0750 "${dest}"/logs + + # replace the default pw with a random one, see #92281 + local randpw="$(pwgen -s -B 15 1)" + sed -i -e "s|SHUTDOWN|${randpw}|" output/build/conf/server.xml || die + + # prepend gentoo.classpath to common.loader, see #453212 + sed -i -e 's/^common\.loader=/\0${gentoo.classpath},/' output/build/conf/catalina.properties || die + + insinto "${dest}" + doins -r output/build/conf + + ### rc ### + + cp "${FILESDIR}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} "${T}" || die + eprefixify "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} + sed -i -e "s|@SLOT@|${SLOT}|g" "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} || die + + insinto "${dest}"/gentoo + doins "${T}"/tomcat.conf + exeinto "${dest}"/gentoo + newexe "${T}"/tomcat${INIT_REV}.init tomcat.init + newexe "${T}"/tomcat-instance-manager${IM_REV}.bash tomcat-instance-manager.bash +} + +pkg_postinst() { + elog "New ebuilds of Tomcat support running multiple instances. If you used prior version" + elog "of Tomcat (<7.0.32), you have to migrate your existing instance to work with new Tomcat." + elog "You can find more information at https://wiki.gentoo.org/wiki/Apache_Tomcat" + + elog "To manage Tomcat instances, run:" + elog " ${EPREFIX}/usr/share/${PN}-${SLOT}/gentoo/tomcat-instance-manager.bash --help" + + ewarn "tomcat-dbcp.jar is not built at this time. Please fetch jar" + ewarn "from upstream binary if you need it. Gentoo Bug # 144276" + +# einfo "Please read https://www.gentoo.org/proj/en/java/tomcat6-guide.xml for more information." +} -- cgit v1.2.3