Provided by: dpkg-dev_1.17.5ubuntu5.8_all bug

NAZWA

       dpkg-gensymbols   -   generuje   pliki   symboli  (informacje  o  zależnościach  bibliotek
       współdzielonych)

SKŁADNIA

       dpkg-gensymbols [opcja...]

OPIS

       dpkg-gensymbols skanuje tymczasowe drzewo budowania (domyślnie debian/tmp) w  poszukiwaniu
       bibliotek  i  generuje  opisujący  je  plik  symbols. Plik ten, jeśli nie jest pusty, jest
       następnie instalowany do podkatalogu DEBIAN drzewa budowania, tak więc  na  końcu  zawiera
       informacje kontrolne pakietu.

       Podczas  tworzenia  wspomnianych plików, jako wejście są używane pliki symboli dostarczone
       przez opiekuna. Szukane są następujące pliki (używany jest pierwszy ze znalezionych):

       •   debian/pakiet.symbols.arch

       •   debian/symbols.arch

       •   debian/pakiet.symbols

       •   debian/symbols

       The main interest of those files is to provide the  minimal  version  associated  to  each
       symbol  provided  by  the  libraries.  Usually it corresponds to the first version of that
       package that provided the symbol, but it can be manually incremented by the maintainer  if
       the  ABI  of  the  symbol  is  extended without breaking backwards compatibility. It's the
       responsibility of the  maintainer  to  keep  those  files  up-to-date  and  accurate,  but
       dpkg-gensymbols helps with that.

       Gdy wygenerowane pliki symboli różnią się od dostarczonych przez opiekuna, dpkg-gensymbols
       wypisze różnicę pomiędzy dwoma wersjami. Co więcej, jeśli różnica jest zbyt duża, zakończy
       się niepowodzeniem (można dostosować wielkość tolerowanej różnicy, patrz opcja -c).

