www-servers/tomcat: add 9.0.89

Signed-off-by: Volkmar W. Pogatzki <gentoo@pogatzki.net>
Closes: https://github.com/gentoo/gentoo/pull/36598
Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
This commit is contained in:
Volkmar W. Pogatzki
2024-05-08 10:01:35 +02:00
committed by Miroslav Šulc
parent f4c6b22971
commit 43162a4e55
2 changed files with 170 additions and 0 deletions

View File

@@ -10,4 +10,6 @@ DIST apache-tomcat-9.0.87-src.tar.gz 6332438 BLAKE2B 8f4a89d3f5770abe6f60ba0dcac
DIST apache-tomcat-9.0.87-src.tar.gz.asc 833 BLAKE2B 31c0266c0819a2daf6192f7feebfaf534bcdbfda72de169f8c63b017c2a686d191765ec0dd1cb1a63293d03e519747aa85281fd8041482aaf53f80f43db45875 SHA512 e765abdf4442c94422f752578d96d75b1242859bf5d19b8b08d2487f3531ef652eb4b2a4bd70eab5e5c5e83f07fb335b44dda1eec4ea9dacffbb9dfca5d145da
DIST apache-tomcat-9.0.88-src.tar.gz 6327717 BLAKE2B e79db61e3a8e368124ff151de2d25daf11a65fce9e93a38648d88c2dcdb99524fc34f84832cb02fe8aeda58a84bbc0273613db50c6f85a79d525f9a9227b740e SHA512 bcd568ad5ea4baee23eebd0566c672417c1c9005d6e97dd66edbad8fd82a8a1b5ff9a2867dd2bf5e04f2c056ea3debd67cbe4132e3ef8929ca30c4529b45e6ed
DIST apache-tomcat-9.0.88-src.tar.gz.asc 833 BLAKE2B 034081347d89b4e10b6296e0fbe8a17189ee27a71593848fdb70cc29a41291ca1edf21d4cc11d674c710505ae93d43a2f5dd08695d6dcfb4776843cc9970edf8 SHA512 608835f309d98099b0c852c553b9116611b44f389efbee85aaac27598546e584daab180acff3b05c00623456354e2719715d9ae24bd3940de39e7bbb48d3e018
DIST apache-tomcat-9.0.89-src.tar.gz 6319184 BLAKE2B a3c9539fe25a5ca87820214a7b7b8376c05383d940bfa19f7811f3fb5e90e2bd392f46c3f1a08a8949256bde5855bd479ac3754245dc953aa78e5f73e23f8849 SHA512 c2e8e45a98cd30764b507bb997c7cf1b8e337be9c6d1833bb5f916a5d86d96cb095f430884d0a248cdc3b510beb11e227cc160f8402ba5b2e3952399a44461d1
DIST apache-tomcat-9.0.89-src.tar.gz.asc 833 BLAKE2B 7629f94f4d036a6fc307bc6d157758eb5291a0b854bed20f0341ef0dffda8cff4722d4e47c2ad5f7e8d331ab0563532d53596859dcd990a75809f0432862f63a SHA512 5cf7dc5890f928acb43d2401e196166cfbd473236a27afde9fed621e0eefd3b9b59abe3ad8ac4e77086752e67afd0d60af9003e84f5cb2e66a58e6dee89b7366
DIST biz.aQute.bnd-7.0.0.jar 16567341 BLAKE2B 329b3b750e917ad513a1f767f63b96b1d0b10177a0f3c079bbf07e02aff77607e1f869bae09d09709d8cfef27cd802585e7f332e2a3e3f0ee1c31a4890e53fce SHA512 42b2e43f3e437c7b06f0d168eaf5ee499a4c517b1a01bec67fd6df92d01d037dd9088e0d5b013dfa1839f9dee35bf74903c1af7204712bf4aa72412e071ac503

View File

@@ -0,0 +1,168 @@
# 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-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
verify-sig? ( https://downloads.apache.org/tomcat/tomcat-$(ver_cut 1)/v${PV}/src/${MY_P}.tar.gz.asc )"
S=${WORKDIR}/${MY_P}
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?
ECJ_SLOT="4.20"
COMMON_DEP="dev-java/bnd-annotation:0
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-1.10.14-r3:0
dev-java/bnd-ant:0
dev-java/bnd-util:0
dev-java/bndlib:0
dev-java/libg:0
dev-java/osgi-cmpn:8
dev-java/osgi-core:0
dev-java/slf4j-api:0
>=virtual/jdk-17:*
test? (
>=dev-java/ant-1.10.14-r3:0[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"
PATCHES=(
"${FILESDIR}/tomcat-9.0.87-build.xml.patch"
"${FILESDIR}/tomcat-9.0.87-gentoo-bnd.patch"
)
src_prepare() {
default #780585
java-pkg-2_src_prepare
java-pkg_clean
cat > build.properties <<-EOF || die
execute.download=false
exist=true # skip target="downloadfile-2"
ant.jar=$(java-pkg_getjar --build-only ant ant.jar)
bnd-annotation.jar=$(java-pkg_getjars bnd-annotation)
bnd-ant.jar=$(java-pkg_getjars --build-only bnd-ant)
bnd-util.jar=$(java-pkg_getjars --build-only bnd-util)
bnd.jar=$(java-pkg_getjars --build-only bnd)
bndlib.jar=$(java-pkg_getjars --build-only bndlib)
jaxrpc-lib.jar=$(java-pkg_getjars jax-rpc-api)
jdt.jar=$(java-pkg_getjars eclipse-ecj-${ECJ_SLOT})
libg.jar=$(java-pkg_getjars --build-only libg)
osgi-cmpn.jar=$(java-pkg_getjars --build-only osgi-cmpn-8)
osgi-core.jar=$(java-pkg_getjars --build-only osgi-core)
slf4j-api.jar=$(java-pkg_getjars --build-only slf4j-api)
wsdl4j-lib.jar=$(java-pkg_getjars wsdl4j)
EOF
# 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
}
EANT_BUILD_TARGET="deploy"
EANT_TEST_GENTOO_CLASSPATH="easymock-3.2"
EANT_GENTOO_CLASSPATH_EXTRA="${S}/output/classes"
EANT_EXTRA_ARGS="-Dversion=${PV}-gentoo -Dversion.number=${PV} -Dcompile.debug=false"
# revisions of the scripts
IM_REV="-r2"
INIT_REV="-r1"
src_compile() {
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"
}