From 0633cbf742885ea8816a84a294fd75a3dad9cbdf Mon Sep 17 00:00:00 2001 From: "Volkmar W. Pogatzki" Date: Mon, 22 Jun 2026 15:32:12 +0200 Subject: [PATCH 1/7] dev-java/jakartaee-migration: add 1.0.12 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Volkmar W. Pogatzki Part-of: https://codeberg.org/gentoo/gentoo/pulls/1220 Signed-off-by: Miroslav Šulc --- dev-java/jakartaee-migration/Manifest | 2 + .../jakartaee-migration-1.0.12.ebuild | 76 +++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 dev-java/jakartaee-migration/jakartaee-migration-1.0.12.ebuild diff --git a/dev-java/jakartaee-migration/Manifest b/dev-java/jakartaee-migration/Manifest index f6ed186f59676..cc2fb8a27802c 100644 --- a/dev-java/jakartaee-migration/Manifest +++ b/dev-java/jakartaee-migration/Manifest @@ -1,2 +1,4 @@ DIST jakartaee-migration-1.0.10-src.tar.gz 53924 BLAKE2B 263144d2401cd4444d4afbaa0ecba7f9009a7f2312241882dc035db80be33e51f6e90d5bd7c6daa3e274008a5b617fa5169144f645d4d6af399b4100c75ca86a SHA512 88132a7ebca68df60fa4ba2835f6e2ec57b674c38152f83d124380d53fc214e505f2d6696682acc41dc742bad1220956e1a9b063bf7c337042076af45bf69579 DIST jakartaee-migration-1.0.10-src.tar.gz.asc 833 BLAKE2B 330f1596ad1ef3337747a617c7a1f951d77a16d5fa486b4ae2b50ad2ecf4068e79837728f372efbb65f7ee88575bac90f02c9234ebba795c557ce53d9445dc40 SHA512 e41fe2d920824bc6db93bacb5c5a182de6b47fe0504a07e9f28b162382e30e7bb350d1c031065ea7041228089aa56870023fdb289a5a99fccbb97422e4e73362 +DIST jakartaee-migration-1.0.12-src.tar.gz 54175 BLAKE2B 5db536218b3a151dd617d18203c4cb7d6baacf029e286042809fdec6cbfa2e6cb04911ce2defd9ab30fe98abbebb94d090421ef53e5e928ac8a6864eafbee01a SHA512 ff44ca1209a78b35201c71d241fc92e31a80c63d713b791fd2ef1c4977774a5eb1b71d469db5d1c8673085ecea6b3638688ebd316b86fc637002e69542885ce7 +DIST jakartaee-migration-1.0.12-src.tar.gz.asc 833 BLAKE2B 48e3b2bb54ca26ba879779814f0126e2b7c451c8d4370e556a695e96310bd81c2e904fcd7d04327a86b7be59570a3337fbeeee94b6c9f76a7dc535f746802852 SHA512 a23d663043e995112d1c67be92990247ad35c63e8ba2348f4876014bbfbe244ab5830f7aafb77cd157383c7b482539ef7cbba1ee7623bd53d31475063bef6533 diff --git a/dev-java/jakartaee-migration/jakartaee-migration-1.0.12.ebuild b/dev-java/jakartaee-migration/jakartaee-migration-1.0.12.ebuild new file mode 100644 index 0000000000000..944980e10a928 --- /dev/null +++ b/dev-java/jakartaee-migration/jakartaee-migration-1.0.12.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=9 + +JAVA_PKG_IUSE="doc source test" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple verify-sig + +DESCRIPTION="Apache Tomcat tool for migration from Java EE 8 to Jakarta EE 9" +HOMEPAGE="https://tomcat.apache.org" +SRC_URI="mirror://apache/tomcat/${PN}/v${PV}/source/${P}-src.tar.gz + verify-sig? ( mirror://apache/tomcat/${PN}/v${PV}/source/${P}-src.tar.gz.asc )" +S="${WORKDIR}/${P}" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +BDEPEND="verify-sig? ( ~sec-keys/openpgp-keys-apache-tomcat-11 )" +CP_DEPEND=" + >=dev-java/ant-1.10.15:0 + >=dev-java/bcel-6.11.0:0 + >=dev-java/commons-compress-1.28.0:0 + >=dev-java/commons-io-2.21.0:0 + >=dev-java/eclipse-osgi-4.31:0 +" + +# we need jdk-11 just for some tests as those need stuff from newer jdk, +# otherwise the package as of version 1.0.7 compiles fine with jdk 1.8 +# with tests disabled +# see bug https://bugs.gentoo.org/910499 + +DEPEND=" + ${CP_DEPEND} + >=virtual/jdk-11:* +" + +RDEPEND=" + ${CP_DEPEND} + >=virtual/jre-1.8:* +" + +JAVA_MAIN_CLASS="org.apache.tomcat.jakartaee.MigrationCLI" +JAVA_RESOURCE_DIRS="src/main/resources" +JAVA_SRC_DIR="src/main/java" +JAVA_TEST_EXCLUDES=( org.apache.tomcat.jakartaee.TesterConstants ) +JAVA_TEST_GENTOO_CLASSPATH="junit-4" +JAVA_TEST_RESOURCE_DIRS="src/test/resources" +JAVA_TEST_SRC_DIR="src/test/java" +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/tomcat-11.apache.org.asc" + +src_prepare() { + java-pkg-2_src_prepare + sed -i "s/\${project.version}/${PV}/g" src/main/resources/info.properties +} + +src_test() { + # we need to create jar files for the tests the same way as it's done using pom.xml + local implementation_version=$(grep Implementation-Version pom.xml | grep -oE "[0-9]+\.[0-9]+\.[0-9]+") + mkdir -p generated-test/META-INF || die + pushd generated-test || die + echo "Implementation-Version: ${implementation_version}" > META-INF/MANIFEST.MF + ejavac -d . -encoding ${JAVA_ENCODING} $(find "${S}/${JAVA_TEST_SRC_DIR}" -name CommonGatewayInterface.java) || die + jar cfm cgi-api.jar META-INF/MANIFEST.MF $(find -name CommonGatewayInterface.class) || die + ejavac -d . -encoding ${JAVA_ENCODING} $(find "${S}/${JAVA_TEST_SRC_DIR}" -name HelloCGI.java) || die + jar cfm hellocgi.jar META-INF/MANIFEST.MF $(find -name HelloCGI.class) || die + for enc in rsa dsa ec; do + cp hellocgi.jar hellocgi-signed-${enc}.jar || die + jarsigner -keystore "${S}/src/test/resources/keystore.p12" -storepass apache hellocgi-signed-${enc}.jar ${enc} || die + done + popd + + java-pkg-simple_src_test +} From 59502ad283a02ba22fd56724bea3a2d53a17e28f Mon Sep 17 00:00:00 2001 From: "Volkmar W. Pogatzki" Date: Mon, 22 Jun 2026 15:13:44 +0200 Subject: [PATCH 2/7] www-servers/tomcat: add 11.0.23 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Volkmar W. Pogatzki Part-of: https://codeberg.org/gentoo/gentoo/pulls/1220 Signed-off-by: Miroslav Šulc --- www-servers/tomcat/Manifest | 2 + www-servers/tomcat/tomcat-11.0.23.ebuild | 187 +++++++++++++++++++++++ 2 files changed, 189 insertions(+) create mode 100644 www-servers/tomcat/tomcat-11.0.23.ebuild diff --git a/www-servers/tomcat/Manifest b/www-servers/tomcat/Manifest index 3df7f3cb351d8..479582dd32997 100644 --- a/www-servers/tomcat/Manifest +++ b/www-servers/tomcat/Manifest @@ -2,5 +2,7 @@ DIST apache-tomcat-10.1.55-src.tar.gz 7362901 BLAKE2B 2b2850347b576ad4473e0786e1 DIST apache-tomcat-10.1.55-src.tar.gz.asc 833 BLAKE2B fb6b6cc647888d08fe9b29e07a9a8e4fe64f0ff68e813e957c70358415d20af2765e1cbc7531d157a89040ab09a456e537c03b737a40b0a51e447221483ccc8c SHA512 d6175f65b7e4edd267b47afcc14934f26e5a045d61f74f86f0c141a4a7616a4d1d747a55ef11f5de1f0c7bb5fae988c1314eebc3709a507f9ea7f25e6a2d4af4 DIST apache-tomcat-11.0.22-src.tar.gz 7289785 BLAKE2B a8417b0f6abb1f3f41bd6441d53f8701c8de1bbb525a19706bd270dddf1732c8e570adc086a5b152558ef32893018e6011c9c1c73fe808ae1e4c4823067e0161 SHA512 35867e670c89d9ead1a7e4545b26f708849de3c7b56f21e1f4c124fd83b3d3ec37d65e42dcf2a0adeda260436811de6f6b27199ff747ef099a62e11eab1f7cbc DIST apache-tomcat-11.0.22-src.tar.gz.asc 849 BLAKE2B bb6b08f1ed49391dcfbac75a57c7f91909b3ac48caed808808b06f9ab4715629fc84f15e80bd2c99d194c3992bdf5d9b7e7bacabd842bfdc8f6464f6685220ae SHA512 a1619100695da4f6a5c0fc62d2243619d5c11b0535ea557aea18a79fa7471a12ba16512745abbd43b552f93fdb1176c3ecd1541b2fa04710c10ebd069530d4e2 +DIST apache-tomcat-11.0.23-src.tar.gz 7524074 BLAKE2B 99433677cb3466517be0264d3a6b6fb742e04874ff2b86ec4e9558913707f35a41c1da5d1e15430295e7469de7a5ba5eef9f33d53bf5b21dcf4a86313e2993c8 SHA512 781eec414f306e57c35047e0db8be02df6813a6661e22b01928777b633f85938f61cd228b32e8b682bd2b581d9e107c18ab6529a86ec74bf7dd7f0a8b1d5fa8d +DIST apache-tomcat-11.0.23-src.tar.gz.asc 833 BLAKE2B f744a66dfdf661a7e1bdf66ebc72748a370c35d7d0f05e5092ba5a303758fc469819fa748358009a6008d19e0645ccde0f84e53b1df74efd761d9a3da6b0a8dd SHA512 2093673404527fcf7fb42ecf3f8a8370ae700ae002733a8a86006bb13b6a71bef0978c2a668795f9fc833f80f7b4e19e6b32fca4a5489c09bfa0b3e9b6d4dea7 DIST apache-tomcat-9.0.118-src.tar.gz 7506319 BLAKE2B f4a829a7479e21137fba9dc5f15f09ebfda3547d1b2c716dc2bddd5d91cb0002450d22d439019e6789d708f61aaa66f50153b3c4b25c2c153440cd70969f8b55 SHA512 021bb2fffce2a3ca163ddf01fd1cf6d5c5c5799bff773af32b2f767e40d2d5825ab295701e4c7cef947d98dea2f8d17d47b599237c70b55622aafbb054cefa4c DIST apache-tomcat-9.0.118-src.tar.gz.asc 833 BLAKE2B 1e877c130402ceabffc3aa96589a524439a97299d82ba8bd16c9d6782fec2513c1937c7dfcf62f16b1fe3d039f44d131486f137b6156f92b1e9ff2df27cc6e50 SHA512 6f08e9156760e01328411a1526b5d113793302820de1a7efaea235f2f0a05c426e17352dec62ae33627ff00633ad494597d119a28f212aac20357a04a4081e38 diff --git a/www-servers/tomcat/tomcat-11.0.23.ebuild b/www-servers/tomcat/tomcat-11.0.23.ebuild new file mode 100644 index 0000000000000..79c7781ebb334 --- /dev/null +++ b/www-servers/tomcat/tomcat-11.0.23.ebuild @@ -0,0 +1,187 @@ +# Copyright 1999-2026 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 prefix verify-sig + +MY_P="apache-${P}-src" + +DESCRIPTION="Tomcat Servlet-6.1/JSP-4.0/EL-6.0/WebSocket-2.2/JASPIC-3.1 Container" +HOMEPAGE="https://tomcat.apache.org/" +SRC_URI="mirror://apache/${PN}/tomcat-$(ver_cut 1)/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="11" + +KEYWORDS="~amd64 ~arm64" +IUSE="extra-webapps" + +RESTRICT="test" # can we run them on a production system? + +BND_MIN="7.2.3" +ECJ_SLOT="4.39" + +COMMON_DEP=" + >=dev-java/ant-1.10.15-r1:0 + >=dev-java/bnd-annotation-${BND_MIN}:0 + dev-java/eclipse-ecj:${ECJ_SLOT} + dev-java/jax-rpc-api:0 + >=dev-java/jakartaee-migration-1.0.12:0 + >=dev-java/wsdl4j-1.6.3-r1:0" + +# jre-17:* because of line 1081, build.xml +# +RDEPEND=" + ${COMMON_DEP} + acct-group/tomcat + acct-user/tomcat + >=virtual/jre-17:*" +DEPEND=" + ${COMMON_DEP} + app-admin/pwgen + >=dev-java/bnd-${BND_MIN}:0 + >=dev-java/bnd-ant-${BND_MIN}:0 + >=dev-java/bnd-util-${BND_MIN}:0 + >=dev-java/bndlib-${BND_MIN}:0 + >=dev-java/libg-${BND_MIN}:0 + dev-java/osgi-cmpn:8 + dev-java/osgi-core:0 + dev-java/slf4j-api:0 + || ( virtual/jdk:21 virtual/jdk:17 ) + test? ( + >=dev-java/ant-1.10.15-r1:0[junit] + dev-java/easymock:3.2 + )" + +BDEPEND="verify-sig? ( ~sec-keys/openpgp-keys-apache-tomcat-$(ver_cut 1) )" +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/tomcat-$(ver_cut 1).apache.org.asc" + +PATCHES=( + "${FILESDIR}/tomcat-10.1.20-do-not-copy.patch" + "${FILESDIR}/tomcat-11.0.0-offline.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 + compile.debug=false + execute.download=false + exist=true # skip target="downloadfile-2" + version=${PV}-gentoo + version.number=${PV} + 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 --build-only jax-rpc-api) + jdt.jar=$(java-pkg_getjars eclipse-ecj-${ECJ_SLOT}) + libg.jar=$(java-pkg_getjars --build-only libg) + migration-lib.jar=$(java-pkg_getjars jakartaee-migration) + 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 --build-only wsdl4j) + EOF + if use test; then + echo "easymock.jar=$(java-pkg_getjars --build-only easymock-3.2)" \ + >> build.properties || die "easymock" + fi + + # 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 +} + +# revisions of the scripts +IM_REV="-r2" +INIT_REV="-r1" + +src_compile() { + LC_ALL=C eant + use doc && LC_ALL=C eant javadoc +} + +src_test() { + eant 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" +} From 15f537c9b7582c167005314828675761f469cc35 Mon Sep 17 00:00:00 2001 From: "Volkmar W. Pogatzki" Date: Mon, 22 Jun 2026 15:22:31 +0200 Subject: [PATCH 3/7] www-servers/tomcat: minor style change MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Volkmar W. Pogatzki Part-of: https://codeberg.org/gentoo/gentoo/pulls/1220 Signed-off-by: Miroslav Šulc --- www-servers/tomcat/tomcat-11.0.23.ebuild | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/www-servers/tomcat/tomcat-11.0.23.ebuild b/www-servers/tomcat/tomcat-11.0.23.ebuild index 79c7781ebb334..e62a7b4006d3b 100644 --- a/www-servers/tomcat/tomcat-11.0.23.ebuild +++ b/www-servers/tomcat/tomcat-11.0.23.ebuild @@ -109,8 +109,7 @@ IM_REV="-r2" INIT_REV="-r1" src_compile() { - LC_ALL=C eant - use doc && LC_ALL=C eant javadoc + LC_ALL=C eant deploy $(usev doc javadoc) } src_test() { From c28c2af5555c05178f3f7b82d8b245937ae45afe Mon Sep 17 00:00:00 2001 From: "Volkmar W. Pogatzki" Date: Tue, 23 Jun 2026 11:19:28 +0200 Subject: [PATCH 4/7] www-servers/tomcat: add 10.1.56 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Volkmar W. Pogatzki Part-of: https://codeberg.org/gentoo/gentoo/pulls/1220 Signed-off-by: Miroslav Šulc --- www-servers/tomcat/Manifest | 2 + www-servers/tomcat/tomcat-10.1.56.ebuild | 186 +++++++++++++++++++++++ 2 files changed, 188 insertions(+) create mode 100644 www-servers/tomcat/tomcat-10.1.56.ebuild diff --git a/www-servers/tomcat/Manifest b/www-servers/tomcat/Manifest index 479582dd32997..05986734575d7 100644 --- a/www-servers/tomcat/Manifest +++ b/www-servers/tomcat/Manifest @@ -1,5 +1,7 @@ DIST apache-tomcat-10.1.55-src.tar.gz 7362901 BLAKE2B 2b2850347b576ad4473e0786e1b3abe0dbde702db0dceeb393500e03108669a4fd4141900ed1d610a7779917a60a4c20fc1292d60fc9400eaf79afe79a936ad5 SHA512 baa9f2ddd836725fef3d56542e67307c886353d340e0c3c2ccfaa0e1bb7eafc7a729624d2ba8bc03dd631367192b21afa9a825033d82d7a2fe5e54a5e9e3a9de DIST apache-tomcat-10.1.55-src.tar.gz.asc 833 BLAKE2B fb6b6cc647888d08fe9b29e07a9a8e4fe64f0ff68e813e957c70358415d20af2765e1cbc7531d157a89040ab09a456e537c03b737a40b0a51e447221483ccc8c SHA512 d6175f65b7e4edd267b47afcc14934f26e5a045d61f74f86f0c141a4a7616a4d1d747a55ef11f5de1f0c7bb5fae988c1314eebc3709a507f9ea7f25e6a2d4af4 +DIST apache-tomcat-10.1.56-src.tar.gz 7595358 BLAKE2B c17e691509728058b381088b54c51341a76f40e671d0c6fcdc72217fcf692a73075b00adeb787ef7fafb7e5bb58a8ca5ffc4cea98fbb45c116b7ed00738f7e81 SHA512 cbbb81ffeea3c4b12f6b3a8bfe14ec8c0e12637a9c4296b5bcaf463371b64c2a4c9539a4cde42ebb4711925e666de7f9ce9d0031bfda3c113f5f976a8542971e +DIST apache-tomcat-10.1.56-src.tar.gz.asc 833 BLAKE2B 3c0fdd238476879b210ae1df8da4540ccc171c964aa3ee2bbe55afb0e6fc427bc4d82fedf3636a82972b05c5db24e593239c7d9ba0b69d172ff78f788eea6899 SHA512 658146304215b125b543773fdc2146a9f8a5f3a83626b0370f225fef49b800e30db794f516940d605a1cf967571253c63a74f7b8f4959848d635388d121fc0dc DIST apache-tomcat-11.0.22-src.tar.gz 7289785 BLAKE2B a8417b0f6abb1f3f41bd6441d53f8701c8de1bbb525a19706bd270dddf1732c8e570adc086a5b152558ef32893018e6011c9c1c73fe808ae1e4c4823067e0161 SHA512 35867e670c89d9ead1a7e4545b26f708849de3c7b56f21e1f4c124fd83b3d3ec37d65e42dcf2a0adeda260436811de6f6b27199ff747ef099a62e11eab1f7cbc DIST apache-tomcat-11.0.22-src.tar.gz.asc 849 BLAKE2B bb6b08f1ed49391dcfbac75a57c7f91909b3ac48caed808808b06f9ab4715629fc84f15e80bd2c99d194c3992bdf5d9b7e7bacabd842bfdc8f6464f6685220ae SHA512 a1619100695da4f6a5c0fc62d2243619d5c11b0535ea557aea18a79fa7471a12ba16512745abbd43b552f93fdb1176c3ecd1541b2fa04710c10ebd069530d4e2 DIST apache-tomcat-11.0.23-src.tar.gz 7524074 BLAKE2B 99433677cb3466517be0264d3a6b6fb742e04874ff2b86ec4e9558913707f35a41c1da5d1e15430295e7469de7a5ba5eef9f33d53bf5b21dcf4a86313e2993c8 SHA512 781eec414f306e57c35047e0db8be02df6813a6661e22b01928777b633f85938f61cd228b32e8b682bd2b581d9e107c18ab6529a86ec74bf7dd7f0a8b1d5fa8d diff --git a/www-servers/tomcat/tomcat-10.1.56.ebuild b/www-servers/tomcat/tomcat-10.1.56.ebuild new file mode 100644 index 0000000000000..7c9277cc2f397 --- /dev/null +++ b/www-servers/tomcat/tomcat-10.1.56.ebuild @@ -0,0 +1,186 @@ +# Copyright 1999-2026 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 prefix verify-sig + +MY_P="apache-${P}-src" + +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 + 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="10.1" +KEYWORDS="~amd64 ~arm64" +IUSE="extra-webapps" + +RESTRICT="test" # can we run them on a production system? + +BND_MIN="7.2.3" +ECJ_SLOT="4.26" + +COMMON_DEP=" + >=dev-java/ant-1.10.15-r1:0 + >=dev-java/bnd-annotation-${BND_MIN}:0 + dev-java/eclipse-ecj:${ECJ_SLOT} + dev-java/jax-rpc-api:0 + >=dev-java/jakartaee-migration-1.0.10:0 + >=dev-java/wsdl4j-1.6.3-r1:0" + +# jre-17:* because of line 1081, build.xml +# +RDEPEND=" + ${COMMON_DEP} + acct-group/tomcat + acct-user/tomcat + >=virtual/jre-11:*" +DEPEND=" + ${COMMON_DEP} + app-admin/pwgen + >=dev-java/bnd-${BND_MIN}:0 + >=dev-java/bnd-ant-${BND_MIN}:0 + >=dev-java/bnd-util-${BND_MIN}:0 + >=dev-java/bndlib-${BND_MIN}:0 + >=dev-java/libg-${BND_MIN}:0 + dev-java/osgi-cmpn:8 + dev-java/osgi-core:0 + dev-java/slf4j-api:0 + || ( virtual/jdk:21 virtual/jdk:17 ) + test? ( + >=dev-java/ant-1.10.15:0[junit] + dev-java/easymock:3.2 + )" + +BDEPEND="verify-sig? ( ~sec-keys/openpgp-keys-apache-tomcat-$(ver_cut 1) )" +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/tomcat-$(ver_cut 1).apache.org.asc" + +PATCHES=( + "${FILESDIR}/tomcat-10.1.20-do-not-copy.patch" + "${FILESDIR}/tomcat-10.1.20-offline.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 + compile.debug=false + execute.download=false + exist=true # skip target="downloadfile-2" + version=${PV}-gentoo + version.number=${PV} + 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) + migration-lib.jar=$(java-pkg_getjars jakartaee-migration) + 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 + if use test; then + echo "easymock.jar=$(java-pkg_getjars --build-only easymock-3.2)" \ + >> build.properties || die "easymock" + fi + + # 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 +} + +# revisions of the scripts +IM_REV="-r2" +INIT_REV="-r1" + +src_compile() { + LC_ALL=C eant + use doc && LC_ALL=C eant javadoc +} + +src_test() { + eant 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" +} From 3f948303ea424a4e6d56da1b0acb1ce1bb7ad336 Mon Sep 17 00:00:00 2001 From: "Volkmar W. Pogatzki" Date: Tue, 23 Jun 2026 11:21:31 +0200 Subject: [PATCH 5/7] www-servers/tomcat: minor style change MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Volkmar W. Pogatzki Part-of: https://codeberg.org/gentoo/gentoo/pulls/1220 Signed-off-by: Miroslav Šulc --- www-servers/tomcat/tomcat-10.1.56.ebuild | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/www-servers/tomcat/tomcat-10.1.56.ebuild b/www-servers/tomcat/tomcat-10.1.56.ebuild index 7c9277cc2f397..8d8ef29df40bc 100644 --- a/www-servers/tomcat/tomcat-10.1.56.ebuild +++ b/www-servers/tomcat/tomcat-10.1.56.ebuild @@ -108,8 +108,7 @@ IM_REV="-r2" INIT_REV="-r1" src_compile() { - LC_ALL=C eant - use doc && LC_ALL=C eant javadoc + LC_ALL=C eant deploy $(usev doc javadoc) } src_test() { From c7ff05b6b8b55a16e49fd23a7365c3785f39199a Mon Sep 17 00:00:00 2001 From: "Volkmar W. Pogatzki" Date: Tue, 23 Jun 2026 11:23:07 +0200 Subject: [PATCH 6/7] www-servers/tomcat: add 9.0.119 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Volkmar W. Pogatzki Part-of: https://codeberg.org/gentoo/gentoo/pulls/1220 Signed-off-by: Miroslav Šulc --- www-servers/tomcat/Manifest | 2 + www-servers/tomcat/tomcat-9.0.119.ebuild | 182 +++++++++++++++++++++++ 2 files changed, 184 insertions(+) create mode 100644 www-servers/tomcat/tomcat-9.0.119.ebuild diff --git a/www-servers/tomcat/Manifest b/www-servers/tomcat/Manifest index 05986734575d7..21ac3b609eb22 100644 --- a/www-servers/tomcat/Manifest +++ b/www-servers/tomcat/Manifest @@ -8,3 +8,5 @@ DIST apache-tomcat-11.0.23-src.tar.gz 7524074 BLAKE2B 99433677cb3466517be0264d3a DIST apache-tomcat-11.0.23-src.tar.gz.asc 833 BLAKE2B f744a66dfdf661a7e1bdf66ebc72748a370c35d7d0f05e5092ba5a303758fc469819fa748358009a6008d19e0645ccde0f84e53b1df74efd761d9a3da6b0a8dd SHA512 2093673404527fcf7fb42ecf3f8a8370ae700ae002733a8a86006bb13b6a71bef0978c2a668795f9fc833f80f7b4e19e6b32fca4a5489c09bfa0b3e9b6d4dea7 DIST apache-tomcat-9.0.118-src.tar.gz 7506319 BLAKE2B f4a829a7479e21137fba9dc5f15f09ebfda3547d1b2c716dc2bddd5d91cb0002450d22d439019e6789d708f61aaa66f50153b3c4b25c2c153440cd70969f8b55 SHA512 021bb2fffce2a3ca163ddf01fd1cf6d5c5c5799bff773af32b2f767e40d2d5825ab295701e4c7cef947d98dea2f8d17d47b599237c70b55622aafbb054cefa4c DIST apache-tomcat-9.0.118-src.tar.gz.asc 833 BLAKE2B 1e877c130402ceabffc3aa96589a524439a97299d82ba8bd16c9d6782fec2513c1937c7dfcf62f16b1fe3d039f44d131486f137b6156f92b1e9ff2df27cc6e50 SHA512 6f08e9156760e01328411a1526b5d113793302820de1a7efaea235f2f0a05c426e17352dec62ae33627ff00633ad494597d119a28f212aac20357a04a4081e38 +DIST apache-tomcat-9.0.119-src.tar.gz 7711738 BLAKE2B 554a86637c5106ba735d22d26e65df829283f494bb8d71eab38f09ca85f686b659a7585eb734a2e617a9e8f225ae888d4b082a290ffa289c084790bbd785d145 SHA512 573fdc6336cefe11ad2bbcb2a0c32b2389e55e76715aa9db794e5159ba134aa6411205d0bf9d09af860603124f456006b9312a230f5f08fede3536a389442047 +DIST apache-tomcat-9.0.119-src.tar.gz.asc 833 BLAKE2B 96de5a25ae815fb00d4e6fd1b75dc633465f08bc9e314c01fca9084dc83561fe03f72d16b685f5558899f36b130bfa0f71552115bd470f35fe1ceca42c9b0a95 SHA512 59cb74300ce3a9d72c2919ff00d2e365dcdc5ba07859a2916c6c79e254a218def5568efa21aca5dc57ec4b53d43c35867b8f66a864b6ea77f01d73bdfbaa4223 diff --git a/www-servers/tomcat/tomcat-9.0.119.ebuild b/www-servers/tomcat/tomcat-9.0.119.ebuild new file mode 100644 index 0000000000000..1d5bb7fdeec5f --- /dev/null +++ b/www-servers/tomcat/tomcat-9.0.119.ebuild @@ -0,0 +1,182 @@ +# Copyright 1999-2026 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 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 ~arm64" +IUSE="extra-webapps" + +RESTRICT="test" # can we run them on a production system? + +BND_MIN="7.2.3" +ECJ_SLOT="4.20" + +COMMON_DEP=" + >=dev-java/bnd-annotation-${BND_MIN}:0 + dev-java/eclipse-ecj:${ECJ_SLOT} + dev-java/jax-rpc-api:0 + >=dev-java/wsdl4j-1.6.3-r1:0 +" + +RDEPEND=" + ${COMMON_DEP} + acct-group/tomcat + acct-user/tomcat + dev-java/javax-persistence-api:0 + >=virtual/jre-1.8:* +" + +DEPEND=" + ${COMMON_DEP} + app-admin/pwgen + >=dev-java/ant-1.10.15:0 + >=dev-java/bnd-${BND_MIN}:0 + >=dev-java/bnd-ant-${BND_MIN}:0 + >=dev-java/bnd-util-${BND_MIN}:0 + >=dev-java/bndlib-${BND_MIN}:0 + >=dev-java/libg-${BND_MIN}:0 + dev-java/osgi-cmpn:8 + dev-java/osgi-core:0 + dev-java/slf4j-api:0 + || ( virtual/jdk:21 virtual/jdk:17 ) + test? ( + >=dev-java/ant-1.10.15-r1:0[junit] + dev-java/easymock:3.2 + ) +" + +BDEPEND="verify-sig? ( ~sec-keys/openpgp-keys-apache-tomcat-$(ver_cut 1) )" +VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/tomcat-$(ver_cut 1).apache.org.asc" + +PATCHES=( + "${FILESDIR}/tomcat-9.0.104-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 + compile.debug=false + execute.download=false + exist=true # skip target="downloadfile-2" + version=${PV}-gentoo + version.number=${PV} + 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 + if use test; then + echo "easymock.jar=$(java-pkg_getjars --build-only easymock-3.2)" \ + >> build.properties || die "easymock" + fi + + # 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 +} + +# revisions of the scripts +IM_REV="-r2" +INIT_REV="-r1" + +src_compile() { + LC_ALL=C eant + use doc && LC_ALL=C eant javadoc +} + +src_test() { + eant 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" +} From 5278d0413d2e45967f91d263704f94077ca77a9a Mon Sep 17 00:00:00 2001 From: "Volkmar W. Pogatzki" Date: Tue, 23 Jun 2026 11:24:15 +0200 Subject: [PATCH 7/7] www-servers/tomcat: minor style change MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Volkmar W. Pogatzki Part-of: https://codeberg.org/gentoo/gentoo/pulls/1220 Merges: https://codeberg.org/gentoo/gentoo/pulls/1220 Signed-off-by: Miroslav Šulc --- www-servers/tomcat/tomcat-9.0.119.ebuild | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/www-servers/tomcat/tomcat-9.0.119.ebuild b/www-servers/tomcat/tomcat-9.0.119.ebuild index 1d5bb7fdeec5f..48c5fd4c1933e 100644 --- a/www-servers/tomcat/tomcat-9.0.119.ebuild +++ b/www-servers/tomcat/tomcat-9.0.119.ebuild @@ -108,8 +108,7 @@ IM_REV="-r2" INIT_REV="-r1" src_compile() { - LC_ALL=C eant - use doc && LC_ALL=C eant javadoc + LC_ALL=C eant deploy $(usev doc javadoc) } src_test() {