diff options
Diffstat (limited to 'www-servers/tomcat')
-rw-r--r-- | www-servers/tomcat/Manifest | 9 | ||||
-rw-r--r-- | www-servers/tomcat/tomcat-10.1.19.ebuild | 181 | ||||
-rw-r--r-- | www-servers/tomcat/tomcat-8.5.99.ebuild | 157 | ||||
-rw-r--r-- | www-servers/tomcat/tomcat-9.0.86.ebuild | 180 |
4 files changed, 527 insertions, 0 deletions
diff --git a/www-servers/tomcat/Manifest b/www-servers/tomcat/Manifest index 0f20f5aecdad..0b56d56648cf 100644 --- a/www-servers/tomcat/Manifest +++ b/www-servers/tomcat/Manifest @@ -9,12 +9,21 @@ AUX tomcat-r1.init 3200 BLAKE2B eb913d32bb8c1883e58551a25ff9516337d947c6fd2c7b44 AUX tomcat.conf 1811 BLAKE2B a92606e113172c6f0f73e18ab8ad8796f38bd8c741bb2fd1f6c43d7682728729d0198d4150e42282c7e732750231b7cdbfb51de9b24f2ba780a22700965113c5 SHA512 0747dd2fdad6c68123425adce39f625d34924ae3e7c9d5a00361565a593047d7a4d01dee64c1ef831e5ad79b51750babaf642b0588d4b5948bbed441d53d654d DIST apache-tomcat-10.1.18-src.tar.gz 6166424 BLAKE2B 588b60b25448cf15389449a4f6d6791e005ae69a6b4c840e49a2564a6e483ec24c028d1d4022b38dcba7b0ef9fb1723b3d58474ba52358ff01eb842d951a6259 SHA512 62bd651ea24ff856c02688ca6e8bb469b1ae4903c95d89c45342fa82474a0688fae5d773fb43ed8a6ef1a3933509e9b35812147c5b7b193a7cbf7cc58a97e403 DIST apache-tomcat-10.1.18-src.tar.gz.asc 849 BLAKE2B 139f943e369f3dcf2d2bd7238296e631d5ca16886222cfa4a715e02d4914c77014a7a284585708a341e450f749ba02b6ecbe18abe0ecbcd10dbfce21aa4180f0 SHA512 990333e3d10d9de5162b4fd6f44d2d5f9c97df3fb8bcdd1e4e2cfb9aebd010bc9f6be0cbead17ac57f94ea4e3ae078755e0c157666de8acdcd862c5b11f4cd27 +DIST apache-tomcat-10.1.19-src.tar.gz 6175254 BLAKE2B 8ec0f461de2fed4642fcb20e38f637c5516d4543bebb66a7a8c9ad0d7acbd0221677d98c03021c2a766057158f9effa3dc5dda96eeed2b1cf662168f545d6223 SHA512 ee9bd20979a53f2151ac10dd8be4d4c0b82cabb60c10f33572460094a199832434b4f55aed4ab0334a2daf2795dbbfa345a55144132dbfecc7b3ab2d74999e77 +DIST apache-tomcat-10.1.19-src.tar.gz.asc 833 BLAKE2B 12b92d5f42219b0fccbc3eeb004fe38c762090790da93d51423ffec07c34f3203fbbb45c670f1cf8bf992ab061d0ed8f52f622eb51163511d29567bc241f6e26 SHA512 edbeea8873b8d1b48b8a298e57ef9715dd6b912d9edf6447bfcf85945ab79db08a21b0d134926d814676f2df823e1b78184792118926220fe4ea070919a5e71c DIST apache-tomcat-8.5.98-src.tar.gz 6148516 BLAKE2B bc60fca292d61e9ff03ca8598d51759c9c516b7f855f60c285c535ffaff9586c84e155a81e903981297ea62520b776a18e2b36982779dddfb5ffa0a5b50d4cfb SHA512 5be5339ab962fd915fec8755194c65636f1d0975ef32aaeaa5c87fc94e8bc51b1a93cf8c35bbcced7be8947a5f89380ab495f7626b1cc540c71949ee448cd41c DIST apache-tomcat-8.5.98-src.tar.gz.asc 849 BLAKE2B bfaba67dce2899629aa015a04a59f0cfeeab334e61fdb21a7d191dedb4371c576055c1e8ca596a425ddcef8dc7f058ceabcd3bb142b8c7923093a1c042c0fbc9 SHA512 bd5cbb0cfd6f1b2bae1cb4bb2c7e0850215dd4a95a988f4d75ff22c9a1c1331b256cf371f4ac90adf7731eba09b35a05e9f7d0e7dde839d60b99f0fd85ceb6c3 +DIST apache-tomcat-8.5.99-src.tar.gz 6162573 BLAKE2B 4443dc4865a16e60e9b9224fcd9947b36f316c4d2a81207fbb1204a1b12952275e995028eb5280a962d3488c1c43fc81bace6bb0fdf252cfb1e9025ef85da8b0 SHA512 a8aabf6d12ef89d2b908f0739392e595b3d481ceca124580323e3f3d3c26f4a39c960dcc3686efb5219bf10a7b5b55fc8c9f742a87eb975e04ed40415cab2e51 +DIST apache-tomcat-8.5.99-src.tar.gz.asc 833 BLAKE2B 55d39f5b9e821baab51a617b1c9df0e7f7192ace642eaa637c9e870b0ffdbe1ba5d58b132111eaf3417d26572d3e6650f316def53a6b2489bc820880464fddfc SHA512 b93eeaf4ae2f08d7f1cb5de09fcffa561202d852422f2464ffa61b98afd867237a0a0239caa176975b77c550d69b21bb41b681c1d655372c8b63930db7bbe483 DIST apache-tomcat-9.0.85-src.tar.gz 6315926 BLAKE2B 571500b3a2fc9c6f2d9bb7df750b769fe3d7bcf327f298d1e1c5c5fbab1dbbd099a4c939f7e9b3bf2f90568da595cf882fbb8433db1122c9026bd358463be52b SHA512 7883ab9adbabd817afc27881051f47918961fc0ee71427e87cb978f6b101c5e33d2a7483b942a2bb1b095b744dc35a566fe2bee77071f4f6e8c5bb9e8b289339 DIST apache-tomcat-9.0.85-src.tar.gz.asc 833 BLAKE2B ffeaa791b09b8552b9165ec98cb6bb4466beef4d3c27ae1fc83bb2b1f0e593b08fea30ae7fb6e515d3dea9fb967f3439f3ba81f119060e9617e36aa303cc9340 SHA512 b5204fbbf181c73d6efebb332e6011d4911c39964d5bf28af835f2bcbfff05d6356f2bf98dfd91e6a022a126c77822fb3d4840d52e6ef1b5485ced799e170472 +DIST apache-tomcat-9.0.86-src.tar.gz 6324982 BLAKE2B 2f7d1251ec3db1012f8f90691b6c7aa18ee2be9204ee27209af4d3a9d6505e1ce172a4babbffd42f56fd784aabddff41998980f578337372df6c721089e9d67d SHA512 02b5100f18233b4b20e6f03e455daf67b842ec2f894ff6f6971383f1a8f8c8ebbb098cb7f16be73f69e3f8cd1f3a2ce1ca78948aa7cc788fc316e0e8f68f4cde +DIST apache-tomcat-9.0.86-src.tar.gz.asc 833 BLAKE2B bb7a0bbbeceabc40acd87bc561ea35eebc8cb9ff06c0507243438c7d8b0b1ef43bd91b017bbed5b367835bf916f5dac7dd748717b83990cc2bf7eee0b82d23d6 SHA512 cedb95a61be312a3b47f5ed0b5528c7e3649b1a7d530a4dedf8a9e5a25ef887b52a7282ed5b4ca5121d130bbbf4428914bba415fc7fc211309540a938224b2f8 DIST biz.aQute.bnd-7.0.0.jar 16567341 BLAKE2B 329b3b750e917ad513a1f767f63b96b1d0b10177a0f3c079bbf07e02aff77607e1f869bae09d09709d8cfef27cd802585e7f332e2a3e3f0ee1c31a4890e53fce SHA512 42b2e43f3e437c7b06f0d168eaf5ee499a4c517b1a01bec67fd6df92d01d037dd9088e0d5b013dfa1839f9dee35bf74903c1af7204712bf4aa72412e071ac503 EBUILD tomcat-10.1.18-r1.ebuild 5424 BLAKE2B 90dbec17284bfbcb72c1e3ac69dd375300cbb4e4a255db4770dc507f1bef704c6cf48f65f8e21eba87da7a045e1ab60d0bfad60ead6e69c335b1087a1165a19a SHA512 0f768b8d86448da0ed6f60d9c9f23f865081e7247b29d428a702381ee5e608efd90a28d7dfc4ef4b749bd28940d3545e54de679c2734faaa5110736149a91432 +EBUILD tomcat-10.1.19.ebuild 5425 BLAKE2B a21566a895c39058829eb925d217513f3bef303214ff78772f748b91eee3a56c996c8d95b1cd32b847533b23d374ec3dda13fab13037b78d880395802a1fa301 SHA512 e6c7d2cfb729cb4625d7bdd7e5585640b4058058798dd33bf3822266b4a4cd8d90834de9c42e5e23181f1c99cc730a7c356dfe035fa84569ecb4933fb5ba51fe EBUILD tomcat-8.5.98-r1.ebuild 4671 BLAKE2B e5dffdfa78f9acde54d1a8556aeda728641dc43fb1d9cba88a4a22675a2c07a4ab03849751ec9271713c49b29298fe9e16e832708483a3c6c96b9ae4271b93c0 SHA512 bb63f37e9e3ae6f38512210263ca5ab3e5cd11a9e006693d646d99aca49b91518528c2f2cb3050f6fe82cdf86c07339f8670017d05c874b15f009b49780f43c9 +EBUILD tomcat-8.5.99.ebuild 4672 BLAKE2B 2566969061c769d801419ee6fcdb9f800c2ae661dde482a1adbe99d6635acd66ac0ec8ed9779d6e16e9741bc92bb388abd3de85716a0d3cabf12dec8a8bc698e SHA512 c762b8e8002866db754cb53159c12e24f2009ded2f294792f6ada3959618962d594ebb0ca6bf8a0162b881eb268f2fe75ac3f973e95f06e34de0769ea5d26aaf EBUILD tomcat-9.0.85-r1.ebuild 5272 BLAKE2B 9b0d25a43fb603ac6e1971d82ec715f514715c7ea2190ecb4fe7044c69d150f170d0b1fd718143c2cec584eaf3f456779c81a0cc62410f775addc998df01d29f SHA512 2755ba786e15710bcd17d709ec6b7a6c880ad4068734962606fa1f67bd831aa643366397e1dad73b286fcde98c65e866530563865a0e1c078198c8017895c2aa +EBUILD tomcat-9.0.86.ebuild 5273 BLAKE2B 726acb29f70cd0d2454f5c1e7d54b2ab0b1295ce4e1d171007cc103b451c6a5b1621304b8342753035946bd7f3e78b6033da3241375f39931e84ac10e97e3552 SHA512 c9adf8a7a434641432e103ced405233688d040c865b1d4bf39107fa0ecbe7a513b443acd6ff20ed2d706591e81c6525395478af8d9793c8d358e09c28325e802 MISC metadata.xml 699 BLAKE2B 66aff1137e5d4ad92749176a5375c1c27c1e6cde936e05ce904d965eb71a985c421235917742d4065765e1ebf9f9e3faa51c3de109a9e5a169000b4263c3cd97 SHA512 b50874d1e741835bf8cb839517241465018254eba1ddb0e691f2b5b188eca97dd27394c29d2082654049d9ee0898c1e5e4e625666cf8abe029b8e6085122d9a0 diff --git a/www-servers/tomcat/tomcat-10.1.19.ebuild b/www-servers/tomcat/tomcat-10.1.19.ebuild new file mode 100644 index 000000000000..28598e1cd7ef --- /dev/null +++ b/www-servers/tomcat/tomcat-10.1.19.ebuild @@ -0,0 +1,181 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" + +inherit java-pkg-2 java-ant-2 prefix verify-sig + +MY_P="apache-${PN}-${PV}-src" + +# Currently we bundle binary versions of bnd.jar +# See bugs #203080 and #676116 +BND_VERSION="7.0.0" +BND="biz.aQute.bnd-${BND_VERSION}.jar" + +DESCRIPTION="Tomcat Servlet-6.0/JSP-3.1/EL-5.0/WebSocket-2.1/JASPIC-3.0 Container" +HOMEPAGE="https://tomcat.apache.org/" +SRC_URI="mirror://apache/${PN}/tomcat-10/v${PV}/src/${MY_P}.tar.gz + https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bnd/${BND_VERSION}/${BND} + verify-sig? ( https://downloads.apache.org/tomcat/tomcat-$(ver_cut 1)/v${PV}/src/apache-tomcat-${PV}-src.tar.gz.asc )" + +LICENSE="Apache-2.0" +SLOT="10.1" +KEYWORDS="~amd64 ~arm ~arm64 ~amd64-linux" +IUSE="extra-webapps" + +RESTRICT="test" # can we run them on a production system? + +ECJ_SLOT="4.26" + +COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT} + dev-java/jax-rpc-api:0 + >=dev-java/jakartaee-migration-1.0.5:0 + dev-java/wsdl4j:0" +RDEPEND="${COMMON_DEP} + acct-group/tomcat + acct-user/tomcat + >=virtual/jre-11:*" +DEPEND="${COMMON_DEP} + app-admin/pwgen + dev-java/ant-core + >=virtual/jdk-17:* + test? ( + dev-java/ant-junit:0 + dev-java/easymock:3.2 + )" + +BDEPEND="verify-sig? ( ~sec-keys/openpgp-keys-apache-tomcat-${PV}:${PV} )" +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/tomcat-${PV}.apache.org.asc" + +PATCHES=( "${FILESDIR}/${PN}-10.1.6-build.xml.patch" ) + +S=${WORKDIR}/${MY_P} + +BND_HOME="${S}/tomcat-build-libs/bnd" +BND_JAR="${BND_HOME}/${BND}" + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.asc} + fi + + unpack ${MY_P}.tar.gz + + mkdir -p "${BND_HOME}" || die "Failed to create dir" + ln -s "${DISTDIR}/${BND}" "${BND_HOME}/" || die "Failed to symlink bnd-*.jar" +} + +src_prepare() { + default + + find -name '*.jar' -type f -delete -print || die + + local vm_version="$(java-config -g PROVIDES_VERSION)" + + # For use of catalina.sh in netbeans + sed -i -e "/^# ----- Execute The Requested Command/ a\ + CLASSPATH=\`java-config --with-dependencies --classpath ${PN}-${SLOT}\`" \ + bin/catalina.sh || die + + java-pkg-2_src_prepare +} + +JAVA_ANT_REWRITE_CLASSPATH="true" + +EANT_BUILD_TARGET="deploy" +EANT_GENTOO_CLASSPATH="eclipse-ecj-${ECJ_SLOT},jakartaee-migration,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}" + +# revisions of the scripts +IM_REV="-r2" +INIT_REV="-r1" + +src_configure() { + java-ant-2_src_configure + + eapply "${FILESDIR}/${PN}-9.0.37-fix-build-rewrite.patch" +} + +src_compile() { + EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only ant-core ant.jar):$(java-pkg_getjars --build-only jax-rpc-api)" + LC_ALL=C 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() { + einfo "Ebuilds of Tomcat support running multiple instances. To manage Tomcat instances, run:" + einfo " ${EPREFIX}/usr/share/${PN}-${SLOT}/gentoo/tomcat-instance-manager.bash --help" + + ewarn "Please note that since version 10 the primary package for all implemented APIs" + ewarn "has changed from javax.* to jakarta.*. This will almost certainly require code" + ewarn "changes to enable applications to migrate from Tomcat 9 and earlier to Tomcat 10 and later." + + 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.99.ebuild b/www-servers/tomcat/tomcat-8.5.99.ebuild new file mode 100644 index 000000000000..73bd9ff31cc1 --- /dev/null +++ b/www-servers/tomcat/tomcat-8.5.99.ebuild @@ -0,0 +1,157 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" + +inherit java-pkg-2 java-ant-2 prefix verify-sig + +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 + verify-sig? ( https://downloads.apache.org/tomcat/tomcat-$(ver_cut 1)/v${PV}/src/apache-tomcat-${PV}-src.tar.gz.asc )" + +LICENSE="Apache-2.0" +SLOT="8.5" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="extra-webapps" + +RESTRICT="test" # can we run them on a production system? + +ECJ_SLOT="4.15" + +# we don't use ~ for el and jsp because the same implementation +# is also present in tomcat 9 and it would be impossible to install +# both tomcat 8.5 and 9 at the same time +COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT}" +RDEPEND="${COMMON_DEP} + acct-group/tomcat + acct-user/tomcat + >=virtual/jre-1.8:*" +DEPEND="${COMMON_DEP} + app-admin/pwgen + dev-java/ant-core + >=virtual/jdk-11:* + doc? ( + dev-java/jax-rpc-api:0 + dev-java/wsdl4j:0 + ) + test? ( + >=dev-java/ant-junit-1.9:0 + dev-java/easymock:3.2 + )" + +BDEPEND="verify-sig? ( ~sec-keys/openpgp-keys-apache-tomcat-${PV}:${PV} )" +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/tomcat-${PV}.apache.org.asc" + +PATCHES=( + "${FILESDIR}/${PN}-8.5.86-build.xml.patch" + "${FILESDIR}/${PN}-8.5.95-min.java.patch" +) + +S=${WORKDIR}/${MY_P} + +src_prepare() { + default + + find -name '*.jar' -type f -delete -print || die + + # For use of catalina.sh in netbeans + sed -i -e "/^# ----- Execute The Requested Command/ a\ + CLASSPATH=\`java-config --with-dependencies --classpath ${PN}-${SLOT}\`" \ + bin/catalina.sh || die + + java-pkg-2_src_prepare +} + +JAVA_ANT_REWRITE_CLASSPATH="true" + +EANT_BUILD_TARGET="deploy" +EANT_GENTOO_CLASSPATH="eclipse-ecj-${ECJ_SLOT}" +EANT_TEST_GENTOO_CLASSPATH="easymock-3.2" +EANT_GENTOO_CLASSPATH_EXTRA="${S}/output/classes" +EANT_NEEDS_TOOLS="true" +EANT_EXTRA_ARGS="-Dversion=${PV}-gentoo -Dversion.number=${PV} -Dcompile.debug=false -Dexecute.validate=false" + +# revisions of the scripts +IM_REV="-r2" +INIT_REV="-r1" + +src_compile() { + EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only ant-core ant.jar)" + use doc && EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjars --build-only jax-rpc-api):$(java-pkg_getjars --build-only wsdl4j)" + LC_ALL=C 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() { + einfo "Ebuilds of Tomcat support running multiple instances. To manage Tomcat instances, run:" + einfo " ${EPREFIX}/usr/share/${PN}-${SLOT}/gentoo/tomcat-instance-manager.bash --help" + + 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.86.ebuild b/www-servers/tomcat/tomcat-9.0.86.ebuild new file mode 100644 index 000000000000..182ffc6d3773 --- /dev/null +++ b/www-servers/tomcat/tomcat-9.0.86.ebuild @@ -0,0 +1,180 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" + +inherit java-pkg-2 java-ant-2 prefix verify-sig + +MY_P="apache-${PN}-${PV}-src" + +# Currently we bundle binary versions of bnd.jar +# See bugs #203080 and #676116 +BND_VERSION="7.0.0" +BND="biz.aQute.bnd-${BND_VERSION}.jar" + +DESCRIPTION="Tomcat Servlet-4.0/JSP-2.3/EL-3.0/WebSocket-1.1/JASPIC-1.1 Container" +HOMEPAGE="https://tomcat.apache.org/" +SRC_URI="mirror://apache/${PN}/tomcat-9/v${PV}/src/${MY_P}.tar.gz + https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bnd/${BND_VERSION}/${BND} + verify-sig? ( https://downloads.apache.org/tomcat/tomcat-$(ver_cut 1)/v${PV}/src/apache-tomcat-${PV}-src.tar.gz.asc )" + +LICENSE="Apache-2.0" +SLOT="9" +KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux" +IUSE="extra-webapps" + +RESTRICT="test" # can we run them on a production system? + +# though it could work with 4.22 and upstream uses 4.20, +# we still use 4.15 because 4.20+ is currently built with java 11 +# and it would force Tomcat to use at least java 11 too +ECJ_SLOT="4.15" + +COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT} + dev-java/jax-rpc-api:0 + dev-java/wsdl4j:0" +RDEPEND="${COMMON_DEP} + acct-group/tomcat + acct-user/tomcat + >=virtual/jre-1.8:*" +DEPEND="${COMMON_DEP} + app-admin/pwgen + dev-java/ant-core + >=virtual/jdk-17:* + test? ( + dev-java/ant-junit + dev-java/easymock:3.2 + )" + +BDEPEND="verify-sig? ( ~sec-keys/openpgp-keys-apache-tomcat-${PV}:${PV} )" +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/tomcat-${PV}.apache.org.asc" + +S=${WORKDIR}/${MY_P} + +PATCHES=( + "${FILESDIR}/${PN}-9.0.50-insufficient-ecj.patch" + "${FILESDIR}/${PN}-9.0.72-build.xml.patch" +) + +BND_HOME="${S}/tomcat-build-libs/bnd" +BND_JAR="${BND_HOME}/${BND}" + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.gz{,.asc} + fi + + unpack ${MY_P}.tar.gz + + mkdir -p "${BND_HOME}" || die "Failed to create dir" + ln -s "${DISTDIR}/${BND}" "${BND_HOME}/" || die "Failed to symlink bnd-*.jar" +} + +src_prepare() { + default + + find -name '*.jar' -type f -delete -print || die + + # For use of catalina.sh in netbeans + sed -i -e "/^# ----- Execute The Requested Command/ a\ + CLASSPATH=\`java-config --with-dependencies --classpath ${PN}-${SLOT}\`" \ + bin/catalina.sh || die + + java-pkg-2_src_prepare +} + +JAVA_ANT_REWRITE_CLASSPATH="true" + +EANT_BUILD_TARGET="deploy" +EANT_GENTOO_CLASSPATH="eclipse-ecj-${ECJ_SLOT},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}" + +# revisions of the scripts +IM_REV="-r2" +INIT_REV="-r1" + +src_configure() { + java-ant-2_src_configure + + eapply "${FILESDIR}/${PN}-9.0.37-fix-build-rewrite.patch" +} + +src_compile() { + EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only ant-core ant.jar):$(java-pkg_getjars --build-only jax-rpc-api)" + LC_ALL=C 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() { + einfo "Ebuilds of Tomcat support running multiple instances. To manage Tomcat instances, run:" + einfo " ${EPREFIX}/usr/share/${PN}-${SLOT}/gentoo/tomcat-instance-manager.bash --help" + + 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." +} |