'java -version' output is not consistent with other distributions
EnigmaCurry opened this issue · 2 comments
Comparing java -version
of your build:
$ java -version
openjdk version "1.7.0-u60-unofficial"
OpenJDK Runtime Environment (build 1.7.0-u60-unofficial-b30)
OpenJDK 64-Bit Server VM (build 24.60-b09, mixed mode)
And one packaged for debian:
$ java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.1) (7u65-2.5.1-2)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
There's a few inconsistencies:
- The first line says 'openjdk' rather than 'java'.
- The version on the first line probably should be "1.7.0_60" instead of "1.7.0-u60-unofficial" - It appears that the second line is used for describing the particular distribution details, while the first line is meant to be a common format among distributions.
This was a problem for Cassandra that we had to work around, see CASSANDRA-7799. It would be great if your distribution behaved similarly to others in this regard.
Hi,
On 08/27/2014 04:14 PM, Ryan McGuire wrote:
Comparing
java -version
of your build:$ java -version openjdk version "1.7.0-u60-unofficial" OpenJDK Runtime Environment (build 1.7.0-u60-unofficial-b30) OpenJDK 64-Bit Server VM (build 24.60-b09, mixed mode)
And one packaged for debian:
$ java -version java version "1.7.0_65" OpenJDK Runtime Environment (IcedTea 2.5.1) (7u65-2.5.1-2) OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
There's a few inconsistencies:
I understand the implications of this version format, that some tools
those parse version (like launch4j) may not work with these builds. The
idea was to have the same version on all platforms and with clear
"unofficial" label.
- The first line says 'openjdk' rather than 'java'.
This "openjdk" label is hardcoded in makefiles. IcedTea patches
makefiles (and sources) so they change this label. But I am not patching
makefiles/sources (until absolutely necessary for successful builds) so
I cannot change this. There was a discussion in OpenJDK mailing list
(cannot find the link right now) about changing this label to "java",
but Oracle people were against such change.
- The version on the first line probably should be "1.7.0_60" instead of "1.7.0-u60-unofficial" - It appears that the second line is used for describing the particular distribution details, while the first line is meant to be a common format among distributions.
I tried to use "1.x.0_xx" format initially, but it was impossible to use
it on windows. During the builds this version is embedded into windows
manifest file. And "" symbol was invalid for version in manifest and
was breaking the linking. I am not sure how they tackled this in Oracle,
but with the same version string on all platforms and without makefiles
patching I was forces to use "1.x.0" version instead. And appended
update number and "unofficial" label to full version ("-" for appended
label instead of "" is also hardcoded).
This was a problem for Cassandra that we had to work around, see [CASSANDRA-7799|https://issues.apache.org/jira/browse/CASSANDRA-7799]. It would be great if your distribution behaved similarly to others in this regard.
Reply to this email directly or view it on GitHub:
#19
-Alex
Thanks for the additional information, yea I just noticed the other OSS builds you have linked in your README are similar. It must be debian that is patching their builds to look like oracle's.
I'll close this. Thanks again.