deb-control(5)

NOME
deb-control - formato del file principale di controllo dei pacchetti Debian

SINTASSI
control

DESCRIZIONE
Ogni pacchetto Debian contiene il file principale «control» che contiene un certo numero di campi oppure di commenti quando la riga inizia con «#». Ogni campo inizia con un'etichetta, quale Package o Version (le maiuscole e minuscole non fanno differenza), seguita da due punti («:») e dal corpo del campo. I campi sono delimitati solo dalle etichette di campo. In altre parole, il testo del campo può essere lungo diverse righe, ma gli strumenti di installazione generalmente uniscono le righe quando elaborano il corpo del campo (eccetto nel caso del campo Description, vedere in seguito).

CAMPI OBBLIGATORI

Package: nome pacchetto
    Il valore di questo campo determina il nome del pacchetto e viene usato dalla maggior parte degli strumenti di installazione per generare i nomi dei file.

Version: stringa-versione
    Tipicamente, questo è il numero di versione originale del pacchetto in qualsiasi forma usata dall'autore del programma. Può anche includere un numero di revisione Debian (per i pacchetti non nativi). Il formato e l'algoritmo di ordinamento esatti sono descritti in deb-version(5).

Maintainer: nomecompleto-email
    Dovrebbe essere nel formato «Tizio Caio <tcaio@foo.com>» ed è tipicamente la persona che ha creato il pacchetto, piuttosto che l'autore del software che è stato impacchettato.

Description: descrizione-breve
    descrizione-lunga
    Il formato per la descrizione del pacchetto prevede un breve riassunto nella prima riga (dopo il campo «Description»). Le righe seguenti dovrebbero essere usate per una descrizione più lunga e dettagliata. Ogni riga della descrizione lunga deve essere preceduta da uno spazio e le righe vuote nella descrizione lunga devono contenere un unico «.» che segue lo spazio precedente.

CAMPI OPZIONALI

Section: sezione
    Questo è un campo generico che assegna al pacchetto una categoria in base al software che esso installa. Alcune sezioni comuni sono: «utils», «net», «mail», «text», «x11», ecc.

Priority: priorità
    Imposta l'importanza di questo pacchetto in relazione all'intero sistema. Priorità comuni sono: «required», «standard», «optional», «extra», ecc.

In Debian, i campi Section e Priority hanno un insieme definito di valori accettati in base al manuale Debian Policy. È possibile ottenere un elenco di tali valori dalla versione più recente del pacchetto debian-policy.

Essential: yes|no
    Questo campo è solitamente necessario solamente quando la risposta è yes. Denota un pacchetto che è richiesto per il corretto funzionamento del sistema. dpkg o qualsiasi altro strumento di installazione non permetterà che un pacchetto Essential venga rimosso (almeno non senza usare una delle opzioni di forzatura).

Architecture: arch|all
    L'architettura specifica per quale tipo di hardware è stato compilato questo pacchetto. Architetture comuni sono: «i386», «m68k», «sparc», «alpha», «powerpc», ecc. Notare che l'opzione all è pensata per pacchetti che sono indipendenti dall'architettura. Alcuni esempi di questi pacchetti sono gli script di shell o Perl e la documentazione.

Origin: nome
    Il nome della distribuzione da cui ha origine questo pacchetto.

Bugs: url
    L'url per questo pacchetto nel sistema di tracciamento dei bug. Il formato attualmente utilizzato è tipo-bts://indirizzo-bts, come in debbugs://bugs.debian.org.

Homepage: url
    L'url della home page del progetto originale.

Tag: elenco-etichette
    Elenco di etichette che descrivono le qualità del pacchetto. La descrizione e l'elenco delle etichette supportate possono essere trovati nel pacchetto debtags.

Multi-Arch: same|foreign|allowed
    Questo campo viene usato per indicare come questo pacchetto dovrebbe comportarsi nelle installazioni multi-arch. Il valore same significa che il pacchetto è co-installabile insieme a sé stesso, ma non deve essere usato per soddisfare le dipendenze di un qualsiasi pacchetto di un'architettura diversa dalla propria. Il valore foreign significa che il pacchetto non è co-installabile insieme a sé stesso, ma può soddisfare le dipendenze di un pacchetto di un'architettura diversa dalla propria. Il valore allowed permette alle dipendenze inverse di indicare nel loro campo Depends di accettare un pacchetto da un'architettura diversa, ma non ha altri effetti.

Source: nome-sorgente
    Il nome del pacchetto sorgente da cui deriva questo pacchetto binario, se è differente rispetto al nome del pacchetto stesso.

Subarchitecture: valore
Kernel-Version: valore
Installer-Menu-Item: valore
    Questi campi sono usati dall'installatore Debian e non sono solitamente necessari. Per maggiori dettagli su di essi, guardare il file /usr/share/doc/debian-installer/devel/modules.txt nel pacchetto debian-installer.

Depends: elenco-pacchetti
    Elenco di pacchetti che sono richiesti da questo pacchetto per fornire una quantità non banale di funzionalità. Il software di manutenzione dei pacchetti non permetterà l'installazione di un pacchetto se non sono installati quelli elencati nel suo campo Depends, almeno non senza usare le opzioni di forzatura. Durante un'installazione gli script postinst dei pacchetti elencati nei campi Depends: sono eseguiti prima di quelli dei pacchetti che dipendono da essi. Al contrario, durante una rimozione, lo script prerm di un pacchetto viene eseguito prima di quelli dei pacchetti elencati nel suo campo Depends.

