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

NAZWA

       deb-version - format numerów wersji pakietów Debiana

SKŁADNIA

       [epoka:]wersja_macierzystaupstream[-rewizja_debiana]

OPIS

       Numery wersji używane do binarnych i źródłowych pakietów Debiana składają się z trzech części. Są to:

       epoka  Jest  to  pojedyncza  (typowo  niewielka), liczba całkowita bez znaku. Może być pominięta, w takim
              przypadku jest przyjmowana jako zero. Jeśli jest  pominięta,  wtedy  wersja-macierzysta  nie  może
              zawierać żadnego dwukropka.

              Jest  używana  aby można było pozbyć się pomyłek w numerach wersji starszych wersji pakietów, oraz
              poradzić sobie ze zmianą poprzednich schematów numerowania wersji.

       wersja-macierzysta (wersja nadana przez autora)
              Główna część numeru wersji. Zwykle jest to numer  wersji  oryginalnego  ("upstream")  pakietu,  na
              podstawie  którego powstał plik .deb, o ile jest to możliwe. Typowo jest w tym samym formacie jaki
              został użyty przez autora(ów) pakietu. Może jednak zostać przeformatowana aby  lepiej  pasować  do
              formatu i schematu porównywania wersji używanego przez system zarządzania pakietami.

              Poniżej   opisane   jest   zachowanie   systemu   zarządzania   pakietami   podczas   porównywania
              uwzględniającego wersję-macierzysta. Część wersja-macierzysta numeru wersji pakietu jest wymagana.

              Wersja-macierzysta może zawierać jedynie znaki alfanumeryczne ("A-Za-z0-9") oraz znaki . + -  :  ~
              (kropkę,  plus, myślnik, dwukropek, tyldę) i powinna zaczynać się od cyfry. Jeśli nie jest używana
              rewizja-debiana, wtedy nie są dozwolone myślniki; jeśli zaś nie jest używana epoka, wtedy  nie  są
              dozwolone dwukropki.

       rewizja-debiana
              Ta część numeru wersji określa wersję pakietu Debiana bazującego na tej samej wersji macierzystej.
              Może zawierać jedynie znaki alfanumeryczne oraz znaki + . (plus, kropkę, tyldę) i jest porównywana
              w ten sam sposób co wersja-upstream.

              Jest  to  część  opcjonalna.  Jeśli  nie  jest używana, wtedy wersja-macierzysta nie może zawierać
              myślnika. Taki format odpowiada przypadkowi, gdzie oprogramowanie było tworzone z myślą o zamianie
              go w pakiet Debiana, więc jest tylko jedna jego "debianizacja" i dlatego wskazywanie  rewizji  nie
              jest potrzebne.

              Powszechnie   przyjęte   jest   rozpoczynanie   rewizji_debiana   od   1   za  każdym  razem,  gdy
              wersja-macierzysta się zwiększa.

              Dpkg dzieli numer wersji na części względem ostatniego myślnika w łańcuchu (jeśli taki jest),  aby
              określić  wersję-macierzystą  oraz  rewizję-debiana.  Przy porównywaniu, brakująca rewizja-debiana
              poprzedza każde jej wystąpienie (jednak warto pamiętać, że jest to najmniej znacząca część  numeru
              wersji).

   Sorting algorithm
       System  zarządzania  pakietami  porównuje  wersję-macierzystą  oraz  rewizję-debiana używając tego samego
       algorytmu:

       Napisy są porównywane od lewej do prawej.

       Najpierw określane są początkowe części każdego napisu, składające się wyłącznie ze znaków  nie  będących
       cyframi.  Te  dwie  części  (z  których  jedna może być pusta) są porównywane leksykalnie. Jeśli zostanie
       znaleziona  różnica,  jest  ona  zwracana.  Porównanie  leksykalne  jest   porównaniem   wartości   ASCII
       zmodyfikowanych  tak,  że  wszystkie  litery  poprzedzają  wszystkie  inne  znaki  nie będące literami, a
       dodatkowo tylda poprzedza wszystko, nawet koniec części. W następującym przykładzie  części  występują  w
       kolejności posortowanej: "~~", "~~a", "~", część pusta, "a".

       Następnie  określane  są  początki pozostałych części z każdego napisu, składające się wyłącznie z samych
       cyfr. Wartości liczbowe tych dwóch części są porównywane i jeśli zostanie znaleziona  różnica,  jest  ona
       zwracana  jako  wynik  porównania. Pusty ciąg znaków (który może się pojawić jedynie na końcu jednego lub
       obu porównywanych napisów) jest przy tym liczony jako zero.

       Te dwa kroki (porównywanie i usuwanie początkowych napisów bez cyfr oraz początkowych  napisów  z  samymi
       cyframi) są powtarzane, aż zostanie znaleziona różnica lub oba ciągi zostaną wyczerpane.

       Należy  zauważyć,  że  celem  epok jest umożliwienie pozbycia się pomyłek w numerach wersji pakietów, jak
       również poradzenie sobie ze zmianą schematu numerowania wersji. Nie  są  one  natomiast  przeznaczone  do
       radzenia  sobie  z  numerami  wersji zawierających ciągi znaków, których system zarządzania pakietami nie
       może zinterpretować (jak np. "ALPHA" lub "pre-"), czy z inną dziwną kolejnością.

UWAGI

       The tilde character and its special sorting properties were introduced in dpkg 1.10 and some parts of the
       dpkg build scripts only gained support for it later in the 1.10.x series.

ZOBACZ TAKŻE

       deb-control(5), deb(5), dpkg(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

Projekt Debian                                     2013-04-02                                     deb-version(5)