Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.maint.java > #8953 > unrolled thread

Making OpenJDK 7 the default in Wheezy-LTS

Started byMarkus Koschany <apo@debian.org>
First post2016-03-24 20:10 +0100
Last post2016-03-29 21:10 +0200
Articles 7 — 4 participants

Back to article view | Back to linux.debian.maint.java


Contents

  Making OpenJDK 7 the default in Wheezy-LTS Markus Koschany <apo@debian.org> - 2016-03-24 20:10 +0100
    Re: Making OpenJDK 7 the default in Wheezy-LTS tony mancill <tmancill@debian.org> - 2016-03-26 18:20 +0100
      Re: Making OpenJDK 7 the default in Wheezy-LTS Markus Koschany <apo@debian.org> - 2016-03-28 18:10 +0200
        Re: Making OpenJDK 7 the default in Wheezy-LTS Emmanuel Bourg <ebourg@apache.org> - 2016-03-29 09:10 +0200
          Re: Making OpenJDK 7 the default in Wheezy-LTS Markus Koschany <apo@debian.org> - 2016-03-29 21:00 +0200
    Re: Making OpenJDK 7 the default in Wheezy-LTS Andrew Haley <aph@redhat.com> - 2016-03-29 13:00 +0200
      Re: Making OpenJDK 7 the default in Wheezy-LTS Markus Koschany <apo@debian.org> - 2016-03-29 21:10 +0200

#8953 — Making OpenJDK 7 the default in Wheezy-LTS

FromMarkus Koschany <apo@debian.org>
Date2016-03-24 20:10 +0100
SubjectMaking OpenJDK 7 the default in Wheezy-LTS
Message-ID<rgiNQ-7cM-3@gated-at.bofh.it>

[Multipart message — attachments visible in raw view] — view raw

Hi all,

Wheezy-LTS is going to start next month and there is the intention to
switch the default-jre|jdk from OpenJDK 6 to OpenJDK 7 because the
latter can be supported until Wheezy reaches EOL in 2018-05-31.

I've pushed a new branch wheezy-lts to java-common with the necessary
changes in debian/rules.

https://anonscm.debian.org/cgit/pkg-java/java-common.git/tree/debian/rules?h=wheezy-lts

Can someone confirm that this is really sufficient to switch the default
to OpenJDK 7?

Is there a way to change the preferred Java environment to OpenJDK 7
with update-alternatives, assumed OpenJDK 6 was installed before? Is
this a good idea or should we just warn users about the fact that they
use an unsupported Java version on their system and recommend to do the
switch manually?

Otherwise I have identified four packages that strictly depend on
openjdk-6-jdk and fourteen packages that depend on openjdk-6-jre without
a good alternative. My intention is to switch the dependencies to
something like default-jre | java6-runtime or default-jdk | java6-sdk.
The change is trivial, I was just wondering why so many packages were in
this state back then.

Any suggestions what should be avoided or done when switching the
default to OpenJDK 7 in Wheezy?

Thanks,

Markus


[toc] | [next] | [standalone]


#8958

Fromtony mancill <tmancill@debian.org>
Date2016-03-26 18:20 +0100
Message-ID<rh02u-3Q2-19@gated-at.bofh.it>
In reply to#8953

[Multipart message — attachments visible in raw view] — view raw

Hello Markus,

On 03/24/2016 12:03 PM, Markus Koschany wrote:
> Hi all,
> 
> Wheezy-LTS is going to start next month and there is the intention to
> switch the default-jre|jdk from OpenJDK 6 to OpenJDK 7 because the
> latter can be supported until Wheezy reaches EOL in 2018-05-31.
> 
> I've pushed a new branch wheezy-lts to java-common with the necessary
> changes in debian/rules.
> 
> https://anonscm.debian.org/cgit/pkg-java/java-common.git/tree/debian/rules?h=wheezy-lts
> 
> Can someone confirm that this is really sufficient to switch the default
> to OpenJDK 7?
> 
> Is there a way to change the preferred Java environment to OpenJDK 7
> with update-alternatives, assumed OpenJDK 6 was installed before? Is
> this a good idea or should we just warn users about the fact that they
> use an unsupported Java version on their system and recommend to do the
> switch manually?

Since things could potentially break, or the user might have already
performed some custom configuration, I think warning the user via a new
NEWS entry (see [1]) in java-common is appropriate.  Then the user can
take the necessary/desired action.

