dev-java/servletapi is a very old package, I was working on removing it years ago. It literally is the same as dev-java/tomcat-servlet-api. I renamed it to be more specific, since there is also a resin-servlet-api and glassfish-servlet-api. I created a page long ago to track progress, but its very old and outdated http://overlays.gentoo.org/proj/java/wiki/ServletApiToVirtualPackages. Please see about masking and removing ASAP. Should be few if any packages using this as a dependency. If they are, they can safely be switched to the virtual or if need be, dev-java/tomcat-servlet-api specifically :)
monsieurp@epsilon ~/gentoo-x86 $ echkdep dev-java/servletapi * These packages depend on dev-java/servletapi: dev-java/avalon-logkit-2.1-r5 (=dev-java/servletapi-2.4*) dev-java/commons-configuration-1.6 (dev-java/servletapi:2.4) dev-java/commons-jxpath-1.3 (dev-java/servletapi:2.4) dev-java/ehcache-1.2.4-r2 (~dev-java/servletapi-2.4) dev-java/excalibur-logger-2.1-r2 (dev-java/servletapi:2.4) dev-java/groovy-1.6.8 (dev-java/servletapi:2.4) dev-java/groovy-1.7.5 (dev-java/servletapi:2.4) dev-java/groovy-1.7.10 (dev-java/servletapi:2.4) dev-java/jakarta-jstl-1.1.2-r2 (dev-java/servletapi:2.4) dev-java/jax-rpc-1.1.3.01 (=dev-java/servletapi-2.4*) dev-java/jax-rpc-1.1.3.01-r1 (=dev-java/servletapi-2.4*) dev-java/openspml2-1.0_rc2 (=dev-java/servletapi-2.4*) dev-java/sun-jacc-api-20070102 (=dev-java/servletapi-2.4*) dev-java/tapestry-3.0.4-r1 (dev-java/servletapi:2.4) dev-scheme/kawa-1.9.90-r1 (servlets ? dev-java/servletapi:2.4) dev-scheme/kawa-1.10 (servlets ? dev-java/servletapi:2.4) www-servers/axis-1.4-r1 (dev-java/servletapi:2.4)
I'm going to update slots ASAP.
+*commons-configuration-1.6-r1 (24 May 2015) + + 24 May 2015; Patrice Clement <monsieurp@gentoo.org> + +commons-configuration-1.6-r1.ebuild: + Replace dev-java/servletapi slot with java-virtuals/servlet-api. Fix bug + 398689.
dev-java/avalon-toolkit has already been taken care of.
+*commons-jxpath-1.3-r1 (24 May 2015) + + 24 May 2015; Patrice Clement <monsieurp@gentoo.org> + +commons-jxpath-1.3-r1.ebuild: + Replace dev-java/servletapi slot with java-virtuals/servlet-api. Fix bug + 398689.
+*ehcache-1.2.4-r4 (25 May 2015) + + 25 May 2015; Patrice Clement <monsieurp@gentoo.org> +ehcache-1.2.4-r4.ebuild: + Replace dev-java/servletapi slot with java-virtuals/servlet-api. Fix bug + 398689.
Pretty funny... EAPI 6 a package that should be masked and removed... https://github.com/gentoo/gentoo/commits?author=monsieurp&since=2018-01-01T05:00:00Z&until=2018-01-03T05:00:00Z
Should we remove dev-java/servletapi with dev-java/sun-jacc-api and dev-java/tapestry then?
(In reply to Pacho Ramos from comment #8) > Should we remove dev-java/servletapi with dev-java/sun-jacc-api and > dev-java/tapestry then? That or switch to java-virtuals/servlet-api, or just dev-java/tomcat-servlet-api. dev-java/servletapi is literally dev-java/tomcat-serlvet-api, just renamed. It predates the virtual, and is extremely old. I was working on removing it when I was a dev in 2008. It amazes me it remains.... Thank you for looking to punt. It looks like dev-java/sun-jacc-api can likely be last rited. Its EAPI=0, and has source/target of 1.4 based on jdk/jre deps. That is ancient stuff. Likely not used or touched in years. dev-java/tapestry maybe best to swap the dep its EAPI-5, so not as outdated providing it builds. Replace dev-java/servletapi-2.4 With either java-virtuals/servlet-api:2.4 dev-java/tomcat-servlet-api:2.4 There is 1 other provider for 2.4, resin-servlet-api. But it has issues with the virtual, per bug 212922, bug 363753 and bug 628452. Those are all basically duplicates, of 212922. Likely go with virtual, but it has issues, and resin-servlet-api is not really current. Likely an older version. Looks like its also failing in bug 310099, may close that as wontfix.
Regarding tapestry, I have tried to change the dep to the virtual... but it fails with: >>> Compiling source in /var/tmp/portage/dev-java/tapestry-3.0.4-r2/work/Tapestry-3.0.4 ... !!! ERROR: Package servletapi-2.4 was not found! * ERROR: dev-java/tapestry-3.0.4-r2::gentoo failed (compile phase): * java-config --classpath=commons-logging,commons-fileupload,commons-lang-2.1,commons-codec,commons-beanutils-1.7,commons-digester,servletapi-2.4,ognl-3.0,bsf-2.3,jakarta-oro-2.0,javassist-2 failed * * Call stack: * ebuild.sh, line 124: Called src_compile * environment, line 3966: Called java-pkg_getjars 'commons-logging,commons-fileupload,commons-lang-2.1,commons-codec,commons-beanutils-1.7,commons-digester,servletapi-2.4,ognl-3.0,bsf-2.3,jakarta-oro-2.0,javassist-2' * environment, line 2568: Called die * The specific snippet of code: * [[ $? != 0 ]] && die "java-config --classpath=${pkgs} failed"; * * If you need support, post the output of `emerge --info '=dev-java/tapestry-3.0.4-r2::gentoo'`, * the complete build log and the output of `emerge -pqv '=dev-java/tapestry-3.0.4-r2::gentoo'`. !!! When you file a bug report, please include the following information: GENTOO_VM=oracle-jdk-bin-1.8 CLASSPATH="" JAVA_HOME="/opt/oracle-jdk-bin-1.8.0.162" JAVACFLAGS="-source 1.4 -target 1.4" COMPILER="" and of course, the output of emerge --info =tapestry-3.0.4 * The complete build log is located at '/var/log/portage/build/dev-java/tapestry-3.0.4-r2:20180317-124412.log.gz'. * For convenience, a symlink to the build log is located at '/var/tmp/portage/dev-java/tapestry-3.0.4-r2/temp/build.log.gz'. * The ebuild environment file is located at '/var/tmp/portage/dev-java/tapestry-3.0.4-r2/temp/environment'. * Working directory: '/var/tmp/portage/dev-java/tapestry-3.0.4-r2/work/Tapestry-3.0.4/framework' * S: '/var/tmp/portage/dev-java/tapestry-3.0.4-r2/work/Tapestry-3.0.4' * * The following package has failed to build, install, or execute postinst: * * (dev-java/tapestry-3.0.4-r2:3.0/3.0::gentoo, ebuild scheduled for merge), Log file: * '/var/log/portage/build/dev-java/tapestry-3.0.4-r2:20180317-124412.log.gz' * I would then simply treeclean the tree packages
*three
That is odd, could be issues with java-config virtual handling, but other packages should have the same issue. None the less, 2.4 is old and not likely to see other providers for the virtual. The other provider resin-servlet-api-2.4 via virtual is broken due to different jar file names per bug 363753#c7. Rather than using the virtual, just switch it to dev-java/tomcat-servlet-api:2.4 dev-java/servletapi:2.4 -> dev-java/tomcat-servlet-api:2.4 Then tapestry should compile fine. That is the main provider for java-virtuals/servlet-api people use unless they choose resin. Which per bug 363753 using resin-servlet-api via java-virtuals/serlvet-api does not work. Which makes that virtual basically pointless. Really all the resin stuff should be masked and removed. Its versions old, and not maintained. Though may still work. Could have vulnerabilities, etc.
(In reply to William L. Thomson Jr. from comment #12) > > > Rather than using the virtual, just switch it to > dev-java/tomcat-servlet-api:2.4 > > dev-java/servletapi:2.4 -> dev-java/tomcat-servlet-api:2.4 Also need to update EANT_GENTOO_CLASSPATH+=",servletapi-2.4,ognl-3.0,bsf-2.3,jakarta-oro-2.0" Change servletapi-2.4 to tomcat-servlet-api Really should remove all CLASSPATH variables and use CP_DEPEND. Just rename CDEPEND to CP_DEPEND in all places. That is an auto classpath depend. That way you do not have to mess with matching/mapping depends to classpath, package names, slots etc. Also I would change j{dk,re}-1.4 to 1.6 if you can, or 1.7. Less than 1.6 is not supported with Java 9. Anyway up to you how to proceed. But I would go with CP_DEPEND, tomcat-servlet-api, and 1.6 if you can there.
(In reply to William L. Thomson Jr. from comment #13) > > Also need to update > EANT_GENTOO_CLASSPATH+=",servletapi-2.4,ognl-3.0,bsf-2.3,jakarta-oro-2.0" > > Change servletapi-2.4 to tomcat-servlet-api See I screwed up here, it should be tomcat-servlet-api-2.4. I omitted the slot. Reasons why best to use CP_DEPEND, prevents such mistakes and reduces ebuild complexity, etc. One of my last contributions :)
[master 23f459bf526] dev-java/tapestry: Stop using obsolete dev-java/servletapi (#398689 by William L. Thomson Jr.) 1 file changed, 69 insertions(+) create mode 100644 dev-java/tapestry/tapestry-3.0.4-r3.ebuild
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7a95cab7a6e1fcb41ded1e7cffba3e95c422afe6 commit 7a95cab7a6e1fcb41ded1e7cffba3e95c422afe6 Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2018-07-28 12:14:01 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2018-07-28 12:15:42 +0000 dev-java/sun-jacc-api: Remove last-rited pkg Closes: https://bugs.gentoo.org/398689 dev-java/sun-jacc-api/Manifest | 1 - dev-java/sun-jacc-api/files/20070102-jcc-api.patch | 11 ------ dev-java/sun-jacc-api/metadata.xml | 8 ----- dev-java/sun-jacc-api/sun-jacc-api-20070102.ebuild | 42 ---------------------- profiles/package.mask | 4 --- 5 files changed, 66 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=612ef9d514f116b1afefe4f57b96ef17d9f7ea9c commit 612ef9d514f116b1afefe4f57b96ef17d9f7ea9c Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2018-07-28 12:13:25 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2018-07-28 12:15:41 +0000 dev-java/servletapi: Remove last-rited pkg Closes: https://bugs.gentoo.org/398689 dev-java/servletapi/Manifest | 3 -- dev-java/servletapi/metadata.xml | 11 ------ dev-java/servletapi/servletapi-2.2-r3.ebuild | 37 -------------------- dev-java/servletapi/servletapi-2.2-r4.ebuild | 41 ---------------------- dev-java/servletapi/servletapi-2.3-r3.ebuild | 33 ------------------ dev-java/servletapi/servletapi-2.3-r4.ebuild | 37 -------------------- dev-java/servletapi/servletapi-2.4-r5.ebuild | 49 -------------------------- dev-java/servletapi/servletapi-2.4-r6.ebuild | 52 ---------------------------- profiles/package.mask | 1 - 9 files changed, 264 deletions(-)