OpenJDK SRU exception

Steve Langasek steve.langasek at ubuntu.com
Sat Mar 24 04:43:40 UTC 2018


Hi Tiago,

Thanks for this additional analysis.  This is useful to understand in light
of the concerns (which we discussed off list) that future releases of
OpenJDK between 9 and 11 may not be fully binary compatible after all with
binaries built against OpenJDK8, and may therefore not be a viable fallback
for packages which fail to build with OpenJDK 10 or 11.

It would be ideal to fix as many of these build failures as possible before
18.04 releases.  The number of these currently failing packages looks
manageable, especially considering the good news that maven-related fixes
are currently in progress in Debian.

I do not consider these build failures a blocker for the plan to switch to
OpenJDK10 by default in 18.04.

To make sure I understand the whole plan: will the maven stack need to be
rebuilt in 18.04 against OpenJDK9 to ensure packages do not fail to build in
SRU?  Or were these rebuilds only for testing?

On Fri, Mar 23, 2018 at 11:34:49PM +0100, Tiago Daitx wrote:
> On behalf of the Ubuntu Foundations Team, I would like to provide
> further information on the outstanding issues of the OpenJDK 9
> transition.

> Of the 35 direct reverse build and runtime dependencies of java-common
> in Bionic/main, which amount to 26 source packages, there are 5 that
> currently FTBFS when build with openjdk-9:

[...]

> The 2 important runtimes in Bionic/main are tomcat8 and libreoffice
> (the database component) and both are run fine under OpenJDK 9. Let me
> know if there is any particular use cases to try on those.

> There are 171 packages - amounting to 97 source packages - that are a
> direct reverse build or runtime dependency of maven in Bionic. Of
> those there are 13 failures:

[...]

> Other outstanding packages that FTBFS with OpenJDK 9:
> - bnd* (33)
> - gradle* (16)

I recognize gradle; I was unfamiliar with bnd.  What is interesting about
these two packages in particular?

It would be interesting to know about other java FTBFS in universe. 
However, we can gather information about this after java-common has been
updated, as part of the next full-archive test rebuild of bionic.

To the main body of the plan:

On Fri, Feb 2, 2018 at 11:58 AM, Tiago Daitx <tiago.daitx at canonical.com> wrote:
> On behalf of the Ubuntu Foundations Team, I am requesting an SRU
> exception for OpenJDK. Our plan is to release OpenJDK 10 as the
> default JRE/JDK [1] for Bionic, and then move the default JRE/JDK in
> main to OpenJDK 11 in September/October 2018 as an SRU.

> = Proposed Plan =
> Bionic will be released with OpenJDK 10 as the default JRE/JDK and
> OpenJDK 11 will replace it once it reaches GA.

> OpenJDK 8 will be moved to universe and remain available there for
> 18.04, to provide migration time for packages that can't be build with
> OpenJDK 10 or 11.

> OpenJDK 8 will remain in main in 16.04 LTS (which reaches EOL in April 2021).

Not mentioned in this description is that we should migrate ASAP to OpenJDK9
by default, to ease the transition to OpenJDK10 between now and release.

(Not mentioned because at the time you first wrote, this wasn't expected to
miss feature freeze.)

> = Rationale =
> Oracle will end upstream security support for OpenJDK 8 in September
> 2018 [2].  Red Hat has indicated that they will provide support until
> October 2020 [3,4].  Canonical is committed to working with fellow
> distributors of OpenJDK 8 to provide security support through the end
> of Ubuntu 16.04 LTS’s supported lifecycle in April 2021, but would
> prefer not to extend its maintenance costs a further two years beyond
> this by including OpenJDK 8 in main in Bionic.

> Meanwhile, the OpenJDK project has moved to a 6-month release cycle
> with an LTS version every 3 years [2].

> The first LTS version is OpenJDK 11, to be released on September 2018
> and supported by Oracle until September 2021. Since it is an LTS
> release, we expect the OpenJDK community will align around this
> version to extend support beyond the end of Oracle’s security support
> period.

> If we are going to switch to OpenJDK 11 in bionic once released, we
> want to avoid OpenJDK 8 as the default JRE/JDK in Bionic at release
> time because any additional interface delta that exists between 8 and
> 11 not only exposes the archive to breakage, it also exposes external
> consumers of the JDK to breakage.  In comparison, the interface delta
> between OpenJDK 10 and OpenJDK 11 is expected to be fairly small,
> especially in comparison with the delta between OpenJDK 8 and OpenJDK
> 9 that we already know is large.  We should therefore release with
> OpenJDK 10 as the default JDK in 18.04, transitioning to OpenJDK 11
> when it is released.

I agree with this rationale and approve this SRU exception for OpenJDK 11 in
Ubuntu 18.04 LTS.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek at ubuntu.com                                     vorlon at debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/ubuntu-release/attachments/20180323/ee0e7028/attachment.sig>


More information about the Ubuntu-release mailing list