> Otherwise I have identified four packages that strictly depend on
> openjdk-6-jdk and fourteen packages that depend on openjdk-6-jre without
> a good alternative. My intention is to switch the dependencies to
> something like default-jre | java6-runtime or default-jdk | java6-sdk.
> The change is trivial, I was just wondering why so many packages were in
> this state back then.

I recall there being some confusion (perhaps also perpetrated or
propagated by me) as to the Right Way of specifying a java runtime
dependency.  We could (and probably should) add a lintian warning about
such strict dependencies.

> Any suggestions what should be avoided or done when switching the
> default to OpenJDK 7 in Wheezy?

I believe you are forging a new trail here.  Thank you for investing in
LTS support.

Cheers,
tony

[1]
https://www.debian.org/doc/manuals/developers-reference/best-pkging-practices.html#bpp-news-debian


[toc] | [prev] | [next] | [standalone]


#8960

FromMarkus Koschany <apo@debian.org>
Date2016-03-28 18:10 +0200
Message-ID<rhHTQ-ZO-17@gated-at.bofh.it>
In reply to#8958

[Multipart message — attachments visible in raw view] — view raw

Hi tony,

Am 26.03.2016 um 18:05 schrieb tony mancill:
> Hello Markus,
> 
> On 03/24/2016 12:03 PM, Markus Koschany wrote:
[...]
>> Is there a way to change the preferred Java environment to OpenJDK 7
>> with update-alternatives, assumed OpenJDK 6 was installed before? Is
>> this a good idea or should we just warn users about the fact that they
>> use an unsupported Java version on their system and recommend to do the
>> switch manually?
> 
> Since things could potentially break, or the user might have already
> performed some custom configuration, I think warning the user via a new
> NEWS entry (see [1]) in java-common is appropriate.  Then the user can
> take the necessary/desired action.

That's a good suggestion. I think a forced change to OpenJDK 7 is out of
the question. After the default has been switched to OpenJDK 7, manual
interaction will be required by the users with update-alternatives. That
should raise their awareness for the change and give them the freedom to
switch when they feel comfortable with it.

We will also announce those changes via the debian-security-announce and
debian-lts-announce mailing lists which will contain links to

https://wiki.debian.org/LTS/Wheezy

This site will document all important issues to be aware of for Wheezy
LTS. There will also be another NEWS on debian.org too.

>> Otherwise I have identified four packages that strictly depend on
>> openjdk-6-jdk and fourteen packages that depend on openjdk-6-jre without
>> a good alternative. My intention is to switch the dependencies to
>> something like default-jre | java6-runtime or default-jdk | java6-sdk.
>> The change is trivial, I was just wondering why so many packages were in
>> this state back then.
> 
> I recall there being some confusion (perhaps also perpetrated or
> propagated by me) as to the Right Way of specifying a java runtime
> dependency.  We could (and probably should) add a lintian warning about
> such strict dependencies.
> 
>> Any suggestions what should be avoided or done when switching the
>> default to OpenJDK 7 in Wheezy?
> 
> I believe you are forging a new trail here.  Thank you for investing in
> LTS support.

I got some feedback from Emmanuel on IRC and he voiced some concerns
about the switch to OpenJDK 7 because web applications might behave
differently. This site lists all those possible compatibility issues. [1]

This is mainly an issue with web servers like Tomcat. However after
checking the dependencies again, it appears that Tomcat 6 / 7 already
depend on default-jre-headless | java6-runtime-headless. Even if we
switched the default to OpenJDK 7, the dependencies would be satisfied
and OpenJDK 7 would not be pulled in except if specifically requested.

Emmanuel, could you outline again what needs to be done to address your
concerns? As far as dependencies goes this looks sane to me.

Regards,

Markus


[1] http://www.oracle.com/technetwork/java/javase/compatibility-417013.html





[toc] | [prev] | [next] | [standalone]


#8963

FromEmmanuel Bourg <ebourg@apache.org>
Date2016-03-29 09:10 +0200
Message-ID<rhVWN-2De-3@gated-at.bofh.it>
In reply to#8960
Le 28/03/2016 18:05, Markus Koschany a écrit :

> Emmanuel, could you outline again what needs to be done to address your
> concerns? As far as dependencies goes this looks sane to me.

The issue is the init script of Tomcat [1], it uses
/usr/lib/jvm/default-java first if available. The same goes for Jetty.

Switching the default JRE will affect any application using
/usr/lib/jvm/default-java directly instead of /usr/bin/java. Also if I'm
not mistaken openjdk-6 could get autoremoved by APT and the alternative
then switched to openjdk-7.

So my suggestion would be to push an update of java-common first with a
NEWS file stating that we'll stop maintaining openjdk-6 in <n> months
and switch the default JRE. This will let enough time to the LTS users
to anticipate the change.

