java-sun w /usr/lib/java

Jakub Bogusz qboosh w pld.org.pl
Pon, 19 Sie 2002, 00:20:11 CEST


On Sun, Aug 18, 2002 at 10:59:04AM +0200, Tomasz Kłoczko wrote:
> On Sat, 17 Aug 2002, Jakub Bogusz wrote:
> 
> > Kiedyś był poruszany temat ustandaryzowania położenia różnych
> > implementacji Javy. Ponieważ wtedy na teorii się skończyło, teraz na
> > próbę zastosowałem jedną z wersji na java-sun.spec. Na razie na branchu
> > -rDEVEL, jak się okaże dobre, to pójdzie na HEAD (i do innych
> > implementacji).
> > 
> > Wygląda to tak:
> > /usr/lib/java - JDK
> > /usr/lib/java/bin - binarki z JDK, ale bez duplikatów z JRE
> > /usr/lib/java/jre - JRE
> > /usr/lib/java/jre/bin - binarki z JRE
> > /usr/bin/* - symlinki do binarek w /usr/lib/java/{,jre/}bin
> 
> Czy nie da się bez tych dowiazań ? i/lub jakie są powody obecności tego
> pod dwoma ścieżkami ?

Proste: bo inaczej nie działa.
Binarki z JRE (np. java) szukają bibliotek w drzewku ../lib w stosunku
do położenia binarek (/proc/self/exe) - czyli musi być symlink.
Chyba że w ogóle bez java itp. w /usr/bin, ale to niewygodne.

Przy takim schemacie jest (chyba) minimum symlinków.
To są binaria, więc nic się nie zmieni.
I tak się cieszyć, że nie musi być np. /usr/java.

> > /usr/share/java - pusty katalog na klasy niezależne od architektury
> > 
> > Przy instalacji samego JRE bez JDK po prostu nie ma katalogów
> > /usr/lib/java/{bin,include,lib}.
> 
> A dlaczego nie wziać poprostu /usr/{lib,include}/java ?

lib - nie, bo w /usr/lib/java jest więcej rzeczy.
include - dać to się da, ale w jdk.spec dosyć szybko pojawił się symlink
w /usr/lib/jdk*. Po prostu /usr/include/java czy /usr/include/jdk nie są
standardowym położeniem i programy spodziewają się tych plików
w $JAVA_HOME/include.

> Są jakieś przeciwskazania żeby pogramy w javie w rzucać do %{_bindir} ?

Zależy jakie programy? *.jar to raczej tak :>

> Zaznczam że moje rozeznanie w javie jeśli chodzi o konstukcje środowiska 
> jest raczje dość pobierzne niemniej jakaś specjalna separacja wydaje mi 
> się bez tego wiedzy bagażu dość sztuczna :)

Ja też się na Javie nie znam, ale przynajmniej trochę posprawdzałem,
kiedy to paskudztwo raczy w ogóle działać.


-- 
Jakub Bogusz    http://prioris.mini.pw.edu.pl/~qboosh/



Więcej informacji o liście dyskusyjnej pld-devel-pl