jajcus: SPECS xine-lib.spec,1.23.2.1,1.23.2.2

Jacek Konieczny jajcus w pld.org.pl
Pon, 21 Sty 2002, 10:17:42 CET


On Mon, Jan 21, 2002 at 12:38:22AM +0100, Filip Kalinski wrote:
> Tylko, że to jest pakiet z biblioteką, bez programów wykonywalnych i
> w nim *.so powinno być w głownym.

Ty chyba nie rozumiesz co to są pliki *.so i czym się różnią od *.so.*.*.*

# ls -l libxine*
lrwxrwxrwx    1 root     root           22 Jan 20 13:14 libxine-0.9.8.so.0 -> libxine-0.9.8.so.0.0.0
-rwxr-xr-x    1 root     root        98384 Jan 20 13:23 libxine-0.9.8.so.0.0.0
-rwxr-xr-x    1 root     root          737 Jan 20 13:23 libxine.la
lrwxrwxrwx    1 root     root           22 Jan 20 13:24 libxine.so -> libxine-0.9.8.so.0.0.0
lrwxrwxrwx    1 root     root           27 Jan 20 13:14 libxineutils-0.9.8.so.0 -> libxineutils-0.9.8.so.0.0.0
-rwxr-xr-x    1 root     root        11088 Jan 20 13:23 libxineutils-0.9.8.so.0.0.0
-rwxr-xr-x    1 root     root          744 Jan 20 13:23 libxineutils.la
lrwxrwxrwx    1 root     root           27 Jan 20 13:24 libxineutils.so -> libxineutils-0.9.8.so.0.0.0

# ldd `which xine`
        libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x00126000)
        libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x0012f000)
        libpng.so.2 => /usr/lib/libpng.so.2 (0x00158000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x00182000)
        libxineutils-0.9.8.so.0 =>
/usr/X11R6/lib/libxineutils-0.9.8.so.0 (0x00190000)
        libxine-0.9.8.so.0 => /usr/X11R6/lib/libxine-0.9.8.so.0
(0x00194000)
        libz.so.1 => /lib/libz.so.1 (0x001ad000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x001ba000)
        libdl.so.2 => /lib/libdl.so.2 (0x001d1000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x001d5000)
        libm.so.6 => /lib/libm.so.6 (0x002b0000)
        libc.so.6 => /lib/libc.so.6 (0x002d2000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00110000)


Jak widzisz program kożystający z biblioteki odwołyje się do
libxine-0.9.8.so.0 , który jest linkiem (utworzonym przez ldconfig) do
libxine-0.9.8.so.0.0.0. Do działania xine (i ew. innego programu
kożystającego z libxine) nie jest wogóle potrzebne libxine-0.9.8.so.

libxine-0.9.8.so jest używane tylko przez linker przy budowaniu
programów opartych o libxine, dlatego też jest w *-devel, tam gdzie
wszystkie pliki developerskie (np. *.h, czy xine-config).

W tym przypadku nie ma to wielkiego znaczenia, ale w przypadku wielu
innych bibliotek pozwala to na zainstalowanie jednocześnie kilku wersji
biblioteki (programy z dziwnych źródeł mogą wymagać różnych wersji), ale
tylko jedną wersję lib*-devel. Gdyby w głównych pakietach z biblioteką
było *.so, to byłyby konflikty, które by na to nie pozwalały.
Inna sprawa, że wiele pakietów z bibliotekami w PLD i tak ma dużo
śmieci, które powodują takie konflikty (np. readline, czy ncurses).

Pozdrowienia,
        Jacek 



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