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