1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
*****************************************************
* GENERATED FILE, DO NOT EDIT *
* THIS IS NO SOURCE FILE, BUT RESULT OF COMPILATION *
*****************************************************
This file was generated by po4a(7). Do not store it (in VCS, for example),
but store the PO file used as source file by po4a-translate.
In fact, consider this as a binary, and the PO file as a regular .c file:
If the PO get lost, keeping this translation up-to-date will be harder.
=encoding UTF-8
=head1 NAMN
deb-version - Format på versionsnummer för Debianpaket
=head1 SYNOPS
[I<epok>B<:>]I<uppströmsversion>[B<->I<debianuppdatering>]
=head1 BESKRIVNING
Versionsnummer som används för Debians binär- och källkodspaket består av
tre komponenter. De är:
=over
=item I<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
I<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.
=item I<uppströmsversion>
Detta är huvuddelen av versionsnumret. Det är vanligtvis versionsnumret för
originalpaketet (”uppströmspaketet”) som I<.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 I<uppströmsversion>
beskrivs nedan. Fältet I<uppströmsversion> i versionsnumret kan inte
utelämnas.
Fältet I<uppströmsversion> kan endast innehålla alfanumeriska tecken
(”A-Za-z0-9”) och tecknen B<.> B<+> B<-> B<:> B<~> (punkt, plus,
bindestreck, kolon, tilde) och bör inledas med en siffra. Om det inte finns
någon I<debianuppdatering> tillåts inte bindestreck och om det inte finns
någon I<epok> tillåts inte kolontecken.
=item I<debianuppdatering>
Denna del av versionsnumret anger versionen för Debianpaketet som baserats
på uppströmsversionen. Den kan endast innehålla alfanumeriska tecken samt
tecknen B<+> B<.> B<~> (plus, punkt, tilde) och jämförs på samma sätt som
I<uppströmsversion>.
Fältet är valfritt - om det inte anges så kan inte I<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 I<debianuppdatering> om på ”1” varje gång
I<uppströmsversion> ökas.
Dpkg delar upp versionsnumret vid det sista bindestrecket i strängen (om
sådant finns) för att bestämma I<uppströmsversion> och
I<debianuppdatering>. Om I<debianuppdatering> saknas räknas det som tidigare
än om fältet existerar (men notera att I<debianuppdatering> är den minst
signifikanta delen av versionsnumret).
=back
=head2 Sorteringsalgoritm
Pakethanteringssystemet använder samma algoritm för att jämföra
I<uppströmsversion>- och I<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 B<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.
=head1 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.
=head1 SE ÄVEN
B<deb-control>(5), B<deb>(5), B<dpkg>(1)
=head1 ÖVERSÄTTNING
Peter Krefting och Daniel Nylander.
|