/usr/X11R6 one more time

Jakub Bogusz qboosh w pld.org.pl
Czw, 5 Cze 2003, 23:52:07 CEST


On Thu, Jun 05, 2003 at 10:41:12PM +0200, Witek Kręcicki wrote:
> Wiem ze to sie przewijalo przez liste ale:
> 1. Argumentacja za zostawieniem X'ow i bibliotek do nich w /usr/X11R6
> byla 'a moze ktos chce inna implementacje X'ow niz XFree86 '. 

Moja argumentacja (co do pozostawienia XFree86 w /usr/X11R6 po
przeniesieniu reszty do /usr) ograniczała się FHS i praktyki:
- wg FHS w /usr/X11R6 znajduje się implementacja X11R6 (jakaś,
  niekoniecznie XFree86)
- w większości (wszystkich znaczących?) dystrybucji tak jest
- z ww. powodów programy mają prawo się odwoływać do plików (programów,
  bibliotek) z dystrybucji implementacji X11R6 ze ścieżką /usr/X11R6/*

- próba obejścia poprzedniego przez symlink /usr/X11R6 -> /usr
  spowodowałaby niezłe jaja przy uaktualnianiu pakietów z Ra do nowej
  wersji
  (pomijam już obowiązkowe symlinki z /usr/*/X11 - ścieżki by się
  zgadzały)

> 2. W takim razie jaki jest sens trzymania w /usr/{bin,sbin,lib} binarek
> zlinkowanych z chociazby libX11.so ktore nalezy do XFree86. W takim
> wypadku nalezy wszystko co z tym zlinkowane przerzucic do
> /usr/X11R6/{bin,sbin,lib} bo moze konfliktowac z programami zlinkowanymi
> z inna implementacja X'ow.

API/ABI podstawowych bibliotek dla X11R6 jest zdefiniowane przez X.org.
Rozszerzenia też chyba są jakoś rejestrowane (przynajmniej część), inne
mają nazwy specyficzne dla implementacji (xdpyinfo | grep -i xfree86).

> Jak widac kolo sie zamyka. IMVHO nie ma sensu zostawiac /usr/X11R6
> (zabijcie mnie, jestem heretykiem) bo jezeli zdecydujemy sie na
> przejscie na inny X-server to i tak nawet to co w /usr/bin bedzie trzeba
> przekompilowac (o ile bedzie to aplikacja X-owa)

X-server != X API
Można używać nawet X serwera z innej implementacji X11 niż bibliotek
(praktykowane nie tak rzadko - przy uruchamianiu aplikacji na jakimś
komercyjnym uniksie z displayem na Linuksie z XFree86, albo odwrotnie).
Część programów może odmówić działania, jeśli nie będzie
zaimplementowanych jakichś rozszerzeń.

Zmiana bibliotek po stronie klienckiej może się powieść bez rekompilacji
o ile te nowo instalowane będą wystarczająco nową implementacją dla
używanych programów (np. XFree 4.3 (i chyba 4.2) to X11 rev. 6.6) oraz
programy nie używają rozszerzeń specyficznych dla implementacji.


-- 
Jakub Bogusz    http://cyber.cs.net.pl/~qboosh/



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