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. Ogni campo inizia con una etichetta, come: Package o Version (insensibile alle maiuscole/minuscole), seguita da ’:’, e il corpo del campo. I campi sono delimitati solo dalle etichette del campo. In altre parole, il testo del campo puo’ essere lungo diverse righe, ma gli strumenti di installazione generalmente uniranno le righe quando verra’ elaborato il corpo del campo (eccetto nel caso del campo Description, vedere di seguito).
CAMPI RICHIESTI
Package: <nome pacchetto>
Il valore di questo campo determina il nome del pacchetto, ed è usato dalla maggior parte degli strumenti di installazione per generare i nomi dei file.
Version: <stringa della versione>
Tipicamente, questo è il numero della versione originale del pacchetto in qualsiasi forma usata dall’autore del programma. Puo’ includere anche un numero di revisione Debian (per pacchetti non nativi). Se sono fornite entrambe, sia la versione che la revisione, queste sono separate da un trattino, ’-’. Per questa ragione, la versione originale non puo’ avere un trattino nel suo numero di versione.
Maintainer: <nome completo email>
Dovrebbe essere nel formato ’Joe Bloggs <jbloggs [AT] foo.com>’, ed è tipicamente la persona che ha creato il pacchetto, piuttosto che l’autore del software che è stato impacchettato.
Description: <breve descrizione>
<lunga descrizione>
Il formato per la descrizione del pacchetto è un
breve riassunto nella prima riga (dopo il campo
"Description"). Le righe seguenti possono essere
usate come una lunga, e piu’ dettagliata descrizione.
Ogni riga della descrizione lunga deve essere preceduta da
uno spazio, e le righe bianche, nella descrizione lunga,
devono contenere un singolo ’.’ che segue lo
spazio precedente.
CAMPI OPZIONALI
Section: <sezione>
Questo è un campo generale che assegna al pacchetto una categoria basata sul software che esso installa. Alcune sezioni comuni sono: ’utils’, ’net’, ’mail’, ’text’, ’x11’, etc.
Priority: <priorita’>
Imposta l’importanza di questo pacchetto in relazione all’intero sistema. Priorita’ comuni sono: ’required’, ’standard’, ’optional’, ’extra’, etc.
In Debian, i
campi Section e Priority hanno un insieme
definito di valori accettabili in base al Manuale della
Policy Debian. Essi sono usati per decidere come i pacchetti
sono disposti nell’archivio. Una lista di questi
valori puo’ essere ottenuta dall’ultima versione
del pacchetto debian-policy.
Essential: <yes|no>
Questo campo è usualmente necessario solo quando la risposta è ’si’’. Esso denota un pacchetto che è richiesto per il corretto funzionamento del sistema. Dpkg o qualsiasi altro strumento di installazione non permettera’ che un pacchetto Essential sia rimosso (almeno non senza usare una delle opzioni di forzatura).
Architecture: <arch|all>
L’architettura specifica per quale tipo di hardware questo pacchetto è stato compilato. Architetture comuni sono: ’i386’, ’m68k’, ’sparc’, ’alpha’, ’powerpc’, etc. Notare che l’opzione all è pensata per pacchetti che sono indipendenti dall’architettura. Alcuni esempi di questi pacchetti sono rappresentati da script shell o Perl, o documentazione.
Source: <nome sorgente>
Il nome del pacchetto sorgente da cui deriva questo pacchetto binario, se è differente rispetto al nome del pacchetto stesso.
Depends: <lista di pacchetti>
Lista dei pacchetti che sono richiesti da questo pacchetto per fornire una quantita’ non banale di funzionalita’. Il software di manutenzione dei pacchetti non permettera’ l’installazione di un pacchetto senza installare anche quelli elencati nel suo campo Depends , almeno non senza usare le opzioni di forzatura, ed eseguira’ gli script postinst dei pacchetti elencati nei campi Depends: prima di quelli dei pacchetti che dipendono da essi, ed esegue prima gli script prerm.
Pre-Depends: <lista di pacchetti>
Lista dei 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 dei suoi script preinst.
Recommends: <lista di pacchetti>
Elenca i pacchetti che dovrebbero trovarsi insieme a questo pacchetto in tutte le installazioni usuali. Il software di manutenzione dei pacchetti avvisa l’utente se installa un pacchetto senza quelli elencati nel suo campo Recommends.
Suggests: <pacchetto lista>
Elenca pacchetti che sono correlati a questo e che forse possono accrescere la sua utilita’, ma senza i quali l’installazione di questo pacchetto è perfettamente ragionevole.
La sintassi dei campi Depends, Pre-Depends, Recommends e Suggests è una lista di gruppi di pacchetti alternativi. Ogni gruppo è una lista 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 aventi precedenza. Ogni elemento è un nome di un pacchetto seguito opzionalmente da un numero di versione specificato tra parentesi.
Un numero di
versione puo’ iniziare con un ’>>’,
in tal caso ogni versione successiva andra’ bene, e
può specificare o omettere il numero di revisione di
impacchettamento Debian (separato da un trattino). Relazioni
tra versioni accettate sono ">>" per
maggiore di, "<<" per minore di,
">=" per maggiore o eguale a, "<="
per minore o eguale a, e "=" per eguale a.
Conflicts: <lista di pacchetti>
Elenca i pacchetti che vanno in
conflitto con questo pacchetto, per esempio quando
contengono file aventi lo stesso nome. Il software di
manutenzione dei pacchetti non permettera’ a pacchetti
che sono in conflitto di essere installati
contemporaneamente. Due pacchetti in conflitto dovrebbero
includere ognuno una riga Conflicts che menziona
l’altro pacchetto.
Replaces: <lista di pacchetti>
Lista di pacchetti, i cui file questo pacchetto è autorizzato a sostituire. È usato per permettere al pacchetto di sovrascrivere i file di un altro pacchetto ed è usato di solito con il campo Conflicts per forzare la rimozione dell’altro pacchetto, se questo ha anche gli stessi file del pacchetto in conflitto.
Provides: <pacchetto lista>
Questa è una lista di pacchetti virtuali che il pacchetto stesso fornisce. Solitamente questa lista è usata nel caso in cui diversi pacchetti forniscano tutti lo stesso servizio. Per esempio, sendmail e exim possono servire come server di posta, perciò forniscono un pacchetto comune (’mail-transport-agent’) da cui possono dipendere altri pacchetti. Questo permettera’ a sendmail o a exim di servire come una valida opzione per soddisfare la dipendenza. Ciò evita per i pacchetti che dipendono da un mail server, la necessità di conoscere i nomi di tutti questi pacchetti, e di usare il carattere ’|’ per separare la lista.
La sintassi di Conflicts, Replaces e Provides è una lista di nomi di pacchetti, separata da virgole (e spazi bianchi opzionali). Nel campo Conflicts, la virgola dovrebbe essere letta come ’OR’. Può anche essere fornita una versione opzionale con la stessa sintassi di quella precendente per i campi Conflicts e Replaces.
ESEMPIO
Package: grep
Essential: yes
Priority: required
Section: base
Maintainer: Wichert Akkerman <wakkerma [AT] 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
AUTORI
Raul Miller, Ian Jackson, Ian Murdock. Traduzione ed adattamenti in italiano a cura di Hugh Hartmann <hhartmann [AT] libero.it>. Revisione a cura di Beatrice Torracca <beatricet [AT] libero.it>.