Provided by: dpkg-dev_1.22.6ubuntu6.5_all 

NAMN
deb-version - Format på versionsnummer för Debianpaket
SYNOPS
[epok:]uppströmsversion[-debianuppdatering]
BESKRIVNING
Versionsnummer som används för Debians binär- och källkodspaket består av tre komponenter. De är:
epok
Ett ensamt (vanligtvis litet) heltalsvärde större än noll. Det kan uteslutas, i så fall antas det
vara noll. Om det utesluts kan inte uppströmsversion innehålla kolontecken.
Fältet är till för att rätta till fel i versionsnummer i tidigare versioner av paketet, samt attr
hantera förändringar i paketets versionsnumreringssystem.
uppströmsversion
Detta är huvuddelen av versionsnumret. Det är vanligtvis versionsnumret för originalpaketet
(”uppströmspaketet”) som .deb-filen skapats från, om ett sådant finns. Normalt anges det på samma
form som används av uppströmsförfattaren/författarna, men det kan behöva formateras om för att passa
med pakethanterarens format och jämförelsefunktion.
Hur pakethanteraren jämför versionsnummer när det gäller uppströmsversion beskrivs nedan. Fältet
uppströmsversion i versionsnumret kan inte utelämnas.
Fältet uppströmsversion kan endast innehålla alfanumeriska tecken (”A-Za-z0-9”) och tecknen . + - : ~
(punkt, plus, bindestreck, kolon, tilde) och bör inledas med en siffra. Om det inte finns någon
debianuppdatering tillåts inte bindestreck och om det inte finns någon epok tillåts inte kolontecken.
debianuppdatering
Denna del av versionsnumret anger versionen för Debianpaketet som baserats på uppströmsversionen. Den
kan endast innehålla alfanumeriska tecken samt tecknen + . ~ (plus, punkt, tilde) och jämförs på
samma sätt som uppströmsversion.
Fältet är valfritt - om det inte anges så kan inte uppströmsversion innehålla något bindestreck. I så
fall anger versionsnumret att en programvara skrivits specifikt för att göras till ett Debianpaket,
och att det då endast finns en ”debianisering” av det och att därför behövs ingen
uppdateringsinformation vid sidan av.
Vanligtvis börjar debianuppdatering om på ”1” varje gång uppströmsversion ökas.
Dpkg delar upp versionsnumret vid det sista bindestrecket i strängen (om sådant finns) för att
bestämma uppströmsversion och debianuppdatering. Om debianuppdatering saknas räknas det som tidigare
än om fältet existerar (men notera att debianuppdatering är den minst signifikanta delen av
versionsnumret).
Sorteringsalgoritm
Pakethanteringssystemet använder samma algoritm för att jämföra uppströmsversion- och
debianuppdatering-delarna:
Strängarna jämförs från vänster till höger.
Först bestäms de inledande delar av varje sträng som enbart består av tecken som inte är siffror. Dessa
båda delar (av vilka den ena kan vara tom) jämförs lexikalt. Om en skillnad upptäcks returneras den. Den
lexikala jämförelsen jämför ASCII-värden, modifierad så att alla bokstäver sorteras före alla
icke-bokstäver och så att ett tilde sorteras före allt, även i slutet av delsträngen. Till exempel är
följande delsträngar sorterade: ”~~”, ”~~a”, ”~”, tomma delsträngen, ”a”.
Därefter bestäms de inledande delar av varje sträng som enbart består av siffror. De numeriska värdena av
dessa delar jämförs och om en skillnad upptäcks i jämförelsen returneras den som resultat av jämförelsen.
För detta ändamål räknas en tom sträng (vilket bara kan uppstå i slutet av den ena eller båda
versionssträngarna som jämförs) som noll.
Dessa båda steg (jämföra och ta bort inledande strängar med icke-siffror och siffror) upprepas till en
jämförelse upptäcks eller de båda strängarna tar slut.
Observera att epokfältet är till för att kunna rätta till tidigare misstag i versionsnumreringen, och att
hantera situationer där versionsnumreringsmetoden ändras. Det är inte tänkt att hantera versionsnummer
som innehåller strängar av bokstäver som pakethanteringssystemet inte kan tolka (till exempel ”ALPHA”
eller ”Pre-”), eller dumma sorteringsordningar.
ANTECKNINGAR
Tildetecknets och dess speciella sorteringsegenskaper introducerades i dpkg 1.10 och vissa delar av dpkg-
byggskripten fick inte stöd för det förrän senare i 1.10.x-serien.
SE ÄVEN
deb-control(5), deb(5), dpkg(1)
ÖVERSÄTTNING
Peter Krefting och Daniel Nylander.
1.22.6 2025-09-18 deb-version(7)