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, 21 May 2020 10:28:43
Message-Id: 1590056898.0635444a1c1bc7a0a8c615cfbb185aa77beb388f.fordfrog@gentoo
1 commit: 0635444a1c1bc7a0a8c615cfbb185aa77beb388f
2 Author: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
3 AuthorDate: Thu May 21 10:26:56 2020 +0000
4 Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
5 CommitDate: Thu May 21 10:28:18 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0635444a
7
8 Revert "www-servers/tomcat: removed vulnerable versions 7.0.103 and 8.5.54"
9
10 This reverts commit cc31a9948285a982d825c7c8c17151f347d8bea9.
11
12 Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
13
14 www-servers/tomcat/Manifest | 2 +
15 www-servers/tomcat/tomcat-7.0.103.ebuild | 146 ++++++++++++++++++++++++++++
16 www-servers/tomcat/tomcat-8.5.54.ebuild | 158 +++++++++++++++++++++++++++++++
17 3 files changed, 306 insertions(+)
18
19 diff --git a/www-servers/tomcat/Manifest b/www-servers/tomcat/Manifest
20 index 97d2c06bb15..7088ff30c9c 100644
21 --- a/www-servers/tomcat/Manifest
22 +++ b/www-servers/tomcat/Manifest
23 @@ -1,4 +1,6 @@
24 +DIST apache-tomcat-7.0.103-src.tar.gz 5279592 BLAKE2B a8ab36fb84cf158fcd8b888276576cd523d211ab0f6fe0933f600d1990a8f68076f192177a574987e52440037c0ebefd3edaf3c84fee541afb076c5ad33cce9b SHA512 812fce83c7242ebc16dc2365f0b363f1fb2691cd6a2f19f1209ea467557c42ee2d108c8bef89f23bb4a20c800d0ecdb4afc37567ef8079966b4eec0331a2ef9b
25 DIST apache-tomcat-7.0.104-src.tar.gz 5309794 BLAKE2B 0d4d5d668e1131bb533af1d56fe37ee1f5c252c2c4dd987e24aae67484f27805f88750b27248c6acfd0585eacd0d3f2155c723e9a25c8613652101944add2a15 SHA512 788eab3ac343815362decf4c0d5db91f3697cc669e7e051f93bf82905cc52f9b040d00b7e07f7b85bcf470e802418896a678f991e523e08a3ae5a2f212a53257
26 +DIST apache-tomcat-8.5.54-src.tar.gz 5689648 BLAKE2B 7d4c80cb86261bba46b1879d8f2b9218a63cfb069d32dfe72bd5d73baf87887cdff37c5841c44196ded1dbafcfe2d525cb09d8a15905c24600caf107255416cf SHA512 fe4a82fc58aed0df203abf03367f840d7ac498a3ba317eb2b08826e8ab5e705ea13b99f3af1e17878b2cf96271c5d9ff4e7cecf3b2631e061f1b02988449f9e2
27 DIST apache-tomcat-8.5.55-src.tar.gz 5719386 BLAKE2B 4d5d20cf81e0a9aba1fe2b0fc2e9641696a2c7b4bfe1cefd1e86025612484ef06a8171e28722bcde91b671df5bd6e148b22c2fc267828109c6af762fe35f8fdb SHA512 214758bf4dc868c38fd92a19e405f3cd8e47008dee82610f8f7373d92ab5f8800c160a42c96c293f599b702c1c9d2967ca40d3410c1f6a14745edac4739f177d
28 DIST apache-tomcat-9.0.35-src.tar.gz 5887816 BLAKE2B 8103a50a62aa527861fdc35ce8256d9ff0b7185bfa647e25c30c226f9850e88632e0c1e3575bac3a07513fe9c9777b4ef230275e685f48b0bbc733bc68ff7dad SHA512 8931c0f7c30f50d352879f8dfddc02fa59d7128813399e4eca3994be7cf2448e32e726a3cb8b387a5470ccbfa3fb74d0192c825b5f68bbb9fb6b43a9353cb24a
29 DIST biz.aQute.bnd-4.1.0.jar 9263260 BLAKE2B e251a9d8b653f3e815e6c2f7774d64f1d594f3ce4b2f77956c806698df4d873310067cece68663324b11fcef8d90796b087abb289dbe2a13164a9038da4a6260 SHA512 f5d230358840f4909e35de40343fb7ee50a2d4d4691691f5ea896cfe212a086ad4859e0ee6ed4c315211223663b2fb2c07af7ea88786cedbcd4f891e5a4589ef
30
31 diff --git a/www-servers/tomcat/tomcat-7.0.103.ebuild b/www-servers/tomcat/tomcat-7.0.103.ebuild
32 new file mode 100644
33 index 00000000000..8fa804171b4
34 --- /dev/null
35 +++ b/www-servers/tomcat/tomcat-7.0.103.ebuild
36 @@ -0,0 +1,146 @@
37 +# Copyright 1999-2020 Gentoo Authors
38 +# Distributed under the terms of the GNU General Public License v2
39 +
40 +EAPI=7
41 +
42 +JAVA_PKG_IUSE="doc source test"
43 +
44 +inherit eutils java-pkg-2 java-ant-2 prefix user
45 +
46 +MY_P="apache-${P}-src"
47 +
48 +DESCRIPTION="Tomcat Servlet-3.0/JSP-2.2 Container"
49 +HOMEPAGE="https://tomcat.apache.org/"
50 +SRC_URI="mirror://apache/${PN}/tomcat-7/v${PV}/src/${MY_P}.tar.gz"
51 +
52 +LICENSE="Apache-2.0"
53 +SLOT="7"
54 +KEYWORDS="amd64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
55 +IUSE="extra-webapps websockets"
56 +
57 +RESTRICT="test" # can we run them on a production system?
58 +
59 +ECJ_SLOT="4.5"
60 +SAPI_SLOT="3.0"
61 +
62 +COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT}
63 + ~dev-java/tomcat-servlet-api-${PV}:${SAPI_SLOT}"
64 +RDEPEND="${COMMON_DEP}
65 + virtual/jre"
66 +DEPEND="${COMMON_DEP}
67 + virtual/jdk:1.8
68 + test? ( dev-java/ant-junit:0 )"
69 +
70 +S=${WORKDIR}/${MY_P}
71 +
72 +pkg_setup() {
73 + java-pkg-2_pkg_setup
74 + enewgroup tomcat 265
75 + enewuser tomcat 265 -1 /dev/null tomcat
76 +}
77 +
78 +src_prepare() {
79 + default
80 +
81 + # Remove bundled servlet-api
82 + rm -rv java/javax/{el,servlet} || die
83 +
84 + java-pkg_clean
85 +
86 + eapply "${FILESDIR}/${PN}-7.0.99-build.xml.patch"
87 +
88 + # For use of catalina.sh in netbeans
89 + sed -i -e "/^# ----- Execute The Requested Command/ a\
90 + CLASSPATH=\`java-config --classpath ${PN}-${SLOT}\`" \
91 + bin/catalina.sh || die
92 +
93 + java-pkg-2_src_prepare
94 +}
95 +
96 +JAVA_ANT_REWRITE_CLASSPATH="true"
97 +
98 +EANT_BUILD_TARGET="deploy"
99 +EANT_GENTOO_CLASSPATH="eclipse-ecj-${ECJ_SLOT},tomcat-servlet-api-${SAPI_SLOT}"
100 +EANT_GENTOO_CLASSPATH_EXTRA="${S}/output/classes"
101 +EANT_NEEDS_TOOLS="true"
102 +EANT_EXTRA_ARGS="-Dversion=${PV}-gentoo -Dversion.number=${PV} -Dcompile.debug=false"
103 +
104 +# revisions of the scripts
105 +IM_REV="-r1"
106 +INIT_REV="-r1"
107 +
108 +src_compile() {
109 + use websockets && EANT_EXTRA_ARGS+=" -Djava.7.home=${JAVA_HOME}"
110 + EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only ant-core ant.jar)"
111 + java-pkg-2_src_compile
112 +}
113 +
114 +src_test() {
115 + java-pkg-2_src_test
116 +}
117 +
118 +src_install() {
119 + local dest="/usr/share/${PN}-${SLOT}"
120 +
121 + java-pkg_jarinto "${dest}"/bin
122 + java-pkg_dojar output/build/bin/*.jar
123 + exeinto "${dest}"/bin
124 + doexe output/build/bin/*.sh
125 +
126 + java-pkg_jarinto "${dest}"/lib
127 + java-pkg_dojar output/build/lib/*.jar
128 +
129 + dodoc RELEASE-NOTES RUNNING.txt
130 + use doc && java-pkg_dojavadoc output/dist/webapps/docs/api
131 + use source && java-pkg_dosrc java/*
132 +
133 + ### Webapps ###
134 +
135 + insinto "${dest}"/webapps
136 + doins -r output/build/webapps/{host-manager,manager,ROOT}
137 + use extra-webapps && doins -r output/build/webapps/{docs,examples}
138 +
139 + ### Config ###
140 +
141 + # create "logs" directory in $CATALINA_BASE
142 + # and set correct perms, see #458890
143 + dodir "${dest}"/logs
144 + fperms 0750 "${dest}"/logs
145 +
146 + # replace the default pw with a random one, see #92281
147 + local randpw=$(echo ${RANDOM}|md5sum|cut -c 1-15)
148 + sed -i -e "s|SHUTDOWN|${randpw}|" output/build/conf/server.xml || die
149 +
150 + # prepend gentoo.classpath to common.loader, see #453212
151 + sed -i -e 's/^common\.loader=/\0${gentoo.classpath},/' output/build/conf/catalina.properties || die
152 +
153 + insinto "${dest}"
154 + doins -r output/build/conf
155 +
156 + ### rc ###
157 +
158 + cp "${FILESDIR}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} "${T}" || die
159 + eprefixify "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash}
160 + sed -i -e "s|@SLOT@|${SLOT}|g" "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} || die
161 +
162 + insinto "${dest}"/gentoo
163 + doins "${T}"/tomcat.conf
164 + exeinto "${dest}"/gentoo
165 + newexe "${T}"/tomcat${INIT_REV}.init tomcat.init
166 + newexe "${T}"/tomcat-instance-manager${IM_REV}.bash tomcat-instance-manager.bash
167 +}
168 +
169 +pkg_postinst() {
170 + elog "New ebuilds of Tomcat support running multiple instances. If you used prior version"
171 + elog "of Tomcat (<7.0.32), you have to migrate your existing instance to work with new Tomcat."
172 + elog "You can find more information at https://wiki.gentoo.org/wiki/Apache_Tomcat"
173 +
174 + elog "To manage Tomcat instances, run:"
175 + elog " ${EPREFIX}/usr/share/${PN}-${SLOT}/gentoo/tomcat-instance-manager.bash --help"
176 +
177 + ewarn "tomcat-dbcp.jar is not built at this time. Please fetch jar"
178 + ewarn "from upstream binary if you need it. Gentoo Bug # 144276"
179 +
180 + einfo "Please read https://wiki.gentoo.org/wiki/Apache_Tomcat and"
181 + einfo "https://wiki.gentoo.org/wiki/Project:Java/Tomcat_6_Guide for more information."
182 +}
183
184 diff --git a/www-servers/tomcat/tomcat-8.5.54.ebuild b/www-servers/tomcat/tomcat-8.5.54.ebuild
185 new file mode 100644
186 index 00000000000..688cb761576
187 --- /dev/null
188 +++ b/www-servers/tomcat/tomcat-8.5.54.ebuild
189 @@ -0,0 +1,158 @@
190 +# Copyright 1999-2020 Gentoo Authors
191 +# Distributed under the terms of the GNU General Public License v2
192 +
193 +EAPI=7
194 +
195 +JAVA_PKG_IUSE="doc source test"
196 +
197 +inherit eutils java-pkg-2 java-ant-2 prefix user
198 +
199 +MY_P="apache-${P}-src"
200 +
201 +DESCRIPTION="Tomcat Servlet-3.1/JSP-2.3/EL-3.0/WebSocket-1.1/JASPIC-1.1 Container"
202 +HOMEPAGE="https://tomcat.apache.org/"
203 +SRC_URI="mirror://apache/${PN}/tomcat-8/v${PV}/src/${MY_P}.tar.gz"
204 +
205 +LICENSE="Apache-2.0"
206 +SLOT="8.5"
207 +KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
208 +IUSE="extra-webapps"
209 +
210 +RESTRICT="test" # can we run them on a production system?
211 +
212 +ECJ_SLOT="4.5"
213 +SAPI_SLOT="3.1"
214 +
215 +COMMON_DEP="dev-java/eclipse-ecj:${ECJ_SLOT}
216 + ~dev-java/tomcat-servlet-api-${PV}:${SAPI_SLOT}"
217 +RDEPEND="${COMMON_DEP}
218 + virtual/jre"
219 +DEPEND="${COMMON_DEP}
220 + app-admin/pwgen
221 + >=dev-java/ant-core-1.9.13
222 + virtual/jdk:1.8
223 + test? (
224 + >=dev-java/ant-junit-1.9:0
225 + dev-java/easymock:3.2
226 + )"
227 +
228 +S=${WORKDIR}/${MY_P}
229 +
230 +pkg_setup() {
231 + java-pkg-2_pkg_setup
232 + enewgroup tomcat 265
233 + enewuser tomcat 265 -1 /dev/null tomcat
234 +}
235 +
236 +src_prepare() {
237 + default
238 +
239 + find -name '*.jar' -type f -delete -print || die
240 +
241 + # Remove bundled servlet-api
242 + rm -rv java/javax/{el,servlet} || die
243 +
244 + eapply "${FILESDIR}/${PN}-8.5.47-build.xml.patch"
245 +
246 + # For use of catalina.sh in netbeans
247 + sed -i -e "/^# ----- Execute The Requested Command/ a\
248 + CLASSPATH=\`java-config --classpath ${PN}-${SLOT}\`" \
249 + bin/catalina.sh || die
250 +
251 + java-pkg-2_src_prepare
252 +}
253 +
254 +JAVA_ANT_REWRITE_CLASSPATH="true"
255 +
256 +EANT_BUILD_TARGET="deploy"
257 +EANT_GENTOO_CLASSPATH="eclipse-ecj-${ECJ_SLOT},tomcat-servlet-api-${SAPI_SLOT}"
258 +EANT_TEST_GENTOO_CLASSPATH="easymock-3.2"
259 +EANT_GENTOO_CLASSPATH_EXTRA="${S}/output/classes"
260 +EANT_NEEDS_TOOLS="true"
261 +EANT_EXTRA_ARGS="-Dversion=${PV}-gentoo -Dversion.number=${PV} -Dcompile.debug=false -Dexecute.validate=false"
262 +
263 +# revisions of the scripts
264 +IM_REV="-r2"
265 +INIT_REV="-r1"
266 +
267 +src_compile() {
268 + EANT_GENTOO_CLASSPATH_EXTRA+=":$(java-pkg_getjar --build-only ant-core ant.jar)"
269 + java-pkg-2_src_compile
270 +}
271 +
272 +src_test() {
273 + java-pkg-2_src_test
274 +}
275 +
276 +src_install() {
277 + local dest="/usr/share/${PN}-${SLOT}"
278 +
279 + java-pkg_jarinto "${dest}"/bin
280 + java-pkg_dojar output/build/bin/*.jar
281 + exeinto "${dest}"/bin
282 + doexe output/build/bin/*.sh
283 +
284 + java-pkg_jarinto "${dest}"/lib
285 + java-pkg_dojar output/build/lib/*.jar
286 +
287 + dodoc RELEASE-NOTES RUNNING.txt
288 + use doc && java-pkg_dojavadoc output/dist/webapps/docs/api
289 + use source && java-pkg_dosrc java/*
290 +
291 + ### Webapps ###
292 +
293 + # add missing docBase
294 + local apps="host-manager manager"
295 + for app in ${apps}; do
296 + sed -i -e "s|=\"true\" >|=\"true\" docBase=\"\$\{catalina.home\}/webapps/${app}\" >|" \
297 + output/build/webapps/${app}/META-INF/context.xml || die
298 + done
299 +
300 + insinto "${dest}"/webapps
301 + doins -r output/build/webapps/{host-manager,manager,ROOT}
302 + use extra-webapps && doins -r output/build/webapps/{docs,examples}
303 +
304 + ### Config ###
305 +
306 + # create "logs" directory in $CATALINA_BASE
307 + # and set correct perms, see #458890
308 + dodir "${dest}"/logs
309 + fperms 0750 "${dest}"/logs
310 +
311 + # replace the default pw with a random one, see #92281
312 + local randpw="$(pwgen -s -B 15 1)"
313 + sed -i -e "s|SHUTDOWN|${randpw}|" output/build/conf/server.xml || die
314 +
315 + # prepend gentoo.classpath to common.loader, see #453212
316 + sed -i -e 's/^common\.loader=/\0${gentoo.classpath},/' output/build/conf/catalina.properties || die
317 +
318 + insinto "${dest}"
319 + doins -r output/build/conf
320 +
321 + ### rc ###
322 +
323 + cp "${FILESDIR}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} "${T}" || die
324 + eprefixify "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash}
325 + sed -i -e "s|@SLOT@|${SLOT}|g" "${T}"/tomcat{.conf,${INIT_REV}.init,-instance-manager${IM_REV}.bash} || die
326 +
327 + insinto "${dest}"/gentoo
328 + doins "${T}"/tomcat.conf
329 + exeinto "${dest}"/gentoo
330 + newexe "${T}"/tomcat${INIT_REV}.init tomcat.init
331 + newexe "${T}"/tomcat-instance-manager${IM_REV}.bash tomcat-instance-manager.bash
332 +}
333 +
334 +pkg_postinst() {
335 + elog "New ebuilds of Tomcat support running multiple instances. If you used prior version"
336 + elog "of Tomcat (<7.0.32), you have to migrate your existing instance to work with new Tomcat."
337 + elog "You can find more information at https://wiki.gentoo.org/wiki/Apache_Tomcat"
338 +
339 + elog "To manage Tomcat instances, run:"
340 + elog " ${EPREFIX}/usr/share/${PN}-${SLOT}/gentoo/tomcat-instance-manager.bash --help"
341 +
342 + ewarn "tomcat-dbcp.jar is not built at this time. Please fetch jar"
343 + ewarn "from upstream binary if you need it. Gentoo Bug # 144276"
344 +
345 + einfo "Please read https://wiki.gentoo.org/wiki/Apache_Tomcat and"
346 + einfo "https://wiki.gentoo.org/wiki/Project:Java/Tomcat_6_Guide for more information."
347 +}