.\" dpkg manual page - deb-version(5) .\" .\" Copyright Š 1996-1998 Ian Jackson and Christian Schwarz .\" for parts of the text reused from the Debian Policy .\" Copyright Š 2007 Frank Lichtenheld .\" .\" This is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or .\" (at your option) any later version. .\" .\" This is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program. If not, see . . .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH deb\-version 5 2011\-08\-14 "Projekt Debian" Debian .SH NAZWA deb\-version \- format numerów wersji pakietów Debiana . .SH SKŁADNIA [\fIepoka\fP\fB:\fP]\fIwersja_macierzystaupstream\fP[\fB\-\fP\fIrewizja_debiana\fP] .SH OPIS Numery wersji używane do binarnych i źródłowych pakietów Debiana składają się z trzech części. Są to: .TP \fIepoka\fP 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 \fIwersja\-macierzysta\fP nie może zawierać żadnego dwukropka. .IP 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. .TP \fIwersja\-macierzysta\fP (wersja nadana przez autora) Główna część numeru wersji. Zwykle jest to numer wersji oryginalnego ("upstream") pakietu, na podstawie którego powstał plik \fI.deb\fP, 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. .IP Poniżej opisane jest zachowanie systemu zarządzania pakietami podczas porównywania uwzględniającego \fIwersję\-macierzysta\fP. Część \fIwersja\-macierzysta\fP numeru wersji pakietu jest wymagana. .IP \fIWersja\-macierzysta\fP może zawierać jedynie znaki alfanumeryczne ("A\-Za\-z0\-9") oraz znaki \fB.\fP \fB+\fP \fB\-\fP \fB:\fP \fB~\fP (kropkę, plus, myślnik, dwukropek, tyldę) i powinna zaczynać się od cyfry. Jeśli nie jest używana \fIrewizja\-debiana\fP, wtedy nie są dozwolone myślniki; jeśli zaś nie jest używana \fIepoka\fP, wtedy nie są dozwolone dwukropki. .TP \fIrewizja\-debiana\fP Ta część numeru wersji określa wersję pakietu Debiana bazującego na tej samej wersji macierzystej. Może zawierać jedynie znaki alfanumeryczne oraz znaki \fB+\fP \fB.\fP (plus, kropkę, tyldę) i jest porównywana w ten sam sposób co \fIwersja\-upstream\fP. .IP Jest to część opcjonalna. Jeśli nie jest używana, wtedy \fIwersja\-macierzysta\fP 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. .IP Powszechnie przyjęte jest rozpoczynanie \fIrewizji_debiana\fP od 1 za każdym razem, gdy \fIwersja\-macierzysta\fP się zwiększa. .IP Dpkg dzieli numer wersji na części względem ostatniego myślnika w łańcuchu (jeśli taki jest), aby określić \fIwersję\-macierzystą\fP oraz \fIrewizję\-debiana\fP. Przy porównywaniu, brakująca \fIrewizja\-debiana\fP poprzedza każde jej wystąpienie (jednak warto pamiętać, że jest to najmniej znacząca część numeru wersji). .SS "Algorytm sortowania" System zarządzania pakietami porównuje \fIwersję\-macierzystą\fP oraz \fIrewizję\-debiana\fP używając tego samego algorytmu: .PP Napisy są porównywane od lewej do prawej. .PP 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". .PP 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. .PP 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. .PP 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. \fBNie\fP 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ą. .SH 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. .SH "ZOBACZ TAKŻE" \fBdeb\-control\fP(5), \fBdeb\fP(5), \fBdpkg\fP(1) .SH "TŁUMACZE" Piotr Roszatycki , 1999 .br Bartosz Feński , 2004-2005 .br Robert Luberda , 2006-2008 .br Wiktor Wandachowicz , 2008 .br Michał Kułach , 2012