NOME¶
deb-version - formato del numero di versione dei pacchetti Debian
SINTASSI¶
[
epoca:]
versione-originale[
-revisione-debian]
DESCRIZIONE¶
I numeri di versione usati per i pacchetti binari e sorgente di Debian sono
formati da tre componenti che sono:
- epoca
- Questo è un singolo intero senza segno (generalmente
piccolo). Può essere omesso, nel qual caso viene considerato
equivalente a zero. Se viene omesso allora la versione-originale
non può contenere alcun carattere «:».
- Viene fornito per permettere di tralasciare errori nei
numeri di versione delle versioni più vecchie di un pacchetto e anche
negli schemi di numerazione precedenti di un pacchetto.
- versione-originale
- Questa è la parte principale del numero di versione.
È solitamente il numero di versione del pacchetto originale
(«upstream») dal quale è stato creato il file .deb,
se ciò è possibile. Solitamente è nello stesso formato
specificato dall'autore originale; tuttavia può essere necessario
riformattarlo per adattarlo al formato e allo schema di confronto del
sistema di gestione dei pacchetti.
- Il metodo di confronto del sistema di gestione dei
pacchetti per ciò che riguarda versione-originale è
descritto in seguito. La porzione versione-originale del numero di
versione è obbligatoria.
- versione-originale può contenere solo caratteri
alfanumerici «A-Za-z0-9» e i caratteri . +
- : ~ (punto, più, trattino, due punti, tilde) e
deve iniziare con una cifra. Se non c'è la parte
revisione-debian allora l'uso dei trattini non è permesso; se
non c'è la parte epoca allora non sono permessi i due
punti.
- revisione-debian
- Questa parte del numero di versione specifica la versione
del pacchetto Debian basata sulla versione originale. Può contenere
solo caratteri alfanumerici e i caratteri + . ~
(più, punto, tilde) e viene confrontata nello stesso modo di
versione-originale.
- È opzionale; se non è presente allora
versione-originale non può contenere trattini. Questo formato
rappresenta il caso in cui un dato software è stato scritto
specificatamente per essere trasformato in un pacchetto Debian e
perciò c'è una sola sua «debianizzazione» e quindi non
è necessario indicare una revisione.
- Per convenzione si fa ripartire revisione-debian da
«1» ogni volta che aumenta versione-originale.
- dpkg spezza il numero di versione all'ultimo trattino nella
stringa (se ce n'è uno) per determinare versione-originale e
revisione-debian. In un confronto, l'assenza di una
revisione-debian viene considerarata anteriore rispetto alla sua
presenza (ma si deve notare che revisione-debian è la parte
meno significativa del numero di versione).
Algoritmo di ordinamento¶
Le parti
versione-originale e
revisione-debian vengono confrontate
dal sistema di gestione dei pacchetti usando lo stesso algoritmo:
Le stringhe vengono confrontate da sinistra a destra.
Come prima cosa, viene determinata la parte iniziale di ogni stringa che
consiste interamente di caratteri che non sono cifre. Queste due parti (di cui
una può essere vuota) sono confrontate lessicalmente. Se viene trovata
una differenza, essa viene restituita. Il confronto lessicale è un
confronto di valori ASCII, modificati in modo che tutte le lettere vengano
posizionate prima nell'ordinamento di qualsiasi cosa che non sia una lettera e
in modo che la tilde venga posizionata prima di ogni altra cosa, anche la fine
di una parte. Ad esempio, le seguenti parti sono messe in ordine:
«~~», «~~a», «~», parte vuota, «a».
Poi viene determinata la parte iniziale del resto di ogni stringa che consiste
interamente di caratteri che sono cifre. I valori numerici di queste due parti
vengono confrontati e qualsiasi differenza trovata è restituita come
risultato del confronto. Per questi scopi una stringa vuota (che può solo
essere presente alla fine di una o di entrambe le stringhe di versione
confrontate) viene considerata come zero.
Questi due passi (confronto e rimozione delle stringhe iniziali senza cifre e
stringhe iniziali di cifre) vengono ripetuti fino a che non viene trovata una
differenza o non sono esaurite entrambe le stringhe.
Notare che lo scopo delle epoche è di permettere di tralasciare errori
nella numerazione delle versioni e di far fronte a situazioni in cui cambia lo
schema di numerazione delle versioni.
Non è pensato per affrontare
situazioni in cui i numeri di versione contengono stringhe o lettere che il
sistema di gestione dei pacchetti non può interpretare (come
«ALPHA» o «pre-») oppure con ordinamenti insensati.
AVVERTIMENTI¶
Il carattere tilde e le sue particolari proprietà di ordinamento sono stati
introdotti nella versione 1.10 di dpkg e alcune parti di dpkg-dev hanno
acquisito il supporto per essi solamente più tardi nella serie 1.10.x.
VEDERE ANCHE¶
deb-control(5),
deb(5),
dpkg(1)