Mailinglist Archive: opensuse-factory (1134 mails)

< Previous Next >
[opensuse-factory] New naming scheme for openjdk
Hallo all,

we are thinking about a new naming scheme for openjdk package. The old 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 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 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/ 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.


Michal Vyskocil
< Previous Next >
Follow Ups