Emmanuel Bourg

[1] https://sources.debian.net/src/tomcat7/7.0.56-3/debian/tomcat7.init/#L56

[toc] | [prev] | [next] | [standalone]


#8967

FromMarkus Koschany <apo@debian.org>
Date2016-03-29 21:00 +0200
Message-ID<ri71U-1Ri-11@gated-at.bofh.it>
In reply to#8963

[Multipart message — attachments visible in raw view] — view raw

Am 29.03.2016 um 09:00 schrieb Emmanuel Bourg:
> Le 28/03/2016 18:05, Markus Koschany a écrit :
> 
>> Emmanuel, could you outline again what needs to be done to address your
>> concerns? As far as dependencies goes this looks sane to me.
> 
> The issue is the init script of Tomcat [1], it uses
> /usr/lib/jvm/default-java first if available. The same goes for Jetty.
> 
> Switching the default JRE will affect any application using
> /usr/lib/jvm/default-java directly instead of /usr/bin/java. Also if I'm
> not mistaken openjdk-6 could get autoremoved by APT and the alternative
> then switched to openjdk-7.

It seems you picked Tomcat 7 in Jessie but nevermind, although the
version in Wheezy [2] looks different it would use default-java as
JAVA_HOME too. I don't know why we wrote the find_openjdks() function in
the first place..
The admin could also override the init script with /etc/default/tomcat7.
I think this case highlights the importance of supporting one and only
one Java runtime per release, if we don't want to invest a lot of time
in fixing those corner cases.

I think we could upload new packages of Tomcat and Jetty that warn the
users about the upcoming switch to OpenJDK 7 and recommend to explicitly
set JAVA_HOME in /etc/default/tomcat7. I will also document this on
https://wiki.debian.org/LTS/Wheezy.

I'm not sure about the autoremoval of OpenJDK 6. On my Wheezy system
nothing got removed and I had to use update-alternatives manually.

> So my suggestion would be to push an update of java-common first with a
> NEWS file stating that we'll stop maintaining openjdk-6 in <n> months
> and switch the default JRE. This will let enough time to the LTS users
> to anticipate the change.

I like this suggestion. I will also add NEWS files to Tomcat and Jetty
when Wheezy-LTS starts. My current plan is to change default-java two
months later.

Cheers,

Markus

> 
> Emmanuel Bourg
> 
> [1] https://sources.debian.net/src/tomcat7/7.0.56-3/debian/tomcat7.init/#L56
> 


[2]
https://sources.debian.net/src/tomcat7/7.0.28-4%2Bdeb7u2/debian/tomcat7.init/


[toc] | [prev] | [next] | [standalone]


#8964

FromAndrew Haley <aph@redhat.com>
Date2016-03-29 13:00 +0200
Message-ID<rhZxo-4TD-5@gated-at.bofh.it>
In reply to#8953

[Multipart message — attachments visible in raw view] — view raw

On 24/03/16 19:03, Markus Koschany wrote:
> Wheezy-LTS is going to start next month and there is the intention to
> switch the default-jre|jdk from OpenJDK 6 to OpenJDK 7 because the
> latter can be supported until Wheezy reaches EOL in 2018-05-31.

Yes!  Good call.

While we are still supporting OpenJDK 6 and making security releases,
it is always the last in the queue when there is urgent work to be
done, and for this reason may be subject to delays.

Andrew.

(OpenJDK 6 project lead.)

[toc] | [prev] | [next] | [standalone]


#8968

FromMarkus Koschany <apo@debian.org>
Date2016-03-29 21:10 +0200
Message-ID<ri7bA-2cj-23@gated-at.bofh.it>
In reply to#8964

[Multipart message — attachments visible in raw view] — view raw

Am 29.03.2016 um 12:58 schrieb Andrew Haley:
> On 24/03/16 19:03, Markus Koschany wrote:
>> Wheezy-LTS is going to start next month and there is the intention to
>> switch the default-jre|jdk from OpenJDK 6 to OpenJDK 7 because the
>> latter can be supported until Wheezy reaches EOL in 2018-05-31.
> 
> Yes!  Good call.
> 
> While we are still supporting OpenJDK 6 and making security releases,
> it is always the last in the queue when there is urgent work to be
> done, and for this reason may be subject to delays.
> 
> Andrew.
> 
> (OpenJDK 6 project lead.)

Thanks for all your work on supporting older OpenJDK releases. We all
very much appreciate that.

Regards,

Markus


[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.maint.java


csiph-web