Gentoo Archives: gentoo-commits

From: "Miroslav Šulc" <fordfrog@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: www-servers/tomcat/
Date: Thu, 27 Feb 2020 22:36:03
Message-Id: 1582842951.2d76de2feca16fd5f931cd2ddd502524ba914d7e.fordfrog@gentoo
1 commit: 2d76de2feca16fd5f931cd2ddd502524ba914d7e
2 Author: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
3 AuthorDate: Thu Feb 27 22:35:37 2020 +0000
4 Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
5 CommitDate: Thu Feb 27 22:35:51 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d76de2f
7
8 www-servers/tomcat: bump to 9.0.31
9
10 Package-Manager: Portage-2.3.89, Repoman-2.3.20
11 Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
12
13 www-servers/tomcat/Manifest | 1 +
14 www-servers/tomcat/tomcat-9.0.31.ebuild | 181 ++++++++++++++++++++++++++++++++
15 2 files changed, 182 insertions(+)
16
17 diff --git a/www-servers/tomcat/Manifest b/www-servers/tomcat/Manifest
18 index b05144c0369..347df409317 100644
19 --- a/www-servers/tomcat/Manifest
20 +++ b/www-servers/tomcat/Manifest
21 @@ -4,5 +4,6 @@ DIST apache-tomcat-7.0.99-src.tar.gz 5242549 BLAKE2B e24933364bae6ddd2b7aeec342f
22 DIST apache-tomcat-8.5.47-src.tar.gz 5607118 BLAKE2B 3c326056f674032424d298c7581243a24dd01fae39b1ce7069b60e1bcf3d825de954164f643e887618c43c87d691bc41f942e73bf86b254b4c7dca9c68ce7cce SHA512 1513fdaf7751ee263d878cdfc05329bc4ee50e2f3aeea68e1d173a5f4d555ec59a43050222f013758f704967730dd25a64337cf1ba4365ab53b8730af87b4051
23 DIST apache-tomcat-8.5.51-src.tar.gz 5661227 BLAKE2B 711de5678903941a5261693972906f2d0fca2c9d3219e62d3186e5d71a2e3cb4da0a5028e62790a26dad2d244246c2f41c74f18e17d52ec0af070f0d5842ca3f SHA512 8529d2e7d83a863fe88ed4ee8ec29b673e5df4bea53231412c0d89e2384d3939b9d1f29350a4ca46966ab5d4a0d3178ed5d2caa50aa766092a3ab8f28dd27592
24 DIST apache-tomcat-9.0.27-src.tar.gz 5761278 BLAKE2B 7d4a65dfa43e0956a5dbb1dad3bf1aa475e7c503d3192ac24921d7cee9bd85379cd820ce693e8c583a7cab23263b0abfa960968d04d766764e222ba8c5bd97d4 SHA512 3f63cbd49f93e6a9d44ea63b4f787cf498930b82d19eaf60603c126b8800d2894d306c27e42ab73b042f3bba9cfb75b6c939b91b8b9141e4903eb1b88c2a4ec8
25 +DIST apache-tomcat-9.0.31-src.tar.gz 5812430 BLAKE2B 7ef0f989860b046b4ddbacde50013284a623eb9d81e2c3465b0e04ec9c934a5319293677919ab758243a352fc60cb6691b51f946d8c5a36360b9108dafc5dfe3 SHA512 a0ba9e46a3d2a4cf708e6e29b4647c041495e45865ce5c679c9dcfee77181373a2d3034222701d0f15d5c7e71e6aa3cc7db236c66ba069b3e3660a948b44342f
26 DIST biz.aQute.bnd-4.1.0.jar 9263260 BLAKE2B e251a9d8b653f3e815e6c2f7774d64f1d594f3ce4b2f77956c806698df4d873310067cece68663324b11fcef8d90796b087abb289dbe2a13164a9038da4a6260 SHA512 f5d230358840f4909e35de40343fb7ee50a2d4d4691691f5ea896cfe212a086ad4859e0ee6ed4c315211223663b2fb2c07af7ea88786cedbcd4f891e5a4589ef
27 DIST biz.aQute.bndlib-4.1.0.jar 2897463 BLAKE2B c29a55e07cc103919dca1e938722bf94b107e2989a4a8ae887998152a93b641a659a5209129b992432bcb2673dd4b56ec9a929627530a631db10666f2177c0e4 SHA512 2acccbb323f3d740506e89a74c5affab85e628f9062ee0d799ccd09efe0b55436d8887a46d7d94ad636a2c793632635974f1bbb045e4789391937222c8d00d30
28
29 diff --git a/www-servers/tomcat/tomcat-9.0.31.ebuild b/www-servers/tomcat/tomcat-9.0.31.ebuild
30 new file mode 100644
31 index 00000000000..b0c29cb19e6
32 --- /dev/null
33 +++ b/www-servers/tomcat/tomcat-9.0.31.ebuild
34 @@ -0,0 +1,181 @@
35 +# Copyright 1999-2020 Gentoo Authors
36 +# Distributed under the terms of the GNU General Public License v2
37 +
38 +EAPI=7
39 +
40 +JAVA_PKG_IUSE="doc source test"
41 +
42 +inherit eutils java-pkg-2 java-ant-2 prefix user
43 +
44 +MY_P="apache-${PN}-${PV}-src"
45 +
46 +# Currently we bundle binary versions of bnd.jar and bndlib.jar
47 +# See bugs #203080 and #676116
48 +BND_VERSION="4.1.0"
49 +BND="biz.aQute.bnd-${BND_VERSION}.jar"
50 +BNDLIB="biz.aQute.bndlib-${BND_VERSION}.jar"
51 +
52 +DESCRIPTION="Tomcat Servlet-4.0/JSP-2.4?/EL-3.1?/WebSocket-1.2?/JASPIC-1.1 Container"
53 +HOMEPAGE="https://tomcat.apache.org/"
54 +SRC_URI="mirror://apache/${PN}/tomcat-9/v${PV}/src/${MY_P}.tar.gz
55 + https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bnd/${BND_VERSION}/${BND}
56 + https://repo.maven.apache.org/maven2/biz/aQute/bnd/biz.aQute.bndlib/${BND_VERSION}/${BNDLIB}"
57 +
58 +LICENSE="Apache-2.0"
59 +SLOT="9"
60 +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
61 +IUSE="extra-webapps"
62 +
63 +RESTRICT="test" # can we run them on a production system?
64 +
65 +ECJ_SLOT="4.13"
66 +SAPI_SLOT="4.0"
67 +
68 +COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT}
69 + dev-java/glassfish-xmlrpc-api:0
70 + ~dev-java/tomcat-servlet-api-${PV}:${SAPI_SLOT}
71 + dev-java/wsdl4j:0"
72 +RDEPEND="${COMMON_DEP}
73 + virtual/jre"
74 +DEPEND="${COMMON_DEP}
75 + app-admin/pwgen
76 + >=dev-java/ant-core-1.9.13
77 + virtual/jdk:1.8
78 + test? (
79 + >=dev-java/ant-junit-1.9:0
80 + dev-java/easymock:3.2
81 + )"
82 +
83 +S=${WORKDIR}/${MY_P}
84 +
85 +BND_HOME="${S}/tomcat-build-libs/bnd"
86 +BNDLIB_HOME="${S}/tomcat-build-libs/bndlib"
87 +BND_JAR="${BND_HOME}/${BND}"
88 +BNDLIB_JAR="${BNDLIB_HOME}/${BND_LIB}"
89 +
90 +src_unpack() {
91 + unpack ${MY_P}.tar.gz
92 +
93 + mkdir -p "${BND_HOME}" "${BNDLIB_HOME}" || die "Failed to create dir"
94 + ln -s "${DISTDIR}/${BND}" "${BND_HOME}/" || die "Failed to symlink bnd-*.jar"
95 + ln -s "${DISTDIR}/${BND}" "${BNDLIB_HOME}/" || die "Failed to symlink bndlib-*.jar"
96 +}
97 +
98 +pkg_setup() {
99 + java-pkg-2_pkg_setup
100 + enewgroup tomcat 265
101 + enewuser tomcat 265 -1 /dev/null tomcat
102 +}
103 +
104 +src_prepare() {
105 + default
106 +
107 + find -name '*.jar' -type f -delete -print || die
108 +
109 + # Remove bundled servlet-api
110 + rm -rv java/javax/{el,servlet} || die
111 +
112 + eapply "${FILESDIR}/${PN}-9.0.27-build.xml.patch"
113 +
114 + # For use of catalina.sh in netbeans
115 + sed -i -e "/^# ----- Execute The Requested Command/ a\
116 + CLASSPATH=\`java-config --classpath ${PN}-${SLOT}\`" \
117 + bin/catalina.sh || die
118 +
119 + java-pkg-2_src_prepare
120 +}
121 +
122 +JAVA_ANT_REWRITE_CLASSPATH="true"
123 +
124 +EANT_BUILD_TARGET="deploy"
125 +EANT_GENTOO_CLASSPATH="eclipse-ecj-${ECJ_SLOT},tomcat-servlet-api-${SAPI_SLOT},glassfish-xmlrpc-api,wsdl4j"
126 +EANT_TEST_GENTOO_CLASSPATH="easymock-3.2"
127 +EANT_GENTOO_CLASSPATH_EXTRA="${S}/output/classes"
128 +EANT_NEEDS_TOOLS="true"
129 +EANT_EXTRA_ARGS="-Dversion=${PV}-gentoo -Dversion.number=${PV} -Dcompile.debug=false -Dbnd.jar=${BND_JAR} -Dbndlib.jar=${BNDLIB_JAR}"
130 +
131 +# revisions of the scripts
132 +IM_REV="-r2"
133 +INIT_REV="-r1"
134 +
135 +src_compile() {
136 + EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only ant-core ant.jar)"
137 + java-pkg-2_src_compile
138 +}
139 +
140 +src_test() {
141 + java-pkg-2_src_test
142 +}
143 +
144 +src_install() {
145 + local dest="/usr/share/${PN}-${SLOT}"
146 +
147 + java-pkg_jarinto "${dest}"/bin
148 + java-pkg_dojar output/build/bin/*.jar
149 + exeinto "${dest}"/bin
150 + doexe output/build/bin/*.sh
151 +
152 + java-pkg_jarinto "${dest}"/lib
153 + java-pkg_dojar output/build/lib/*.jar
154 +
155 + dodoc RELEASE-NOTES RUNNING.txt
156 + use doc && java-pkg_dojavadoc output/dist/webapps/docs/api
157 + use source && java-pkg_dosrc java/*
158 +
159 + ### Webapps ###
160 +
161 + # add missing docBase
162 + local apps="host-manager manager"
163 + for app in ${apps}; do
164 + sed -i -e "s|=\"true\" >|=\"true\" docBase=\"\$\{catalina.home\}/webapps/${app}\" >|" \
165 + output/build/webapps/${app}/META-INF/context.xml || die
166 + done
167 +
168 + insinto "${dest}"/webapps
169 + doins -r output/build/webapps/{host-manager,manager,ROOT}
170 + use extra-webapps && doins -r output/build/webapps/{docs,examples}
171 +
172 + ### Config ###
173 +
174 + # create "logs" directory in $CATALINA_BASE
175 + # and set correct perms, see #458890
176 + dodir "${dest}"/logs
177 + fperms 0750 "${dest}"/logs
178 +
179 + # replace the default pw with a random one, see #92281
180 + local randpw="$(pwgen -s -B 15 1)"
181 + sed -i -e "s|SHUTDOWN|${randpw}|" output/build/conf/server.xml || die
182 +
183 + # prepend gentoo.classpath to common.loader, see #453212
184 + sed -i -e 's/^common\.loader=/\0${gentoo.classpath},/' output/build/conf/catalina.properties || die
185 +
186 + insinto "${dest}"
187 + doins -r output/build/conf
188 +
189 + ### rc ###
190 +
191 + cp "${FILESDIR}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} "${T}" || die
192 + eprefixify "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash}
193 + sed -i -e "s|@SLOT@|${SLOT}|g" "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} || die
194 +
195 + insinto "${dest}"/gentoo
196 + doins "${T}"/tomcat.conf
197 + exeinto "${dest}"/gentoo
198 + newexe "${T}"/tomcat${INIT_REV}.init tomcat.init
199 + newexe "${T}"/tomcat-instance-manager${IM_REV}.bash tomcat-instance-manager.bash
200 +}
201 +
202 +pkg_postinst() {
203 + elog "New ebuilds of Tomcat support running multiple instances. If you used prior version"
204 + elog "of Tomcat (<7.0.32), you have to migrate your existing instance to work with new Tomcat."
205 + elog "You can find more information at https://wiki.gentoo.org/wiki/Apache_Tomcat"
206 +
207 + elog "To manage Tomcat instances, run:"
208 + elog " ${EPREFIX}/usr/share/${PN}-${SLOT}/gentoo/tomcat-instance-manager.bash --help"
209 +
210 + ewarn "tomcat-dbcp.jar is not built at this time. Please fetch jar"
211 + ewarn "from upstream binary if you need it. Gentoo Bug # 144276"
212 +
213 + einfo "Please read https://wiki.gentoo.org/wiki/Apache_Tomcat and"
214 + einfo "https://wiki.gentoo.org/wiki/Project:Java/Tomcat_6_Guide for more information."
215 +}