ZARZĄDZANIE PLIKAMI SYMBOLI

       The  symbols  files  are  really  useful only if they reflect the evolution of the package
       through several releases. Thus the maintainer has to update them every  time  that  a  new
       symbol  is  added  so  that  its  associated  minimal  version matches reality. To do this
       properly the diffs contained in the build logs can  be  used.  In  most  cases,  the  diff
       applies directly to the debian/package.symbols file. That said, further tweaks are usually
       needed: it's recommended for example to drop the Debian revision from the minimal  version
       so  that backports with a lower version number but the same upstream version still satisfy
       the generated dependencies.  If the Debian revision can't be dropped  because  the  symbol
       really  got  added  by the Debian specific change, then one should suffix the version with
       "~".

       Przed dodaniem jakiejkolwiek łatki do pliku symboli, opiekun powinien dwa razy  sprawdzić,
       czy  jest  ona  poprawna.  Publiczne symbole nie mogą znikać, więc najlepiej jeśli jedynie
       dodaje ona nowe wiersze.

       Proszę  zauważyć,  że  można  umieszczać  komentarze  w  plikach  symboli:  każdy   wiersz
       zaczynający   się  od  "#",  z  wyjątkiem  "#include"  (patrz  rozdział  Używanie  include
       (dołączeń)), jest komentarzem. Wiersze  zaczynające  się  od  "#MISSING:"  są  specjalnymi
       komentarzami dokumentującymi symbole które zniknęły.

   Używanie podstawień #PACKAGE#
       W  niektórych  rzadkich przypadkach, nazwa biblioteki różni się między architekturami. Aby
       zapobiec kodowaniu nazwy pakietu na sztywno w pliku symboli, można użyć markera #PACKAGE#.
       Zostanie  ona zastąpiona prawdziwą nazwą pakietu podczas instalacji tych plików symboli. W
       przeciwieństwie do markera #MINVER#, #PACKAGE#  nigdy  nie  pojawi  się  w  pliku  symboli
       wewnątrz pakietu binarnego.

   Używanie znaczników symboli
       Tagowanie symboli jest przydatne do oznaczania symboli, które są w jakiś sposób specjalne.
       Każdy symbol może mieć dowolną liczbę znaczników z nim powiązanych. Podczas gdy  wszystkie
       znaczniki  są  przetwarzane  i  przechowywane,  jedynie niektóre z nich są rozumiane przez
       dpkg-gensymbols i wyzwalają specjalną obsługę tych symboli.  Patrz  podsekcja  Standardowe
       znaczniki symboli, aby się z nimi zapoznać.

       Określenie  znacznika  powinno znaleźć się zaraz przed nazwą symbolu (nie ma pomiędzy nimi
       spacji). Zawsze rozpoczyna się nawiasem otwierającym (, kończy nawiasem  zamykającym  )  i
       musi zawierać przynajmniej jeden znacznik. Poszczególne znaczniki są oddzielone znakiem |.
       Każdy znacznik może posiadać wartość (opcjonalnie), która jest oddzielona od jego nazwy za
       pomocą  znaku  =.  Nazwy  i  wartości znaczników mogą zawierać dowolne znaki, poza znakami
       specjalnymi ) | =. Nazwy symboli, które znajdują się za określeniem znacznika, mogą zostać
       opcjonalnie  ujęte  w  znaki  ' lub ". Jednak jeśli symbol nie określa żadnych znaczników,
       cudzysłowy są traktowane jako część nazwy symbolu, która kończy się na pierwszej spacji.

        (tag1=i am marked|tag name with space)"tagged quoted symbol"@Base 1.0
        (optional)tagged_unquoted_symbol@Base 1.0 1
        untagged_symbol@Base 1.0

       Pierwszy symbol w przykładzie jest nazwany tagged quoted symbol i  posiada  dwa  znaczniki
       tag1  z  wartością  i  am  marked i tag name with space, który nie posiada wartości. Drugi
       symbol ma nazwę  tagged_unquoted_symbol  jest  jego  jedynym  znacznikiem  jest  optional.
       Ostatni symbol jest przykładem zwykłego symbolu bez znacznika.

       Since  symbol tags are an extension of the deb-symbols(5) format, they can only be part of
       the symbols files used in source packages (those files should then be  seen  as  templates
       used   to   build   the  symbols  files  that  are  embedded  in  binary  packages).  When
       dpkg-gensymbols is called without the -t option, it will output symbols  files  compatible
       to  the deb-symbols(5) format: it fully processes symbols according to the requirements of
       their standard tags and strips all tags from the output. On the contrary, in template mode
       (-t)  all  symbols and their tags (both standard and unknown ones)  are kept in the output
       and are written in their original form as they were loaded.

   Standardowe znaczniki symboli
       optional
              Symbol oznaczony jako opcjonalny może zniknąć z biblioteki w  dowolnym  momencie  i
              nigdy  nie  spowoduje  błędu  dpkg-gensymbols.  Usunięte  symbole będą się jednak w
              dalszym ciągu pojawiać jako MISSING w każdym diffie w każdej nowej wersji  pakietu.
              To  zachowanie jest przypomnieniem dla opiekuna, że dany symbol musi być usunięty z
              pliku  symboli  lub  ponownie  dodany  do  biblioteki.   Gdy   opcjonalny   symbol,
              zadeklarowany wcześniej jako MISSING, nagle pojawi się w następnej wersji, zostanie
              uaktualniony z powrotem do statusu "istniejącego", gdy jego  minimalna  wersja  nie
              zmieniła się.

              Znacznik ten jest przydatny do symboli prywatnych, gdy ich zniknięcie nie spowoduje
              złamania ABI.  Przykładowo,  większość  szablonów  C++  należy  do  tej  kategorii.
              Podobnie  jak  każdy inny znacznik, może mieć on również dowolną wartość: można jej
              użyć do określenia powodu, dla którego symbol jest opcjonalny.

       arch=lista-architektur
              Znacznik ten pozwala na ograniczenie zestawu architektur, na którym ma istnieć. Gdy
              lista  symboli  jest  aktualizowana  za  pomocą  symboli  odkrytych  w  bibliotece,
              wszystkie symbole specyficzne dla  architektury,  które  nie  dotyczą  architektury
              bieżącego komputera są traktowane tak, jakby nie istniały. Jeśli symbol specyficzny
              dla architektury, pasujący do  architektury  bieżącego  komputera  nie  istnieje  w
              bibliotece,  stosowana  jest  zwykła  procedura  dla  brakujących symboli i może to
              spowodować błąd dpkg-gensymbols. Z drugiej strony,  jeśli  symbol  specyficzny  dla
              architektury  zostanie  znaleziony,  podczas  gdy nie powinien on istnieć (ponieważ
              architektura bieżącego komputera nie jest  wypisana  w  znaczniku),  czyni  się  go
              neutralnym  architekturowo  (znacznik  architektury jest pomijany, a symbol pojawia
              się w różnicy z powodu tej zmiany), ale nie jest traktowany jako nowy.

              Podczas działania w domyślnym trybie nieszablonowym, spośród symboli  specyficznych
              dla  architektury  tylko  te,  które  pasują do architektury bieżącego komputera są
              zapisywane do pliku symboli. Odwrotnie jest w trybie  szablonu:  wszystkie  symbole
              specyficzne  dla architektury (łącznie z tymi, należącymi do obcych architektur) są
              zawsze zapisywane do pliku symboli.

              The format of architecture list is the same as the one used  in  the  Build-Depends
              field of debian/control (except the enclosing square brackets []). For example, the
              first symbol from the list below will be considered only on  alpha,  any-amd64  and
              ia64  architectures,  the  second  only on linux architectures, while the third one
              anywhere except on armel.

               (arch=alpha any-amd64 ia64)a_64bit_specific_symbol@Base 1.0
               (arch=linux-any)linux_specific_symbol@Base 1.0
               (arch=!armel)symbol_armel_does_not_have@Base 1.0

       ignore-blacklist
              dpkg-gensymbols posiada wewnętrzną, czarną listę symboli, które nie powinny pojawić
              się  w  plikach  symboli,  ponieważ są one z reguły jedynie efektem ubocznym detali
              implementacyjnych toolchainu. Jeśli z jakiegoś powodu  naprawdę  chce  się  włączyć
              jeden  z  tych  symboli  do  pliku  symboli, należy oznaczyć ten symbol znacznikiem
              ignore-blacklist. Może  być  potrzebny  do  niektórych  niskopoziomowych  bibliotek
              toolchainu, takich jak libgcc.

       c++    Oznacza wzorzec symbolu c++. Patrz podsekcja Używanie wzorców symboli poniżej.

       symver Oznacza  wzorzec  symbolu symver (wersja symbolu). Patrz podsekcja Używanie wzorców
              symboli poniżej.

       regex  Oznacza wzorzec symbolu regex. Patrz podsekcja Używanie wzorców symboli poniżej.

   Używanie wzorców symboli
       W przeciwieństwie do  standardowej  specyfikacji  symboli,  wzorzec  może  pokrywać  wiele
       symboli rzeczywistych z biblioteki. dpkg-gensymbols postara się dopasować każdy wzorzec do
       każdego symbolu rzeczywistego, który  nie  posiada  zdefiniowanego  odpowiedniego  symbolu
       specyficznego w pliku symboli. Gdy tylko znaleziony zostanie pierwszy pasujący wzorzec, to
       wszystkie jego znaczniki i właściwości będą  używane  jako  podstawa  określenia  symbolu.
       Jeśli żaden ze wzorców nie zostanie dopasowany, to symbol zostanie uznany za nowy.

       A  pattern  is  considered lost if it does not match any symbol in the library. By default
       this will trigger a dpkg-gensymbols failure under -c1 or higher  level.  However,  if  the
       failure is undesired, the pattern may be marked with the optional tag. Then if the pattern
       does not match anything, it will only appear in the diff as MISSING.  Moreover,  like  any
       symbol, the pattern may be limited to the specific architectures with the arch tag. Please
       refer to Standard symbol tags subsection above for more information.

       Patterns are an extension of the deb-symbols(5) format hence they are only valid in symbol
       file  templates.  Pattern  specification  syntax  is  not  any different from the one of a
       specific symbol. However, symbol name part of the specification serves as an expression to
       be  matched  against  name@version  of  the  real  symbol.  In  order to distinguish among
       different pattern types, a pattern will typically be tagged with a special tag.

       Obecnie dpkg-gensymbols obsługuje trzy proste typy symboli:

       c++
          Ten wzorzec jest oznaczony znacznikiem c++. Dopasowuje on jedynie symbole C++ za pomocą
          ich  odkodowanych  nazw  symboli (takich, jak wypisywanych przez narzędzie c++filt(1)).
          Wzorzec jest bardzo przydatny do dopasowania symboli,  których  zakodowane  nazwy  mogą
          różnić  się między różnymi architekturami, podczas gdy odkodowane nazwy pozostają takie
          same. Jedną z grup takich symboli jest non-virtual thunks, które posiadają przesunięcia
          (offsety)  specyficzne  dla  architektury,  dołączone  do  zakodowanych  nazw.  Częstym
          przypadkiem tego przykładu jest wirtualny destruktor, który w wirtualnym  dziedziczeniu
          (ang. diamond inheritance) wymaga niewirtualnego symbolu thunk. Na przykład nawet jeśli
          _ZThn8_N3NSB6ClassDD1Ev@Base na  architekturze  32-bitowej  stanie  się  prawdopodobnie
          _ZThn16_N3NSB6ClassDD1Ev@Base na 64-bitowej, może zostać dopasowany pojedynczym wzorcem
          c++:

          libdummy.so.1 libdummy1 #MINVER#
           [...]
           (c++)"non-virtual thunk to NSB::ClassD::~ClassD()@Base" 1.0
           [...]

          Powyższą, odkodowaną nazwę można uzyskać wykonując następujące polecenie:

           $ echo '_ZThn8_N3NSB6ClassDD1Ev@Base' | c++filt

          Proszę zauważyć, że o ile zakodowana nazwa jest, z definicji, unikatowa w bibliotece, o
          tyle  nie  musi  być  to  prawdą  dla  nazw  odkodowanych. Kilka różniących się symboli
          rzeczywistych może mieć tę  samą  nazwę  odkodowaną.  Na  przykład  dzieje  się  tak  w
          przypadku  niewirtualnych  symboli thunk w złożonych konfiguracjach dziedziczenia lub w
          przypadku większości konstruktorów i desktruktorów (ponieważ  g++  tworzy  dla  nich  z
          reguły  dwa  symbole rzeczywiste). Jednak, ponieważ konflikty zachodzą na poziomie ABI,
          nie powinny one obniżyć jakości pliku symboli.

       symver
          Wzorzec jest oznaczany  znacznikiem  symver.  Dobrze  zarządzane  biblioteki  posiadają
          wersjonowane  symbole, a każda wersja odpowiada wersji oryginalnej, gdzie symbol został
          dodany. W takim przypadku można użyć wzorca symver, aby  dopasować  symbol  związany  z
          określoną wersją np.:

          libc.so.6 libc6 #MINVER#
           (symver)GLIBC_2.0 2.0
           [...]
           (symver)GLIBC_2.7 2.7
           access@GLIBC_2.0 2.2

          Wszystkie  symbole  związane z wersjami GLIBC_2.0 i GLIBC_2.7 prowadzą do, odpowiednio,
          minimalnej wersji 2.0 i 2.7 z wyjątkiem symbolu access@GLIBC_2.0. Ostatnie, prowadzi do
          minimalnej  zależności  na libc6 w wersji 2.2 pomimo, że znajduje się w zakresie wzorca
          "(symver)GLIBC_2.0", ponieważ specyficzne symbole mają pierwszeństwo przed wzorcami.

          Proszę zauważyć, że o ile wzorca masek starego stylu  (oznaczane  przez  "*@version"  w
          polu  nazwy  symbolu są wciąż obsługiwane, to są obecnie zastąpione przez nową składnię
          "(symver|optional)version". Na przykład "*@GLIBC_2.0 2.0"  powinno  być  zapisane  jako
          "(symver|optional)GLIBC_2.0 2.0", jeśli potrzebne jest takie samo znaczenie.

       regex
          Wyrażenia  regularne  są  oznaczane  znacznikiem regex. Są dopasowane za pomocą wyrażeń
          regularnych  perla,  określonych  w  polu  nazwy  symbolu.  Wyrażenie  regularne   jest
          dopasowane "jak jest", nie należy jednak zapominać rozpocząć go znakiem ^, w przeciwnym
          wypadku dopasuje ono dowolną część łańcucha symbolu rzeczywistego nazwa@wersja np.:

          libdummy.so.1 libdummy1 #MINVER#
           (regex)"^mystack_.*@Base$" 1.0
           (regex|optional)"private" 1.0

          Symbole takie  jak  "mystack_new@Base",  :mystack_push@Base",  "mystack_pop@Base"  itd.
          zostaną  dopasowane  przez pierwszy wzorzec, natomiast np. "ng_mystack_new@Base" - nie.
          Drugi wzorzec dopasuje wszystkie symbole posiadające łańcuch "private" w swych nazwach,
          a dopasowania odziedziczą znacznik optional z wzorca.

       Podane  wyżej  wzorce  proste mogą być łączone tam, gdzie ma to sens. W takim przypadku są
       one przetwarzane w takiej kolejności, w jakiej podano znaczniki np. oba

        (c++|regex)"^NSA::ClassA::Private::privmethod\d\(int\)@Base" 1.0
        (regex|c++)N3NSA6ClassA7Private11privmethod\dEi@Base 1.0

       dopasują          symbole          "_ZN3NSA6ClassA7Private11privmethod1Ei@Base"          i
       "_ZN3NSA6ClassA7Private11privmethod2Ei@Base".  Podczas  dopasowywania  pierwszego  wzorca,
       symbol surowy jest najpierw odkodowany jako symbol C++, a odkodowana  nazwa  symbolu  jest
       dopasowywana  do  wyrażenia  regularnego.  Z  drugiej  strony, gdy dopasowywany jest drugi
       wzorzec, wyrażenie  regularne  jest  dopasowywane  do  surowej  nazwy  symbolu,  następnie
       sprawdzane  jest,  czy  symbol jest symbolem C++ przez próbę odkodowania go. Niepowodzenie
       każdego symbolu  prostego  spowoduje  niepowodzenie  całego  wzorca.  Z  tego  powodu  np.
       "__N3NSA6ClassA7Private11privmethod\dEi@Base"  nie  będzie  pasować do żadnego ze wzorców,
       ponieważ nie jest poprawnym symbolem C++.

       Ogólnie, wszystkie wzorce są podzielone na dwie grupy: aliasy  (proste  c++  i  symver)  i
       wzorce  ogólne  (regex, wszystkie kombinacje wielu prostych wzorców). Dopasowanie prostych
       wzorców opartych na aliasach jest szybkie (0(1)), a wzorce ogólne mają 0(N)  (N  -  liczba
       wzorców  ogólnych)  na  każdy  symbol.  Z  tego  powodu nie zaleca się nadużywania wzorców
       ogólnych.

       Gdy wiele symboli pasuje do tego  samego  symbolu  rzeczywistego,  aliasy  (najpierw  c++,
       następnie  symver)  są  preferowane  w  stosunku  do  wzorców  ogólnych.  Wzorce ogólne są
       dopasowywane w takiej kolejności, w jakiej zostaną odnalezione w szablonie pliku  symboli,
       aż  do pierwszego sukcesu. Proszę jednak zwrócić uwagę, że ręczna zmiana kolejności wpisów
       pliku szablonu nie jest zalecana,  ponieważ  dpkg-gensymbols  tworzy  diffy  w  oparciu  o
       alfanumeryczną kolejność ich nazw.

   Używanie include (dołączeń)
       Gdy  zestaw  eksportowanych  symboli  różni się między architekturami, może okazać się, że
       używanie pojedynczego pliku symboli nie jest  wygodne.  W  takich  przypadkach,  dyrektywa
       dołączenia może okazać się przydatna na kilka sposobów:

       •   Można  przenieść  część  wspólną  do pliku zewnętrznego i dołączyć go do swojego pliku
           pakiet.symbols.arch używając dyrektywy dołączenia podobnej do poniższej:

           #include "pakiet.symbols.common"

       •   Dyrektywa dołączenia może zostać otagowana podobnie jak każdy symbol:

           (tag|...|tagN)#include "plik-do-dołączenia"

           W rezultacie, wszystkie symbole  z  pliku-do-dołączenia  zostaną  domyślnie  oznaczone
           przez  tag ... tagN. Można użyć tej funkcji, aby utworzyć wspólny plik pakiet.symbols,
           który dołącza pliki symboli specyficzne dla architektury:

             common_symbol1@Base 1.0
            (arch=amd64 ia64 alpha)#include "package.symbols.64bit"
            (arch=!amd64 !ia64 !alpha)#include "package.symbols.32bit"
             common_symbol2@Base 1.0

       Pliki symboli są czytane wiersz po wierszu, a dyrektywy dołączenia są  przetwarzane  zaraz
       po  ich  wystąpieniu.  Oznacza  to,  że  zawartość załączonego pliku może przesłonić każdą
       zawartość, która pojawi się przed dyrektywą dołączenia, i że zawartość po dyrektywie  może
       przesłonić  wszystko,  co  znajduje  się  w dołączanym pliku. Każdy symbol (lub nawet inna
       dyrektywa #include) w dołączanym pliku może określić dodatkowe  znaczniki  lub  przesłonić
       wartości  dziedziczonych  znaczników w ich określeniach znaczników. Nie ma jednak sposobu,
       aby symbol usunąć jakikolwiek z dziedziczonych znaczników.

       Dołączone pliki mogą powtórzyć wiersz nagłówkowy zawierający SONAME  biblioteki.  W  takim
       przypadku,  przesłoni  on wszystkie odczytane wcześniej wiersze nagłówkowe. Najlepiej jest
       jednak zapobiegać duplikowaniu wierszy nagłówkowych. Oto jeden ze sposobów:

       #include "libsomething1.symbols.common"
        arch_specific_symbol@Base 1.0

   Dobre zarządzanie biblioteką
       Dobrze zarządzana biblioteka ma następujące cechy:

       •   jej API jest stabilne (symbole publiczne nie są nigdy  porzucane,  dodawane  są  tylko
           nowe  symbole  publiczne),  a niekompatybilne zmiany są wykonywane tylko przy zmianach
           SONAME;

       •   idealnie, używa wersjonowania symboli, aby  osiągnąć  stabilność  ABI  niezależnie  od
           zmian wewnętrznych i rozszerzeń API;

       •   nie  eksportuje  symboli  prywatnych (takie symbole mogą być tagowane jako opcjonalne,
           jako obejście).

       Podczas zarządzania plikiem symboli łatwo jest  zauważyć  pojawienie  się  lub  zniknięcie
       symboli.  Znacznie  trudniej  jednak wyłapać niekompatybilną zmianę API i ABI. W związku z
       tym,  opiekun  pakietu  powinien  dokładnie   sprawdzić   w   dzienniku   zmian   projektu
       macierzystego,  czy  istnieje  przypadek, że zasady dobrego zarządzania biblioteką zostały
       złamane. Jeśli  odkryje  się  potencjalne  problemy,  macierzysty  autor  powinien  zostać
       poinformowany,  jako że poprawka w projekcie macierzystym jest zawsze lepsza, niż obejście
       problemu w samym Debianie.

OPCJE

       -Pkatalog-budowania-pakietu
              Przeszukuje katalog-budowania-pakietu zamiast debian/tmp.

       -ppakiet
              Definiuje nazwę pakietu. Wymagane, jeśli  więcej  niż  jeden  pakiet  binarny  jest
              wypisany w debian/control (lub nie ma tego pliku).

       -vwersja
              Definiuje  wersję  pakietu.  Domyślnie  jest  to  wersja wzięta z debian/changelog.
              Wymagane, jeśli wywołanie ma miejsce spoza drzewa pakietu źródłowego.

       -eplik-biblioteki
              Only analyze libraries explicitly listed instead of finding all  public  libraries.
              You  can use shell patterns used for pathname expansions (see the File::Glob(3perl)
              manual page for details) in library-file to match multiple libraries with a  single
              argument (otherwise you need multiple -e).

       -Inazwa-pliku
              Używa  nazwy-pliku  jako pliku odniesienia do generowania pliku symboli, który jest
              integrowany w samym pakiecie.

       -O[filename]
              Print the generated symbols file to standard output or to  filename  if  specified,
              rather than to debian/tmp/DEBIAN/symbols (or package-build-dir/DEBIAN/symbols if -P
              was used). If filename is pre-existing, its contents are  used  as  basis  for  the
              generated  symbols file.  You can use this feature to update a symbols file so that
              it matches a newer upstream version of your library.

       -t     Write the symbol file in template mode  rather  than  the  format  compatible  with
              deb-symbols(5).  The  main difference is that in the template mode symbol names and
              tags are written in their original form contrary to the post-processed symbol names
              with  tags  stripped  in  the  compatibility mode.  Moreover, some symbols might be
              omitted  when  writing  a  standard  deb-symbols(5)  file  (according  to  the  tag
              processing rules) while all symbols are always written to the symbol file template.

       -c[0-4]
              Definiuje  sprawdzenia  do  wykonania  podczas  porównywania  wygenerowanego  pliku
              symboli z plikiem  szablonu  używanym  na  początku.  Domyślnym  poziomem  jest  1.
              Zwiększanie  poziomu  wykonuje  więcej  sprawdzeń i zawiera wszystkie sprawdzenia z
              niższego poziomu. Poziom 0 nigdy nie kończy się  błędem.  Poziom  1  sprawdza,  czy
              jakieś symbole nie zniknęły. Poziom 2 zawodzi, gdy wprowadzono jakieś nowe symbole.
              Poziom 3 zwraca błąd, gdy zniknęły jakieś biblioteki. Poziom 4  -  gdy  wprowadzono
              biblioteki.

              This     value     can     be    overridden    by    the    environment    variable
              DPKG_GENSYMBOLS_CHECK_LEVEL.

       -q     Keep quiet and never generate  a  diff  between  generated  symbols  file  and  the
              template  file used as starting point or show any warnings about new/lost libraries
              or new/lost symbols. This option only disables informational  output  but  not  the
              checks themselves (see -c option).

       -aarchitektura
              Zakłada architekturę jako architekturę hosta w czasie przetwarzania plików symboli.
              Opcji można użyć, aby wygenerować plik symboli lub diff dla którejś z  architektur,
              zakładając że jej pliki binarne są już dostępne.

       -d     Włącza   tryb   debugowania.  Wyświetlanych  jest  wiele  komunikatów  tłumaczących
              działanie dpkg-gensymbols.

       -V     Włącza tryb szczegółowy. Wygenerowany plik  symboli  zawiera  przestarzałe  symbole
              jako  komentarze.  Co  więcej,  w  trybie  szablonu  po  wzorcach symboli występują
              komentarze opisujące symbole rzeczywiste, które dopasowano do wzorca.

       -?, --help
              Wyświetla informację o użytkowaniu i kończy działanie.

       --version
              Wyświetla informację o wersji i pomyślnie kończy działanie.

ZOBACZ TAKŻE

       https://people.redhat.com/drepper/symbol-versioning
       https://people.redhat.com/drepper/goodpractice.pdf
       https://people.redhat.com/drepper/dsohowto.pdf
       deb-symbols(5), dpkg-shlibdeps(1).

TŁUMACZE

       Piotr Roszatycki <dexter@debian.org>, 1999
       Bartosz Feński <fenio@debian.org>, 2004-2005
       Robert Luberda <robert@debian.org>, 2006-2008
       Wiktor Wandachowicz <siryes@gmail.com>, 2008
       Michał Kułach <michal.kulach@gmail.com>, 2012