Re: diablo jdk - Freebsdfoundation

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Wed, 2 Feb 2011 16:50:49 +0100 (CET)

rainer(at)ultra-secure.de wrote:
> So weit ich weiss (habe vor einer Weile mal bei der Foundation direkt
> gefragt), wird es kein Update geben.
> Es wird auf den OpenJDK Port verwiesen, der wohl "kompatibel" genug ist

Da das Java von Oracle (ehemals Sun) auf OpenJDK basiert,
würde ich mir über die Kompatibilität keine großen Sorgen
machen.

> (andere Distris verwenden den ja schon länger wie es scheint - und jetzt
> engagiert sich ja auch Apple...).

So ist es. Oracle, IBM und Apple sind da jetzt im Boot.

> Das Interessante ist nur, das manche Ports auf diablo-jdk dependen, manche
> aber auf das selbergebaute jdk...

Nein, die meisten Ports, die Java verwenden, dependen nicht
direkt auf eine bestimmte Java-Distribution. Die Sache ist
ein bisschen komplexer. Ich habe mal eine kleine Statistik
gemacht; mit /usr/ports auf einer SSD geht das ja schön
schnell ... ;)

Momentan gibt es 502 Ports (von 22597), die eine direkte
Dependency auf Java haben, d.h. die "USE_JAVA" im Makefile
haben. Dem weitaus überwiegenden Teil davon ist es völlig
egal, welche Java-Distribution das ist. Momentan gibt es
fünf verschiedene Distributionen (*) -- Wenn eine beliebige
davon installiert ist, wird sie genommen.

Lediglich 22 Ports (von 502, also weniger als 5%) geben
eine oder mehrere "erlaubte" Distributionen vor (durch
JAVA_VENDOR im Makefile).

Wenn der Fall eintritt, dass kein Java installiert ist
(oder keines aus der Liste, die der Port vorgegeben hat),
dann wird eine Java-Distribution anhand einer Prioritäten-
liste ausgewählt und installiert. Diese Liste ist in
/usr/ports/Mk/bsd.java.mk definiert (sie kann zwar vom
Port per JAVA_PREFERRED_PORTS modifiziert werden, aber
davon macht zur Zeit kein Port Gebrauch). Im Falle von
FreeBSD <= 7 steht dort an erster Stelle das diablo-jdk16,
und im Falle FreeBSD >= 8 ist es das bsdjava-jdk16.

Natürlich wäre es wünschenswert, den Default auf openjdk
zu ändern, allein schon wegen der besseren Lizenz. Aber
dann muss sichergestellt sein, dass alle 502 Ports damit
mindestens ebensogut funktionieren, was ziemlich aufwendig
ist.

Gruß
   Olli

PS: (*) Der Vollständigkeit halber, dies sind die fünf
Java-"Distributionen", die es momentan für FreeBSD gibt:

 - Die Diablo-Packages der FreeBSD-Foundation (native).
 - Den BSD-Port ("bsdjava", native).
 - OpenJDK (native).
 - Blackdown Java (Linux-Binaries, inzwischen veraltet).
 - Sun Java für Linux (Linux-Binaries)

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
(On the statement print "42 monkeys" + "1 snake":)  By the way,
both perl and Python get this wrong.  Perl gives 43 and Python
gives "42 monkeys1 snake", when the answer is clearly "41 monkeys
and 1 fat snake".        -- Jim Fulton
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 02 Feb 2011 - 16:51:11 CET

search this site