Pre-Depends: elenco-pacchetti
    Elenco di pacchetti che devono essere installati e configurati prima che questo pacchetto possa essere installato. È usato generalmente nel caso in cui questo pacchetto richieda un altro pacchetto per l'esecuzione del suo script preinst.

Recommends: elenco-pacchetti
    Elenca i pacchetti che dovrebbero essere presenti insieme a questo in tutte le installazioni tranne quelle più particolari. Il software di manutenzione dei pacchetti avvisa l'utente se cerca di installare un pacchetto senza quelli elencati nel suo campo Recommends.

Suggests: elenco-pacchetti
    Elenca i pacchetti che sono correlati con questo e che forse ne aumentano l'utilità, ma senza i quali l'installazione del pacchetto è perfettamente ragionevole.

La sintassi dei campi Depends, Pre-Depends, Recommends e Suggests è un elenco di gruppi di pacchetti alternativi. Ogni gruppo è un elenco di pacchetti separati da una barra verticale (o «pipe»): «|». I gruppi sono separati da virgole. Le virgole devono essere lette come «AND» e le pipe come «OR», con le pipe che hanno la precedenza. Ogni nome di pacchetto è seguito opzionalmente da un numero di versione specificato tra parentesi.

Un numero di versione può iniziare con un «>>», nel qual caso qualsiasi versione successiva soddisferà la condizione, e può specificare o omettere il numero di revisione del pacchetto Debian (separato da un trattino). Le relazioni tra le versioni accettate sono «>>» per maggiore di, «<<» per minore di, «>=» per maggiore o uguale a, «<=» per minore o uguale a e «=» per uguale a.

Breaks: elenco-pacchetti
    Elenca i pacchetti che vengono resi difettosi da questo, per esempio portando alla luce bug quando essi fanno affidamento su questo. Il software di manutenzione dei pacchetti non permette di configurare pacchetti difettosi; generalmente la soluzione è di aggiornare i pacchetti elencati in un campo Breaks.

Conflicts: elenco-pacchetti
    Elenca i pacchetti che vanno in conflitto con questo, per esempio perché contengono file con nomi identici. Il software di gestione dei pacchetti non permette di avere pacchetti in conflitto installati contemporaneamente. Due pacchetti che vanno in conflitto dovrebbero entrambi includere una riga Conflicts che indica l'altro.

Replaces: elenco-pacchetti
    Elenco di file di pacchetti che questo rimpiazza. È usato per permettere a questo pacchetto di sovrascrivere i file di un altro pacchetto, ed è solitamente usato con il campo Conflicts per forzare la rimozione dell'altro pacchetto se questo ha anche gli stessi file di quello in conflitto.

Provides: elenco-pacchetti
    Questo è un elenco di pacchetti virtuali forniti da questo pacchetto. Solitamente viene usato nel caso in cui svariati pacchetti forniscano tutti lo stesso servizio. Per esempio, sendmail ed exim possono fare da server di posta e perciò forniscono un pacchetto comune («mail-transport-agent») dal quale possono dipendere altri pacchetti. Ciò permette a sendmail o exim di essere un'opzione valida per soddisfare la dipendenza; inoltre così non è necessario che i pacchetti che dipendono da un server di posta sappiano i nomi di tutti i pacchetti che ne contengono uno e che li elenchino separandoli con «|».

La sintassi di Breaks, Conflicts, Replaces e Provides è un elenco di nomi di pacchetto, separati da virgole (e opzionalmente spazi bianchi). Nei campi Breaks e Conflicts, la virgola deve essere letta come «OR». Per i campi Breaks, Conflicts e Replaces, può anche essere specificata una versione opzionale con la stessa sintassi descritta sopra.

Built-Using: elenco-pacchetti
    Questo campo elenca pacchetti sorgente extra che sono stati usati durante la compilazione di questo pacchetto binario. È un'indicazione per il software di manutenzione degli archivi che questi pacchetti sorgente aggiuntivi devono essere conservati fintanto che questo pacchetto binario è mantenuto. Questo campo deve essere un elenco di nomi di pacchetti sorgente con una relazione di versione stringente (=). Notare che è probabile che il software di manutenzione degli archivi rifiuti di accettare il caricamento di un pacchetto che dichiara una relazione Built-Using che non può essere soddisfatta dall'archivio.

ESEMPIO
# Commento
Package: grep
Essential: yes
Priority: required
Section: base
Maintainer: Wichert Akkerman <wakkerma@debian.org>
Architecture: sparc
Version: 2.4-1
Pre-Depends: libc6 (>= 2.0.105)
Provides: rgrep
Conflicts: rgrep
Description: GNU grep, egrep and fgrep.
 The GNU family of grep utilities may be the "fastest grep in the west".
 GNU grep is based on a fast lazy-state deterministic matcher (about
 twice as fast as stock Unix egrep) hybridized with a Boyer-Moore-Gosper
 search for a fixed string that eliminates impossible text from being
 considered by the full regexp matcher without necessarily having to
 look at every character. The result is typically many times faster
 than Unix grep or egrep. (Regular expressions containing backreferencing
 will run more slowly, however).

VEDERE ANCHE
deb(5), deb-version(5), debtags(1), dpkg(1), dpkg-deb(1).