Bug 1076949

Summary: tomcat: don't provide javax.jsp-api and javax.servlet.jsp-api
Product: [Fedora] Fedora Reporter: Michael Simacek <msimacek>
Component: tomcatAssignee: Ivan Afonichev <ivan.afonichev>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: ivan.afonichev, java-sig-commits, krzysztof.daniel
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: tomcat-7.0.59-1.fc21 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-02-23 08:02:43 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Michael Simacek 2014-03-16 17:51:25 UTC
Description of problem:
javax.jsp:jsp-api and javax.servlet.jsp:javax.servlet.jsp-api artifacts are provided by both tomcat-jsp-2.2-api and glassfish-jsp[-api]. Because requires generator doesn't specify versions, there should be only one provide of given artifact. If the artifact is provided by multiple packages, it can lead to breakage of packages that depend on different version of the artifact than the version pulled in by yum (which is not predictable). Glassfish is the preferred implementation according to Java Packaging Guidelines [1].Please drop the aliases.

[1] http://fedoraproject.org/wiki/Packaging:Java#EE_API_List

Comment 1 Ivan Afonichev 2014-03-25 22:36:52 UTC
tomcat rpm provides nothing javax*:

[van@van-ssd tomcat]$ grep '^Provides:' tomcat.spec 
Provides: jsp = %{jspspec}
Provides: jsp22
Provides: servlet = %{servletspec}
Provides: servlet6
Provides: servlet3
Provides: el_1_0_api = %{epoch}:%{version}-%{release}
Provides: el_api = %{elspec}


Or you are talking about maven depmaps?

Comment 2 Michael Simacek 2014-03-27 09:15:30 UTC
Yes, I mean the provides that are autogenerated from Maven depmaps.
These are the provides of tomcat-jsp-2.2-api in rawhide:
jsp = 2.2
jsp22
mvn(javax.servlet.jsp:javax.servlet.jsp-api) = 7.0.52
mvn(javax.servlet:jsp-api) = 7.0.52
mvn(org.apache.tomcat:tomcat-jsp-api) = 7.0.52
mvn(org.eclipse.jetty.orbit:javax.servlet.jsp) = 7.0.52
osgi(javax.servlet.jsp) = 2.2.0
tomcat-jsp-2.2-api = 7.0.52-1.fc21

Line 459 in the specfile:
%add_maven_depmap JPP-tomcat-jsp-api.pom tomcat-jsp-api.jar -f "tomcat-jsp-api" -a "javax.servlet.jsp:javax.servlet.jsp-api,javax.servlet:jsp-api,org.eclipse.jetty.orbit:javax.servlet.jsp"

The javax.servlet:jsp-api and javax.servlet.jsp:javax.servlet.jsp-api artifact coordinates are added as aliases with the -a option.
Please change the line to:
%add_maven_depmap JPP-tomcat-jsp-api.pom tomcat-jsp-api.jar -f "tomcat-jsp-api" -a "org.eclipse.jetty.orbit:javax.servlet.jsp"

Comment 3 Fedora Update System 2015-02-14 21:45:06 UTC
tomcat-7.0.59-1.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/tomcat-7.0.59-1.fc21

Comment 4 Fedora Update System 2015-02-15 13:58:34 UTC
Package tomcat-7.0.59-1.fc21:
* should fix your issue,
* was pushed to the Fedora 21 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing tomcat-7.0.59-1.fc21'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2015-2109/tomcat-7.0.59-1.fc21
then log in and leave karma (feedback).

Comment 5 Fedora Update System 2015-02-23 08:02:43 UTC
tomcat-7.0.59-1.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.