Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 398689 - Remove dev-java/servletapi replace with java-virtuals/servlet-api
Summary: Remove dev-java/servletapi replace with java-virtuals/servlet-api
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Java team
URL:
Whiteboard: Pending removal: 2018-07-17
Keywords: PMASKED
Depends on: 219655 350224 381981 399509 399997 417867 418731 436564 650736
Blocks:
  Show dependency tree
 
Reported: 2012-01-12 18:22 UTC by William L. Thomson Jr.
Modified: 2018-07-28 12:15 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description William L. Thomson Jr. 2012-01-12 18:22:26 UTC
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 :)
Comment 1 Patrice Clement gentoo-dev 2015-05-24 19:30:45 UTC
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)
Comment 2 Patrice Clement gentoo-dev 2015-05-24 19:32:03 UTC
I'm going to update slots ASAP.
Comment 3 Patrice Clement gentoo-dev 2015-05-24 19:33:17 UTC
+*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.
Comment 4 Patrice Clement gentoo-dev 2015-05-24 19:34:27 UTC
dev-java/avalon-toolkit has already been taken care of.
Comment 5 Patrice Clement gentoo-dev 2015-05-24 21:58:01 UTC
+*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.
Comment 6 Patrice Clement gentoo-dev 2015-05-25 08:31:39 UTC
+*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.
Comment 7 William L. Thomson Jr. 2018-01-03 03:54:34 UTC
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
Comment 8 Pacho Ramos gentoo-dev 2018-02-15 08:54:37 UTC
Should we remove dev-java/servletapi with dev-java/sun-jacc-api and dev-java/tapestry then?
Comment 9 William L. Thomson Jr. 2018-02-16 20:57:43 UTC
(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.
Comment 10 Pacho Ramos gentoo-dev 2018-03-17 12:45:45 UTC
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
Comment 11 Pacho Ramos gentoo-dev 2018-03-17 12:46:00 UTC
*three
Comment 12 William L. Thomson Jr. 2018-03-17 17:06:20 UTC
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.
Comment 13 William L. Thomson Jr. 2018-03-17 17:11:00 UTC
(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.
Comment 14 William L. Thomson Jr. 2018-03-17 17:12:57 UTC
(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 :)
Comment 15 Pacho Ramos gentoo-dev 2018-03-17 18:30:30 UTC
[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
Comment 16 Larry the Git Cow gentoo-dev 2018-07-28 12:15:50 UTC
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(-)