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