deb-version(5)

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.

NOTE
Il carattere tilde e le sue particolari proprietà di ordinamento sono stati introdotti nella versione 1.10 di dpkg e alcune parti degli script di compilazione di dpkg hanno acquisito il supporto per essi solamente più tardi nella serie 1.10.x.

VEDERE ANCHE
deb-control(5), deb(5), dpkg(1)