Bug 400531

Summary: RPM epoch of java provides may cause dependency problems for other packages.
Product: Red Hat Enterprise Linux 4 Reporter: Brandon Perkins <bperkins>
Component: java-1.5.0-ibmAssignee: Thomas Fitzsimmons <fitzsim>
Status: CLOSED NOTABUG QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 4.6CC: bhinson, jpazdziora
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-02-15 19:57:15 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Brandon Perkins 2007-11-27 04:05:29 UTC
Description of problem:
The java provides for java-1.5.0-ibm packages is "java = 1:1.5.0" when it likely
should be "java = 0:1.5.0" or "java = 1.5.0"

Version-Release number of selected component (if applicable):
java-1.5.0-ibm 1.5.0.6-1jpp.2.el4

How reproducible:
Always

Steps to Reproduce:
1. rpm -qp --provides [RPM] | grep '^java '
  
Actual results:
java-1.5.0-sun packages are: java = 0:1.5.0
java-1.5.0-bea packages are: java = 1.5.0
java-1.5.0-ibm packages are: java = 1:1.5.0

Expected results:
That these are all the same, but more to the point, either '0:1.5.0' or '1.5.0'
would be fine.  But the '1:' epoch can cause dependency problems for other RPMs.

Additional info:
Bugzilla Bug 346101: "Package bouncycastle-jdk1.5-1.37-1jpp requires java <
0:1.6.0 error on s390(x)" shows a situation where this bites a user.  If, for
example, another package requires 'java < 0:1.6.0', 'java = 1:1.5.0' will never
evaluate as true for this package, and the perfectly valid IBM Java package is
not considered useable.

I'm not sure if this was an oversight, or if there is a reason for it.  If there
is a reason, please let me know what it is.

Comment 1 Brandon Perkins 2007-11-27 04:08:52 UTC
=== BEA ===
java-1.5.0-bea/1.5.0.08-1jpp.5.el4/i686/java-1.5.0-bea-1.5.0.08-1jpp.5.el4.i686.rpm
java = 1.5.0
java-1.5.0-bea/1.5.0.08-1jpp.5.el4/ia64/java-1.5.0-bea-1.5.0.08-1jpp.5.el4.ia64.rpm
java = 1.5.0
java-1.5.0-bea/1.5.0.08-1jpp.5.el4/x86_64/java-1.5.0-bea-1.5.0.08-1jpp.5.el4.x86_64.rpm
java = 1.5.0
java-1.5.0-bea/1.5.0.11-1jpp.2.el4/i686/java-1.5.0-bea-1.5.0.11-1jpp.2.el4.i686.rpm
java = 1.5.0
java-1.5.0-bea/1.5.0.11-1jpp.2.el4/ia64/java-1.5.0-bea-1.5.0.11-1jpp.2.el4.ia64.rpm
java = 1.5.0
java-1.5.0-bea/1.5.0.11-1jpp.2.el4/x86_64/java-1.5.0-bea-1.5.0.11-1jpp.2.el4.x86_64.rpm
java = 1.5.0


=== IBM ===
java-1.5.0-ibm/1.5.0.6-1jpp.2.el4/i386/java-1.5.0-ibm-1.5.0.6-1jpp.2.el4.i386.rpm
java = 1:1.5.0
java-1.5.0-ibm/1.5.0.6-1jpp.2.el4/ppc/java-1.5.0-ibm-1.5.0.6-1jpp.2.el4.ppc.rpm
java = 1:1.5.0
java-1.5.0-ibm/1.5.0.6-1jpp.2.el4/s390/java-1.5.0-ibm-1.5.0.6-1jpp.2.el4.s390.rpm
java = 1:1.5.0
java-1.5.0-ibm/1.5.0.6-1jpp.2.el4/s390x/java-1.5.0-ibm-1.5.0.6-1jpp.2.el4.s390x.rpm
java = 1:1.5.0
java-1.5.0-ibm/1.5.0.6-1jpp.2.el4/x86_64/java-1.5.0-ibm-1.5.0.6-1jpp.2.el4.x86_64.rpm
java = 1:1.5.0


=== SUN ===
java-1.5.0-sun/1.5.0.12-1jpp.4.el4/i586/java-1.5.0-sun-1.5.0.12-1jpp.4.el4.i586.rpm
java = 0:1.5.0
java-1.5.0-sun/1.5.0.12-1jpp.4.el4/x86_64/java-1.5.0-sun-1.5.0.12-1jpp.4.el4.x86_64.rpm
java = 0:1.5.0
java-1.5.0-sun/1.5.0.13-1jpp.1.el4/i586/java-1.5.0-sun-1.5.0.13-1jpp.1.el4.i586.rpm
java = 0:1.5.0
java-1.5.0-sun/1.5.0.13-1jpp.1.el4/x86_64/java-1.5.0-sun-1.5.0.13-1jpp.1.el4.x86_64.rpm
java = 0:1.5.0


Comment 2 Thomas Fitzsimmons 2007-12-06 18:45:04 UTC
We can't change java-1.5.0-ibm's epoch back to 0 because 1:1.5.0 packages cannot
be upgraded to 0:1.5.0 packages.  Packages shouldn't be specifying epochs in
their Requires fields, and the package in question comes from an external
source.  The best I can do is to update the other 1.5.0 JDK's epochs to 1 as I
release other updates for them, so that all the java virtual provides have the
same epochs.

Comment 5 Jan Pazdziora 2008-02-15 19:54:31 UTC
(In reply to comment #4)
> Proposed to rhel-4.7 fast.

Why, why, why oh why?

Satellite 5.1 uses java-epoch-bridge and is happy with the solution. No action
is needed on the side of java packages.

I propose this bug to be closed as THIS_IS_NOT_PROBLEM_AFTER_ALL.