Provided by:
dpkg-dev_1.14.20ubuntu6_all 
NAZWA
deb-version - format numerów wersji pakietów Debiana
SKŁADNIA
[ epoka:] wersja_upstream [-rewizja_debiana ]
OPIS
Numery wersji używane dla 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_upstream 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_upstream (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_upstream. Część
wersja_upstream numeru wersji pakietu jest wymagana.
wersja_upstream 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 upstream. 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_upstream nie może zawierać dwukropka. 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_upstream się zwiększa.
Dpkg dzieli numer wersji na części względem ostatniego myślnika
w napisie (jeśli taki jest), aby określić wersj upstream 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ęść wumeru wersji).
Algorytm sortowania
System zarządzania pakietami porównuje wersj_upstream 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ą.
OSTRZEŻENIA
Znak tyldy oraz jego specyficzny sposób sortowania zostały wprowadzone
w wersji 1.10 dpkg, zaś niektóre inne elementy dpkg-dev uzyskały
odpowiednie wsparcie dopiero później w serii 1.10.x.
ZOBACZ TAKŻE
deb-control(5), deb(5), dpkg(1)
AUTORZY
Copyright (C) 1996,1997,1998 Ian Jackson i Christian Schwarz
Copyright (C) 2007 Frank Lichtenheld
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.
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