blob: aa044ee81786b00a15ace4e0f44d669b663d4adf [file] [log] [blame]
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH dpkg\-shlibdeps 1 2011\-08\-14 "Projekt Debiana" "programy pomocnicze dpkg"
.SH NAZWA
dpkg\-shlibdeps \- generowanie zale¿no¶ci podstawieñ wspó³dzielonych bibliotek
.
.SH SK£ADNIA
\fBdpkg\-shlibdeps\fP [\fIoption\fP...] [\fB\-e\fP]\fIexecutable\fP [\fIoption\fP...]
.
.SH OPIS
\fBdpkg\-shlibdeps\fP calculates shared library dependencies for executables
named in its arguments. The dependencies are added to the substitution
variables file \fBdebian/substvars\fP as variable names
\fBshlibs:\fP\fIdependencyfield\fP where \fIdependencyfield\fP is a dependency field
name. Any other variables starting with \fBshlibs:\fP are removed from the
file.
.P
\fBdpkg\-shlibdeps\fP ma dwa ¼ród³a informacji s³u¿±ce do generowania informacji
o zale¿no¶ciach. S± to pliki \fIsymbols\fP lub pliki \fIshlibs\fP. Dla ka¿dego
pliku binarnego analizowanego przez \fBdpkg\-shlibdeps\fP okre¶lana jest lista
bibliotek, z którymi jest on linkowany. Nastêpnie dla ka¿dej biblioteki
przegl±dany jest plik \fIsymbols\fP lub plik \fIshlibs\fP (je¶li ten pierwszy nie
istnieje, lub gdy debian/shlibs.local zawiera stosown± zale¿no¶æ). Oba pliki
powinny byæ dostarczane przez pakiet zawieraj±cy bibliotekê i powinny wiêc
byæ dostêpne jako /var/lib/dpkg/info/\fIpakiet\fP.\fIsymbols\fP lub
/var/lib/dpkg/info/\fIpakiet\fP.\fIshlibs\fP. Nazwa pakietu jest okre¶lana w dwóch
krokach: odnalezienie pliku biblioteki w systemie (sprawdzaj±c w tych samych
katalogach, których u¿ywa \fBld.so\fP), a nastêpnie u¿ycie \fBdpkg \-S
\fP\fIplik\-biblioteki\fP w celu okre¶lenia pakietu dostarczaj±cego dan±
bibliotekê.
.SS "Pliki symboli"
Pliki symboli zawieraj± dok³adniejsze okre¶lenia informacji o zale¿no¶ciach,
dostarczaj±c minimum zale¿no¶ci dla ka¿dego symbolu eksportowanego przez
bibliotekê. Skrypt próbuje odnale¼æ plik zwi±zany z pakietem biblioteki w
nastêpuj±cych miejscach (u¿yte jest pierwsze dopasowanie):
.IP debian/*/DEBIAN/symbols
Informacje o wspó³dzielonej bibliotece wygenerowane w bie¿±cym procesie
budowy, który wywo³a³ równie¿ \fBdpkg\-shlibdeps\fP. S± one generowane przez
\fBdpkg\-gensymbols\fP(1). S± u¿ywane tylko, gdy biblioteka znajduje siê w
drzewie budowania pakietu. Plik "symbols" z tego drzewa ma pierwszeñstwo nad
plikami symboli z innych pakietów binarnych.
.IP /etc/dpkg/symbols/\fIpakiet\fP.symbols.\fIarch\fP
.IP /etc/dpkg/symbols/\fIpakiet\fP.symbols
Informacje o zasiêgu systemu, które nadpisuj± informacje o zale¿no¶ciach
bibliotek wspó³dzielonych. \fIarch\fP jest architektur± bie¿±cego systemu
(okre¶lon± przez \fBdpkg\-architecture \-qDEB_HOST_ARCH\fP).
.IP "Output from \(lq\fBdpkg\-query \-\-control\-path\fP \fIpackage\fP symbols\(rq"
Package\-provided shared library dependency information. Unless overridden
by \-\-admindir, those files are located in /var/lib/dpkg.
.P
Podczas przeszukiwania symboli u¿ywanych przez wszystkie pliki binarne,
\fBdpkg\-shlibdeps\fP zapamiêtuje (najwiêksz±) minimaln± wersjê wymagan± dla
ka¿dej biblioteki. Na koñcu procesu jest wiêc w stanie wypisaæ minimalne
zale¿no¶ci dla ka¿dej u¿ytej biblioteki (pod warunkiem, ¿e informacja z
plików \fIsymbols\fP jest dok³adna).
.P
Jako zabezpieczenie plik symboli mo¿e zawieraæ pole metainformacji
\fIBuild\-Depends\-Package\fP, za¶ \fBdpkg\-shlibdeps\fP okre¶laj±c minimaln± wersjê
wymagan± przez odpowiadaj±cy pakiet z pola Build\-Depends bêdzie u¿ywaæ
w³a¶nie tej wersji, je¶li jest ona wy¿sza ni¿ minimalna wersja okre¶lona
dziêki przeszukiwaniu symboli.
.SS "Pliki \(dqshlibs\(dq"
Pliki "shlibs" wi±¿± bezpo¶rednio bibliotekê z zale¿no¶ciami (bez
przegl±dania symboli). Jest to wiêc czêsto silniejsze ni¿ naprawdê
potrzebne, ale bardzo bezpieczne i ³atwe w obs³udze.
.P
Zale¿no¶ci dla biblioteki s± wyszukiwane w kilku miejscach. U¿ywany jest
pierwszy plik zawieraj±cy informacje dla danej biblioteki:
.IP debian/shlibs.local
Lokalne informacje z pakietu nadpisuj±ce informacje o zale¿no¶ciach
bibliotek wspó³dzielonych.
.IP /etc/dpkg/shlibs.override
Informacje o zasiêgu systemu, które nadpisuj± informacje o zale¿no¶ciach
bibliotek wspó³dzielonych.
.IP debian/*/DEBIAN/shlibs
Informacje o zale¿no¶ciach wspó³dzielonych bibliotek wygenerowane w bie¿±cym
procesie budowy, który wywo³a³ równie¿ \fBdpkg\-shlibdeps\fP. S± u¿ywane tylko,
gdy biblioteka znajduje siê w drzewie budowania pakietu. Plik "shlibs" z
tego drzewa ma pierwszeñstwo nad plikami shlibs z innych pakietów
binarnych."
.IP "Output from \(lq\fBdpkg\-query \-\-control\-path\fP \fIpackage\fP shlibs\(rq"
Package\-provided shared library dependency information. Unless overridden
by \-\-admindir, those files are located in /var/lib/dpkg.
.IP /etc/dpkg/shlibs.default
Domy¶lna informacja o zale¿no¶ciach bibliotek wspó³dzielonych, o zakresie
systemu.
.P
Uzyskane zale¿no¶ci s± u¿ywane bezpo¶rednio (chyba, ¿e s± odfiltrowane
poniewa¿ zosta³y zidentyfikowane jako duplikaty lub s³absze ni¿ jaka¶ inna
zale¿no¶æ).
.SH OPCJE
\fBdpkg\-shlibdeps\fP interpretuje parametry nie bêd±ce opcjami jako nazwy
plików wykonywalnych, tak jakby by³y podane przez \fB\-e\fP\fIplik_wykonywalny\fP.
.TP
\fB\-e\fP\fIplik_wykonywalny\fP
W³±czenie zale¿no¶ci odpowiadaj±cych bibliotekom wspó³dzielonym wymaganym
przez \fIplik_wykonywalny\fP.
.TP
\fB\-d\fP\fIpole_zale¿no¶ci\fP
Dodanie zale¿no¶ci, które maj± byæ dodane do pola zale¿no¶ci
\fIpole_zale¿no¶ci\fP pliku kontrolnego. (Zale¿no¶ci dla tego pola s±
umieszczane w zmiennej \fBshlibs:\fP\fIpole_zale¿no¶ci\fP.)
Opcja \fB\-d\fP\fIpole_zale¿no¶ci\fP wp³ywa na wszystkie pliki wykonywalne podane
po tej opcji, a¿ do nastêpnego \fB\-d\fP\fIpole_zale¿no¶ci\fP. Domy¶lnym
\fIpolem_zale¿no¶ci\fP jest \fBDepends\fP.
Je¶li to samo okre¶lenie zale¿no¶ci (lub zbiór alternatyw) pojawia siê w
wiêcej ni¿ jednej nazwie z rozró¿nianych pól zale¿no¶ci \fBPre\-Depends\fP,
\fBDepends\fP, \fBRecommends\fP, \fBEnhances\fP lub \fBSuggests\fP to \fBdpkg\-shlibdeps\fP
automatycznie usunie zale¿no¶æ ze wszystkich pól, poza polem reprezentuj±cym
najwa¿niejsze zale¿no¶ci.
.TP
\fB\-p\fP\fIprefiks_nazw_zmiennych\fP
Rozpoczynanie nazw zmiennych podstawiania od \fIprefiks_nazw_zmiennych\fP\fB:\fP
zamiast \fBshlibs:\fP. Podobnie, wszystkie zmienne rozpoczynaj±ce siê od
\fIprefiks_nazw_zmiennych\fP\fB:\fP (zamiast \fBshlibs:\fP) s± usuwane z pliku
zmiennych podstawiania.
.TP
\fB\-O\fP
Wy¶wietlenie ustawieñ zmiennych podstawiania na standardowe wyj¶cie, zamiast
dodawania ich do pliku zmiennych podstawiania (domy¶lnie
\fBdebian/substvars\fP).
.TP
\fB\-t\fP\fItyp\fP
Preferowanie informacji o zale¿no¶ciach bibliotek wspó³dzielonych
oznaczonych dla danego typu pakietu. Je¶li informacji oznaczonych nie ma,
u¿ywane s± informacje bez oznaczeñ. Domy¶lnym typem pakietu jest
"deb". Informacje o zale¿no¶ciach bibliotek wspó³dzielonych s± oznaczane dla
danego typu pakietu przez poprzedzenie ich nazw± typu, dwukropkiem oraz
bia³ymi znakami (spacjami).
.TP
\fB\-L\fP\fIlokalny_plik_shlibs\fP
Odczyt nadpisañ informacji o bibliotekach wspó³dzielonych z
\fIlokalnego_pliku_shlibs\fP zamiast \fBdebian/shlibs.local\fP.
.TP
\fB\-T\fP\fIplik_zmiennych_podst\fP
Zapis zmiennych podstawiania w pliku \fIplik_zmiennych_podst\fP; domy¶lnie jest
to \fBdebian/substvars\fP.
.TP
\fB\-v\fP
W³±czenie dodatkowych informacji. Wy¶wietlanych jest wiele komunikatów
t³umacz±cych dzia³anie \fBdpkg\-shlibdeps\fP.
.TP
\fB\-x\fP\fIpakiet\fP
Wy³±czenie pakietu z generowanych zale¿no¶ci. U¿yteczne aby zapobiec
zale¿no¶ciom pakietu od samego siebie dla pakietów dostarczaj±cych binaria
typu ELF (pliki wykonywalne lub biblioteki), które zale¿± od innej
biblioteki zawartej w tym samym pakiecie. Ta opcja mo¿e byæ u¿yta
wielokrotnie aby wy³±czyæ kilka pakietów.
.TP
\fB\-S\fP\fIkatalog_budowania_pakietu\fP
Przegl±danie najpierw \fIkatalogu_budowania_pakietu\fP przy próbie odnalezienia
biblioteki. Przydatne gdy pakiet ¼ród³owy tworzy wiele odmian tej samej
biblioteki, a chce siê zapewniæ uzyskanie zale¿no¶ci od okre¶lonego pakietu
binarnego. Ta opcja mo¿e byæ u¿yta wielokrotnie: katalogi bêd± przegl±dane w
tej samej kolejno¶ci przed katalogami innych pakietów binarnych.
.TP
\fB\-\-ignore\-missing\-info\fP
Kontynuacja pomimo braku informacji o zale¿no¶ciach dla biblioteki
wspó³dzielonej. Odradza siê u¿ywanie tej opcji, wszystkie biblioteki powinny
dostarczaæ informacje o zale¿no¶ciach (w postaci plików shlibs lub plików
symboli) \- nawet je¶li nie s± jeszcze u¿ywane przez inne pakiety.
.TP
\fB\-\-warnings=\fP\fIwarto¶æ\fP
\fIwarto¶æ\fP jest polem bitowym definiuj±cym zbiór ostrze¿eñ, które mog± byæ
wys³ane przez \fBdpkg\-shlibdeps\fP. Bit 0 (warto¶æ=1) w³±cza ostrze¿enie "w
¿adnej z bibliotek nie znaleziono symbolu \fIsymb\fP u¿ywanego przez
\fIplik_binarny\fP", bit 1 (warto¶æ=2) w³±cza ostrze¿enie "mo¿na by unikn±æ
zale¿no¶ci od biblioteki \fIbibl\fP", za¶ bit 2 (warto¶æ=4) w³±cza ostrze¿enie
"\fIplik_binarny\fP nie powinien byæ linkowany z \fIbibliotek±\fP". Domy¶ln±
\fIwarto¶ci±\fP jest 3: pierwsze dwa ostrze¿enia s± domy¶lnie aktywne, za¶
ostatnie nie. Ustawienie \fIwarto¶ci\fP na 7 powoduje aktywacjê wszystkich
ostrze¿eñ.
.TP
\fB\-\-admindir=\fP\fIkatalog\fP
Zmienia po³o¿enie bazy danych \fBdpkg\fP. Domy¶lnie jest to \fI/var/lib/dpkg\fP.
.TP
\fB\-h\fP, \fB\-\-help\fP
Wy¶wietla informacjê o u¿ytkowaniu i koñczy dzia³anie.
.TP
\fB\-\-version\fP
Wy¶wietla informacjê o wersji i pomy¶lnie koñczy dzia³anie.
.
.SH UWAGI
Poniewa¿ \fBdpkg\-shlibdeps\fP analizuje zbiór symboli u¿ywanych przez ka¿dy
plik binarny generowanego pakietu, jest w stanie wysy³aæ ostrze¿enia w
pewnych przypadkach. Informuj± one o rzeczach, które mog± byæ ulepszone w
pakiecie. W wiêkszo¶ci przypadków dotyczy to bezpo¶rednio oryginalnych
¼róde³. Poni¿ej zebrane s± ostrze¿enia na jakie mo¿na natrafiæ, w kolejno¶ci
malej±cej wa¿no¶ci:
.TP
\fBw ¿adnej z bibliotek nie znaleziono symbolu\fP\fI symb\fP\fB u¿ywanego przez \fP\fIplik_binarny\fP
Wskazany symbol nie zosta³ odnaleziony w ¿adnej z bibliotek, z którymi jest
linkowany plik binarny. Taki \fIplik_binarny\fP jest najpewniej bibliotek± i
powinien byæ linkowany z dodatkow± bibliotek± podczas budowania pakietu
(opcja \fB\-l\fP\fIbiblioteka\fP linkera).
.TP
\fIplik_binarny\fP\fB zawiera nierozwi±zywalne odniesienie do symbolu \fP\fIsym\fP\fB: prawdopodobnie jest to wtyczka\fP
Wskazany symbol nie zosta³ odnaleziony w ¿adnej z bibliotek, z którymi jest
linkowany plik binarny. Taki \fIplik_binarny\fP jest najpewniej wtyczk± i jest
prawdopodobnie dostarczany wraz z programem, który ³adujê tak±
wtyczkê. Teoretycznie wtyczka nie powinna mieæ pola SONAME, jednak ten plik
binarny je posiada i nie mo¿na go zidentyfikowaæ na tej podstawie. Fakt, i¿
plik ten jest umieszczony w niepublicznym katalogu mocno wskazuje na to, ¿e
nie jest on zwyk³± bibliotek± wspó³dzielon±. Je¶li plik binarny rzeczywi¶cie
jest wtyczk±, mo¿na pomin±æ to ostrze¿enie. Jednak zawsze istnieje
mo¿liwo¶æ, ¿e jest to biblioteka i programy z ni± linkowane u¿ywaj± RPATH,
aby dynamiczny loader by³ w stanie j± odnale¼æ. W takim przypadku bibliotekê
mo¿na uznaæ za zepsut± i nale¿y j± naprawiæ.
.TP
\fBmo¿na by unikn±æ zale¿no¶ci od \fP\fIbiblioteki\fP\fB, je¿eli nie by³oby niepotrzebnego linkowania \fP\fIplików_binarnych\fP\fB z ni± (nie s± u¿ywane ¿adne z tamtejszych symboli).\fP
¯aden z \fIplików_binarnych\fP, które s± linkowane z \fIbibliotek±\fP nie u¿ywa
symboli przez ni± udostêpnianych. Poprawiaj±c wszystkie pliki binarne mo¿na
unikn±æ zale¿no¶ci zwi±zanych z t± bibliotek± (chyba, ¿e taka sama zale¿no¶æ
jest równie¿ generowana przez inn± bibliotekê, która jest faktycznie
u¿ywana).
.TP
\fIplik_binarny\fP\fB nie powinien byæ linkowany z \fP\fIbibliotek±\fP\fB (nie s± u¿ywane ¿adne z tamtejszych symboli).\fP
\fIplik_binarny\fP jest linkowany z bibliotek±, której nie potrzebuje. Nie jest
to problem, ale mo¿na uzyskaæ pewn± poprawê wydajno¶ci czasu ³adowania pliku
binarnego, je¶li biblioteka ta nie bêdzie z nim linkowana. To ostrze¿enie
sprawdza te same informacje co poprzednie, ale wykonuje to dla ka¿dego pliku
binarnego zamiast wykonywania globalnego sprawdzenia dla wszystkich
analizowanych plików.
.SH B£ÊDY
\fBdpkg\-shlibdeps\fP przerwie dzia³anie z b³êdem je¶li nie bêdzie w stanie
znale¼æ publicznej biblioteki u¿ywanej przez plik binarny, lub je¶li
biblioteka taka nie bêdzie mieæ powi±zanej informacji o zale¿no¶ciach (pliku
shlibs lub pliku symboli). Publiczne biblioteki maj± SONAME i s±
wersjonowane (jak np. libsomething.so.\fIX\fP). Biblioteki prywatne (jak
np. wtyczki) nie powinny mieæ SONAME i nie musz± byæ wersjonowane.
.TP
\fBnie mo¿na znale¼æ biblioteki \fP\fIsoname\-biblioteki\fP\fB potrzebnej dla \fP\fIpliku_binarnego\fP\fB (RPATH to "\fP\fIrpath\fP\fB")\fP
The \fIbinary\fP uses a library called \fIlibrary\-soname\fP but \fBdpkg\-shlibdeps\fP
has been unable to find the library. \fBdpkg\-shlibdeps\fP creates a list of
directories to check as following: directories listed in the RPATH of the
binary, directories listed in /etc/ld.so.conf, directories listed in the
LD_LIBRARY_PATH environment variable, and standard public directories (/lib,
/usr/lib, /lib32, /usr/lib32, /lib64, /usr/lib64). Then it checks those
directories in the package's build tree of the binary being analyzed, in the
packages' build trees indicated with the \-S command\-line option, in other
packages' build trees that contains a DEBIAN/shlibs or DEBIAN/symbols file
and finally in the root directory. If the library is not found in any of
those directories, then you get this error.
Je¶li nie odnaleziona biblioteka jest w prywatnym katalogu tego samego
pakietu, nale¿y dodaæ taki katalog do LD_LIBRARY_PATH. Je¶li biblioteka jest
w innym budowanym binarnym pakiecie, nale¿y upewniæ siê, ¿e plik shlibs lub
plik symboli dla tego pakietu zosta³ stworzony oraz, ¿e LD_LIBRARY_PATH
zawiera odpowiedni katalog je¶li biblioteka tak¿e jest w katalogu prywatnym.
.TP
\fBnie znaleziono informacji o zale¿no¶ciach dla \fP\fIplik\-biblioteki\fP\fB (u¿ywanego przez \fP\fIplik\-binarny\fP\fB).\fP
Biblioteka wymagana przez \fIplik\-binarny\fP zosta³a znaleziona przez
\fBdpkg\-shlibdeps\fP w \fIpliku\-biblioteki\fP, ale \fBdpkg\-shlibdeps\fP nie móg³
odnale¼æ ¿adnej informacji o zale¿no¶ciach dla tej biblioteki. Aby okre¶liæ
zale¿no¶ci, podjêto próbê u¿ycia \fBdpkg \-S\fP\fIplik\-biblioteki\fP w celu
okre¶lenia pakietu dostarczaj±cego dan± bibliotekê. Nastêpnie sprawdzono
odpowiednie pliki shlibs i pliki symboli w /var/lib/dpkg/info/ oraz w
ró¿nych drzewach budowania pakietów (debian/*/DEBIAN/).
To niepowodzenie mo¿e byæ spowodowane przez niepoprawny lub nieistniej±cy
plik shlibs lub plik symboli w pakiecie biblioteki. Mo¿e siê równie¿ zdarzyæ
je¶li biblioteka jest budowana wewn±trz tego samego pakietu ¼ród³owego, a
pliki shlibs jeszcze nie zosta³y stworzone (w takim przypadku nale¿y
poprawiæ debian/rules aby shlibs by³y tworzone przed wywo³aniem
\fBdpkg\-shlibdeps\fP). Niew³a¶ciwa warto¶æ RPATH mo¿e równie¿ powodowaæ, ¿e
biblioteka zostanie odnaleziona pod nietypow± nazw±, która nie jest zwi±zana
z ¿adnym pakietem (np. /usr/lib/openoffice.org/../lib/libssl.so.0.9.8
zamiast /usr/lib/libssl.so.0.9.8). \fBdpkg\-shlibdeps\fP próbuje poradziæ sobie
z tym staraj±c siê odczytaæ nazwê kanoniczn± (z u¿yciem \fBrealpath\fP(3)) ale
mo¿e to nie zawsze zadzia³aæ. Aby unikn±æ problemów, najlepiej jest zawsze
doprowadziæ do porz±dku RPATH pliku binarnego.
Wywo³anie \fBdpkg\-shlibdeps\fP w trybie rozszerzonej informacji (\-v) dostarcza
wielu dodatkowych informacji o tym, gdzie próbowa³ on znale¼æ informacjê o
zale¿no¶ciach. Mo¿e to byæ przydatne je¶li nie wiadomo dlaczego zwracany
jest ten b³±d.
.SH "ZOBACZ TAK¯E"
\fBdeb\-shlibs\fP(5), \fBdeb\-symbols\fP(5), \fBdpkg\-gensymbols\fP(1).
.
.SH AUTORZY
Copyright \(co 1995\-1996 Ian Jackson
.br
Copyright \(co 2000 Wichert Akkerman
.br
Copyright \(co 2006 Frank Lichtenheld
.br
Copyright \(co 2007\-2008 Rapha\[:e]l Hertzog
.sp
Niniejszy program jest oprogramowaniem wolnym, sprawd¼ Powszechn± Licencjê
Publiczn± GNU w wersji drugiej lub pó¼niejszej, by dowiedzieæ siê o
warunkach dystrybucji. Brak JAKIEJKOLWIEK gwarancji.
.SH "T£UMACZE"
Piotr Roszatycki <dexter@debian.org>, 1999
.br
Bartosz Feñski <fenio@debian.org>, 2004-2005
.br
Robert Luberda <robert@debian.org>, 2006-2008
.br
Wiktor Wandachowicz <siryes@gmail.com>, 2008