[opensuse-factory] New naming scheme for openjdk
Hallo all, we are thinking about a new naming scheme for openjdk package. The old jpackage.org compatible way makes a sense in a past, where there was so sloooow release schedule, that you'd have to use more than one major version of java at the same time. With a new Oracle's approach, this will change and a major version will be increased much faster. We switched to jdk7 recently, but the EOL ends on July 2014 [1] and jdk8 is in pre-release phase atm. Thus there won't be so big need or a possibility to have more than one major version maintained in openSUSE. So the current jpackage.org compatible scheme is pointless and only complicate things. I see a need to drop it and create a new naming scheme for us (the compatibility can be maintain on a level of capabilities). 1.) have one $NAME for current version (openjdk7 in in 12.2) and if we will need add a newest major release, but don't want to switch, we can have $NAME-next with such major release. 2.) adapt gcc approach and have $NAME package, which will require the proper packages with a versions. The next question is what will be in a name? I've looked on what other distros are doing ... # RPM distributions Most rpm distribution adapt the jpackage.org naming, so java-1.$MAJOR_VERSION.0-$VENDOR (we used underscores instead of dots) java-1.7.0-openjdk - the JRE java-1.7.0-openjdk-devel - the JDK (java et all) java-1.7.0-openjdk-src, demo, ... the rest # Debian Debian use quite complex scheme, there are virtual packages default-jre, default-jdk points to proper version. Source package is named openjdk-$MAJOR_VERSION (openjdk-7) and number of binary packages is quite big openjdk-7-jre - JRE using Hotspot VM (the standard one) openjdk-7-jdk - JDK openjdk-7-jre-zero - JRE using Zero assembler VM (extremly slow, but extremly portable) openjdk-7-jre-headless - the headless version, which don't require X11, pulseaudio et all, but contains JIT openjdk-7-jre-lib - noarch package contains some jar files for JRE openjdk-7-demo, openjdk-7-doc, openjdk-7-source - unimportant files icedtea-7-jre-cacao, icedtea-7-jre-jamvm are alternative virtual machines (provides own jre/lib/amd64/cacao/libjvm.so files) # Arch Linux openjdk7-src - source package jre7-openjdk-headless - headless version of runtime jre7-openjdk - rest of the runtime jdk7-openjdk - JDK # Rest * FreeBSD uses openjdk6 name for their port * Gentoo have icedtea6/icedtea7 as a name I'm looking forward on your hints BTW: note that OpenJDK is trademark [3] of Oracle, so there is a reason why Debian calls their packages with alternative VM icedtea instead. [1] http://www.oracle.com/technetwork/java/eol-135779.html [2] http://wiki.debian.org/Java/ [3] http://openjdk.java.net/legal/openjdk-trademark-notice.html Regards Michal Vyskocil
On Tuesday 2012-06-26 10:59, Michal Vyskocil wrote:
So the current jpackage.org compatible scheme is pointless and only complicate things. I see a need to drop it and create a new naming scheme for us (the compatibility can be maintain on a level of capabilities).
1.) have one $NAME for current version (openjdk7 in in 12.2) and if we will need add a newest major release, but don't want to switch, we can have $NAME-next with such major release.
2.) adapt gcc approach and have $NAME package, which will require the proper packages with a versions.
I like the gcc approach very much, as there is a safe default present (gcc46 in openSUSE_12.1 case while gcc47 was cooking). However, I would not mind of openjdk - or gcc too - used a clearer number separation: gcc-4_7-{c++,info,etc} just in case there is going to be a 4.10.
The next question is what will be in a name? I've looked on what other distros are doing ...
# RPM distributions Most rpm distribution adapt the jpackage.org naming, so java-1.$MAJOR_VERSION.0-$VENDOR (we used underscores instead of dots)
java-1.7.0-openjdk - the JRE java-1.7.0-openjdk-devel - the JDK (java et all)
"et al.". For et alii/aliae/alia; not "& all the other losers" :)
java-1.7.0-openjdk-src, demo, ... the rest
# Debian Debian use quite complex scheme, there are virtual packages default-jre, default-jdk points to proper version. Source package is named openjdk-$MAJOR_VERSION (openjdk-7) and number of binary packages is quite big
openjdk-7-jre - JRE using Hotspot VM (the standard one)
openjdk-7-jdk - JDK
openjdk-7-jre-zero - JRE using Zero assembler VM (extremly slow, but extremly portable)
openjdk-7-jre-headless - the headless version, which don't require X11, pulseaudio et all, but contains JIT
openjdk-7-jre-lib - noarch package contains some jar files for JRE
openjdk-7-demo, openjdk-7-doc, openjdk-7-source - unimportant files
icedtea-7-jre-cacao, icedtea-7-jre-jamvm are alternative virtual machines (provides own jre/lib/amd64/cacao/libjvm.so files)
# Arch Linux
openjdk7-src - source package jre7-openjdk-headless - headless version of runtime jre7-openjdk - rest of the runtime jdk7-openjdk - JDK
# Rest
* FreeBSD uses openjdk6 name for their port * Gentoo have icedtea6/icedtea7 as a name
I'm looking forward on your hints
The Java numbering is pretty much screwed up anyway. "Java2 7" is actually *1*.7.0. (And SunOS 5.10 is Solaris 10.) Great work, Sun... just drop the 1, and also drop the 0 since it does not seem to move at all, which leaves us with openjdk7/jre7/java7-openjdk... And we should keep to the general Linux credo of "same basename for same package; plus a suffix of choice". In other words, no jre7-openjdk, jdk7-openjdk, but openjdk7-jre, openjdk7-devel. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Tue, Jun 26, 2012 at 12:21:12PM +0200, Jan Engelhardt wrote:
On Tuesday 2012-06-26 10:59, Michal Vyskocil wrote:
So the current jpackage.org compatible scheme is pointless and only complicate things. I see a need to drop it and create a new naming scheme for us (the compatibility can be maintain on a level of capabilities).
1.) have one $NAME for current version (openjdk7 in in 12.2) and if we will need add a newest major release, but don't want to switch, we can have $NAME-next with such major release.
2.) adapt gcc approach and have $NAME package, which will require the proper packages with a versions.
I like the gcc approach very much, as there is a safe default present (gcc46 in openSUSE_12.1 case while gcc47 was cooking).
However, I would not mind of openjdk - or gcc too - used a clearer number separation: gcc-4_7-{c++,info,etc} just in case there is going to be a 4.10.
The next question is what will be in a name? I've looked on what other distros are doing ...
# RPM distributions Most rpm distribution adapt the jpackage.org naming, so java-1.$MAJOR_VERSION.0-$VENDOR (we used underscores instead of dots)
java-1.7.0-openjdk - the JRE java-1.7.0-openjdk-devel - the JDK (java et all)
"et al.". For et alii/aliae/alia; not "& all the other losers" :)
Hi Jan, thanks, thats my common mistake
The Java numbering is pretty much screwed up anyway. "Java2 7" is actually *1*.7.0. (And SunOS 5.10 is Solaris 10.) Great work, Sun... just drop the 1, and also drop the 0 since it does not seem to move at all, which leaves us with openjdk7/jre7/java7-openjdk...
Fortunatelly no one uses java2 - it does not make any sense. But you know, the main reason for change (1.5.0 -> 5) was MS .NET. Pretty much same situation, like FF versus Chrome.
And we should keep to the general Linux credo of "same basename for same package; plus a suffix of choice". In other words, no jre7-openjdk, jdk7-openjdk, but openjdk7-jre, openjdk7-devel.
Sounds reasonable, even if I would like to change the -devel to -jdk. Regards Michal Vyskocil
-- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Tuesday 2012-06-26 14:33, Michal Vyskocil wrote:
The Java numbering is pretty much screwed up anyway. "Java2 7" is actually *1*.7.0. (And SunOS 5.10 is Solaris 10.) Great work, Sun... just drop the 1, and also drop the 0 since it does not seem to move at all, which leaves us with openjdk7/jre7/java7-openjdk...
Fortunatelly no one uses java2 - it does not make any sense. But you know, the main reason for change (1.5.0 -> 5) was MS .NET. Pretty much same situation, like FF versus Chrome.
I just hope they one day realize that they have now exhausted all advertising-worthy numbers. Firefox 13 just does not have the same ring as "4.0" used to. In economical terms: abundance makes the value go down.
And we should keep to the general Linux credo of "same basename for same package; plus a suffix of choice". In other words, no jre7-openjdk, jdk7-openjdk, but openjdk7-jre, openjdk7-devel.
Sounds reasonable, even if I would like to change the -devel to -jdk.
I do not see a need to give in to the jdk name, or the "kit" hype. We had java-1_*_0-sun-devel for as long as I can remember, and everybody knows what -devel is about. Plus, "openjdk7-jdk" sounds silly (like perl-Devel-devel would). -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Tue, Jun 26, 2012 at 03:13:44PM +0200, Jan Engelhardt wrote:
On Tuesday 2012-06-26 14:33, Michal Vyskocil wrote:
The Java numbering is pretty much screwed up anyway. "Java2 7" is actually *1*.7.0. (And SunOS 5.10 is Solaris 10.) Great work, Sun... just drop the 1, and also drop the 0 since it does not seem to move at all, which leaves us with openjdk7/jre7/java7-openjdk...
Fortunatelly no one uses java2 - it does not make any sense. But you know, the main reason for change (1.5.0 -> 5) was MS .NET. Pretty much same situation, like FF versus Chrome.
I just hope they one day realize that they have now exhausted all advertising-worthy numbers. Firefox 13 just does not have the same ring as "4.0" used to. In economical terms: abundance makes the value go down.
And we should keep to the general Linux credo of "same basename for same package; plus a suffix of choice". In other words, no jre7-openjdk, jdk7-openjdk, but openjdk7-jre, openjdk7-devel.
Sounds reasonable, even if I would like to change the -devel to -jdk.
I do not see a need to give in to the jdk name, or the "kit" hype. We had java-1_*_0-sun-devel for as long as I can remember, and everybody knows what -devel is about. Plus, "openjdk7-jdk" sounds silly (like perl-Devel-devel would).
Hallo Jan, I honestly disagree. I do not think the "we did it in a past" is a valid argument in discussion intend to drop what we did in a past. IOW if we change the naming scheme completelly, I do not see a need to stay with a -devel just because we did it in a past. My arguments for -jdk * everyone knows what JDK is. At least in Java world and if someone don't know what is it, he don't need it ;-) * about "kit" hype - that's the specific problem of one vendor openjdk, for (like IBM we have in SLE and I would like to have consistent scheme everywhere) it makes a sense to have ibm-7-jdk * -devel suffix has very specific meaning, and JDK matches with it only partially + and as the existing provides (jre, java, java-devel) will stay unchanged, nothing will change^Wbreak on rpm level - your package will be compatible on source and binary level across various distributions as now Regards Michal Vyskocil
On Wednesday 2012-06-27 09:30, Michal Vyskocil wrote:
* everyone knows what JDK is. At least in Java world and if someone don't know what is it, he don't need it ;-)
-jdk is only understood by Java people, but -devel is truly global :)
* about "kit" hype - that's the specific problem of one vendor openjdk, for (like IBM we have in SLE and I would like to have consistent scheme everywhere) it makes a sense to have ibm-7-jdk
(ibm-7-jdk) I find that that does not emphasize the Java component enough. Unlike OpenJDK/Icedtea, IBM is a company, not directly the Java project. We should keep ibm-java for it. (And similarly sun-java.) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On 27.06.2012 13:18, Jan Engelhardt wrote:
On Wednesday 2012-06-27 09:30, Michal Vyskocil wrote:
* everyone knows what JDK is. At least in Java world and if someone don't know what is it, he don't need it ;-)
-jdk is only understood by Java people, but -devel is truly global :)
Who else would want to devel against java if not "java people"? Greetings, Stephan P.S. I hate technical racisms, people are people. -- When a person goes on a diet, the first thing he loses is his temper. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Wed, Jun 27, 2012 at 01:18:08PM +0200, Jan Engelhardt wrote:
(ibm-7-jdk) I find that that does not emphasize the Java component enough. Unlike OpenJDK/Icedtea, IBM is a company, not directly the Java project. We should keep ibm-java for it. (And similarly sun-java.)
Good point! And ibm-7-jre and -jdk is ok, but what about ibm-7-src, or ibm-7-plugin. We might have -jre-src and -jre-plugin probably, but it's clumsy ... What an another idea - lets call it **an evolution** instead of revolution java-7-openjdk, java-7-ibm-devel (or -jdk^), java-7-oracle-plugin, ... so the pattern is java-$MAJOR_VERSION-$VENDOR(-$SUBPACKAGE) in this case, I won't be for -jre subpackage, but there might be a -headless one, where a package without a suffix will stand for jre for jamvm and cacao, we can do java-7-cacao, java-7-jamvm, or java-7-icedtea-cacao and -jamvm? ^ in such case, where we do only small changes, it does not make a sense to me rename -devel to -jdk BTW: Thanks for discussing it with me, it really helps me to get the whole point Regards Michal Vyskocil
participants (3)
-
Jan Engelhardt
-
Michal Vyskocil
-
Stephan Kulow