From Fedora Project Wiki
(more detailed testing section)
(https://pagure.io/fesco/issue/1882)
Line 159: Line 159:
 
-->
 
-->
  
[[Category:ChangeAnnounced]]
+
[[Category:ChangeReadyForFesco]]
 
<!-- When your change proposal page is completed and ready for review and announcement -->
 
<!-- When your change proposal page is completed and ready for review and announcement -->
 
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
 
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->

Revision as of 06:22, 18 April 2018


java-openjdk 10 - rolling release for Short Term Support releases of OpenJDK

Summary

OpenJDK have release cadence of 6 months. but 3/4 of them are Short Term Supported for 6 months only. This package is designed to harbore them. Currently it is build on openJDK 10. LTSs (next is 11) will go as separate packages.

See announcement: http://mail.openjdk.java.net/pipermail/discuss/2017-September/004281.html
See java SIG plans: https://jvanek.fedorapeople.org/devconf/2018/changesInjavaReleaseProcess.pdf

Owner

  • Name: Jiri Vanek
  • Email: jvanek@redhat.com
  • Release notes owner:

Current status

  • Targeted release: Fedora 28
  • Last updated: 2018-04-18
  • Tracker bug: 1557371

Detailed Description

JDK10 is next major release of Java platform. It is bringing many cool improvements - http://openjdk.java.net/projects/jdk/10/ and is landing to your Fedora. Where it will be maintained for f27 and newer. Unluckily, it is STS (short term support) version. Between individual LTS will be always several STS. Again, please See announcement: http://mail.openjdk.java.net/pipermail/discuss/2017-September/004281.html and See java SIG plans: https://jvanek.fedorapeople.org/devconf/2018/changesInjavaReleaseProcess.pdf . So this is rolling release of all STSs to come. Its fate during the release of fresh LTS is yet to be decided. You will always be allowed to install Used LTS in fedora build root, alongside with latest STS via alternatives.

This pacakge will live as necessary. After JDK10 is EOLed by upstream, it can be updated to JDK11 or obsolated by java-11-openjdk. In all cases, it will be lateru pdated to JDK12. Also in all cases separate package will be created for any LTS JDK - next is java-11-openjdk,

All those packages java-1.8.0-oepnjdk, java-openjdk and java-11-openjdk will be installable in parallel. You can also have installed several versiosn of java-openjdk installed next to each other. They are in your /usr/lib/jvm/java-X-openjdk-v-r.a directory. Where X is major - like 1.8.0, 9, 10, 11 or 12.

Benefit to Fedora

Fedora will keep on top of java technology, All developers and interested parties will have latest OpenJDK available (currently 10). As another benefit of this approach, build stack will not be affected, and will continue to be build by most stable LTS (currently 8, in year or so replaced by JDK 11).

Scope

  • Proposal owners:

This is isolated change. The maintainers of OpenJDK in Fedora must build the binaries, and keep them working. Still, to keep this rolling release will be soem packaging challenge. Lets see this when JDK12 (or maybe already 11) come out.

  • Other developers: Should slowly start to check theirs packages against JDK10. this is nothing official, and you can get troubles when trying it with rpmbuild, as your dependencies may (more likely will) pull JDK8 into build root. But you can try to compile your sources against JDK10 to see how your upstream get adapted to modules, and possibly start to upstream patches.
  • Policies and guidelines: N/A (not a System Wide Change)
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

java-openjdk can coexists with java-1.8.0-openjdk (and possibly also with eoled java-9-openjdk). It should coexist with java-11-openjdk in future too. The update of java-openjdk v10 to v11 or v12 should be smooth and transparent.
Please note, that since java-9-openjdk config files of JDK are in /etc/java. Still, you can have several JDKs installed in parallel.

How To Test

dnf install java-openjdk
alternatives --config java
[select JDK10]
java -version
[should be 10]
alternatives --config javac
[select JDK10]
javac -version
[should be 10]

And happy hacking!


User Experience

Users will be able to write programs for JDK10 and to enjoy runtime for JDK10 specific applications

Dependencies

N/A (not a System Wide Change)

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), Yes/No
  • Blocks product? N/A

Documentation

N/A (not a System Wide Change)

Release Notes