Bug 1258036
Summary: | java-1.8.0-openjdk-devel is missing "java-devel" capability | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Charles Butterfield <cb20777> |
Component: | java-1.8.0-openjdk | Assignee: | Deepak Bhole <dbhole> |
Status: | CLOSED NOTABUG | QA Contact: | BaseOS QE - Apps <qe-baseos-apps> |
Severity: | high | Docs Contact: | |
Priority: | unspecified | ||
Version: | 6.7 | CC: | me, sbaiduzh |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-08-31 13:45:25 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
Charles Butterfield
2015-08-28 17:50:53 UTC
Note - that "other bug report" is https://bugzilla.redhat.com/show_bug.cgi?id=1258039 This is intentional. The provision is deliberately removed to keep OpenJDK8 from being pulled into buildroots (as packages built with 8 would not work on 6 or 7). Closing as NOTABUG. I'm not sure what a "buildroot" is so I'm not sure how to assess the comment about buildroots causing Java 8 to get "pulled into" a system (maybe this means after somebody installs Java 8 along with other Java versions?) I do know what "ant" is, and sadly if requires "java-devel" (see below) which does "pull in" (i.e. install) lesser versions of Java when installing ant, EVEN if Java 8 is installed, which rather than being merely annoying, it totally bad since the Java 8 priority is LESS than Java 6 or Java 7 and so the erroneously pulled in Java becomes the default (see bug https://bugzilla.redhat.com/show_bug.cgi?id=1258039) I assume far more systems use "ant" than use "buildroots" and so the conflicting goals should be resolved in favor of not breaking systems with "ant". Here is what "ant" requires $ rpm -q --requires ant-1.7.1-13.el6.x86_64 /bin/sh /bin/sh config(ant) = 0:1.7.1-13.el6 java-devel >= 0:1.5.0 jpackage-utils >= 0:1.7.5 jpackage-utils >= 0:1.7.5 jpackage-utils >= 0:1.7.5 libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libdl.so.2()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcj_bc.so.1()(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) librt.so.1()(64bit) libz.so.1()(64bit) rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(VersionedDependencies) <= 3.0.3-1 rtld(GNU_HASH) xerces-j2 xml-commons-jaxp-1.3-apis rpmlib(PayloadIsXz) <= 5.2-1 Sorry about that, I should've explained the terminology. (In reply to Charles Butterfield from comment #4) > I'm not sure what a "buildroot" is so I'm not sure how to assess the comment > about buildroots causing Java 8 to get "pulled into" a system (maybe this > means after somebody installs Java 8 along with other Java versions?) > Every build for Fedora and RHEL is done in a clean environment (chroot) with an application named mock. Mock works by creating a new chroot for each build, and then installing some base packages and all dependency (BuildRequires) packages for the package being built. Many Java dependent packages use 'java-devel' as a build requirement. If the OpenJDK8 RPM were to provide java-devel, mock would pull it in during builds (and possibly no other JDK since OpenJDK8 will be seen to satisfy all dependencies), and this would cause OpenJDK8 to do the build, making the resulting build incompatible with OpenJDK6 and 7. > I do know what "ant" is, and sadly if requires "java-devel" (see below) > which does "pull in" (i.e. install) lesser versions of Java when installing > ant, EVEN if Java 8 is installed, which rather than being merely annoying, > it totally bad since the Java 8 priority is LESS than Java 6 or Java 7 and > so the erroneously pulled in Java becomes the default (see bug > https://bugzilla.redhat.com/show_bug.cgi?id=1258039) > > I assume far more systems use "ant" than use "buildroots" and so the > conflicting goals should be resolved in favor of not breaking systems with > "ant". > Every package is built in a buildroot, so the problem would extend to every build unfortunately. We are trying to work out a better long term solution by using a meta requires and changing how JDK is packaged, but it is a significant amount of work and it will be a while before it can be introduced to RHEL. > Here is what "ant" requires > $ rpm -q --requires ant-1.7.1-13.el6.x86_64 > /bin/sh > /bin/sh > config(ant) = 0:1.7.1-13.el6 > java-devel >= 0:1.5.0 > jpackage-utils >= 0:1.7.5 > jpackage-utils >= 0:1.7.5 > jpackage-utils >= 0:1.7.5 > libc.so.6()(64bit) > libc.so.6(GLIBC_2.2.5)(64bit) > libdl.so.2()(64bit) > libgcc_s.so.1()(64bit) > libgcc_s.so.1(GCC_3.0)(64bit) > libgcj_bc.so.1()(64bit) > libm.so.6()(64bit) > libpthread.so.0()(64bit) > librt.so.1()(64bit) > libz.so.1()(64bit) > rpmlib(CompressedFileNames) <= 3.0.4-1 > rpmlib(FileDigests) <= 4.6.0-1 > rpmlib(PayloadFilesHavePrefix) <= 4.0-1 > rpmlib(VersionedDependencies) <= 3.0.3-1 > rtld(GNU_HASH) > xerces-j2 > xml-commons-jaxp-1.3-apis > rpmlib(PayloadIsXz) <= 5.2-1 |