Provided by: dpkg-dev_1.17.5ubuntu5.8_all 

NOME
deb-src-control - formato del file principale di controllo dei pacchetti sorgente Debian
SINTASSI
control
DESCRIZIONE
Ogni pacchetto sorgente Debian contiene il file «control» principale che contiene almeno 2 paragrafi,
separati da una riga vuota. Il primo paragrafo elenca tutte le informazioni sul pacchetto sorgente in
generale, mentre ciascun paragrafo seguente descrive esattamente un pacchetto binario. Ogni paragrafo
consiste di almeno un campo. Un campo inizia con un nome di campo, come Package o Section (le maiuscole e
minuscole non hanno importanza), seguito da due punti («:»), il corpo del campo e un ritorno a capo. Sono
permessi anche campi con più righe, ma ogni riga aggiuntiva senza un nome di campo deve iniziare con
almeno uno spazio. Il contenuto dei campi multi riga viene generalmente riunito in un'unica riga dagli
strumenti (tranne nel caso del campo Description, come descritto in seguito). Per inserire righe vuote in
un campo composto da più righe, inserire un punto dopo lo spazio. Le righe che iniziano con un «#» sono
considerate commenti.
CAMPI DEL SORGENTE
Source: nome-pacchetto-sorgente (richiesto)
Il valore di questo campo è il nome del pacchetto sorgente e deve corrispondere al nome del
pacchetto sorgente nel file debian/changelog. Un nome di pacchetto è formato soltanto da lettere
minuscole (a-z), cifre (0-9), segni più (+) e meno (-) e punti (.). I nomi di pacchetto devono
essere lunghi almeno due caratteri e devono iniziare con un carattere alfanumerico.
Maintainer: nomecompleto-email (richiesto)
Dovrebbe essere nel formato «Tizio Caio <tcaio@foo.com>» e si riferisce alla persona che
attualmente mantiene il pacchetto, piuttosto che all'autore del software o al creatore originale
del pacchetto.
Uploaders: nomecompleto-email
Elenca tutti i nomi ed indirizzi di posta elettronica dei co-manutentori del pacchetto, nello
stesso formato del campo Maintainer. Più manutentori devono essere separati da una virgola.
Standards-Version: stringa-versione
Questo indica la più recente versione degli standard (che consistono nel manuale Debian Policy e
dei testi a cui esso fa riferimento, nel pacchetto debian-policy) a cui è conforme questo
pacchetto.
Homepage: url
L'URL della home page del progetto originale.
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. Questo campo solitamente non è
necessario.
Vcs-*: url
L'url del repository del sistema di controllo di versione usato per manutenere questo pacchetto.
Attualmente sono supportati Arch, Bzr (Bazaar), Cvs, Darcs, Git, Hg (Mercurial), Mtn (Monotone) e
Svn (Subversion). Solitamente questo campo punta alla versione più recente del pacchetto, ad
esempio al ramo principale o al tronco.
Vcs-Browser: url
L'url di un'interfaccia web per navigare nel repository del sistema di controllo di versione.
Origin: nome
Il nome della distribuzione da cui ha origine questo pacchetto. Questo campo solitamente non è
necessario.
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.
Build-Depends: elenco-pacchetti
Un elenco di pacchetti che devono essere installati e configurati per poter compilare il pacchetto
sorgente. Includere una dipendenza in questo elenco ha lo stesso effetto di includerla in entrambi
Build-Depends-Arch e Build-Depends-Indep, con l'effetto aggiuntivo di essere usata per la
creazione di archivi solo-sorgenti.
Build-Depends-Arch: elenco-pacchetti
Same as Build-Depends, but they are only needed when building the architecture dependent packages.
The Build-Depends are also installed in this case. This field is supported since dpkg 1.16.4; in
order to build with older dpkg versions, Build-Depends should be used instead.
Build-Depends-Indep: elenco-pacchetti
Come Build-Depends, ma sono necessari solamente quando si compilano i pacchetti indipendenti
dall'architettura. In questo caso vengono installati anche i Build-Depends.
Build-Conflicts: elenco-pacchetti
Un elenco di pacchetti che non devono essere installati quando il pacchetto è compilato, ad
esempio perché interferiscono con il sistema di compilazione usato. Includere una dipendenza in
questo elenco ha lo stesso effetto di includerla sia in Build-Conflicts-Arch sia in
Build-Conflicts-Indep, con l'effetto aggiuntivo di essere usata per le compilazioni solo-sorgente.
Build-Conflicts-Arch: elenco-pacchetti
Same as Build-Conflicts, but only when building the architecture dependent packages. This field is
supported since dpkg 1.16.4; in order to build with older dpkg versions, Build-Conflicts should be
used instead.
Build-Conflicts-Indep: elenco-pacchetti
Come Build-Conflicts, ma solo quando si compilano i pacchetti indipendenti dall'architettura.
The syntax of the Build-Depends, Build-Depends-Arch and Build-Depends-Indep fields is a list of groups of
alternative packages. Each group is a list of packages separated by vertical bar (or "pipe") symbols,
"|". The groups are separated by commas. Commas are to be read as "AND", and pipes as "OR", with pipes
binding more tightly. Each package name is optionally followed by a version number specification in
parentheses, an architecture specification in square brackets, and a profile specification in angle
brackets.
The syntax of the Build-Conflicts, Build-Conflicts-Arch and Build-Conflicts-Indep fields is a list of
comma-separated package names, where the comma is read as an "AND". Specifying alternative packages using
a "pipe" is not supported. Each package name is optionally followed by a version number specification in
parentheses, an architecture specification in square brackets, and a profile specification in angle
brackets.
Un numero di versione può iniziare con «>>», nel qual caso corrisponde ad ogni versione successiva e può
specificare o meno la revisione Debian del pacchetto (separata da un trattino). Le relazioni accettate
per le versioni sono «>>» per maggiore di, «<<» per minore di, «>=» per maggiore o uguale a, «<=» per
minore o uguale a e «=» per uguale a.
An architecture specification consists of one or more architecture names, separated by whitespace.
Exclamation marks may be prepended to each of the names, meaning "NOT".
A profile specification consists of one or more profile names, prefixed with the "profile." namespace,
separated by whitespace. Exclamation marks may be prepended to each of the names, meaning "NOT".
Notare che le dipendenze dai pacchetti nell'insieme build-essential possono essere omesse e che
dichiarare conflitti di compilazione con essi è impossibile. Un elenco di tali pacchetti è nel pacchetto
build-essential.
CAMPI BINARI
Notare che i campi Priority, Section e Homepage possono anche essere in un paragrafo di un binario per
sovrascrivere il valore globale del pacchetto sorgente.
Package: nome-pacchetto-binario (richiesto)
Questo campo viene usato per indicare il nome del pacchetto binario. Valgono le stesse restrizioni
usate per i nomi dei pacchetti sorgenti.
Architecture: arch|all|any (richiesto)
L'architettura specifica su quale tipo di hardware funziona questo pacchetto. Per i pacchetti che
funzionano su tutte le architetture, usare il valore any. Per i pacchetti che sono indipendenti
dall'architettura, come gli script Perl e di shell o la documentazione, usare il valore all. Per
limitare i pacchetti ad un determinato insieme di architetture, specificare i nomi delle
architetture, separate da uno spazio. In tale elenco è anche possibile usare caratteri jolly per
le architetture (per maggiori informazioni vedere dpkg-architecture(1)).
Package-Type: deb|udeb
Questo campo definisce il tipo di pacchetto. «udeb» è per pacchetti di dimensioni limitate usati
dall'installatore debian. «deb» è il valore predefinito che viene usato se il campo non è
presente. Ulteriori tipi potrebbero essere aggiunti in futuro.
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.
Essential: yes|no
Multi-Arch: same|foreign|allowed
Tag: elenco-etichette
Description: descrizione-breve (richiesto)
Questi campi sono descritti nella pagina di manuale deb-control(5), dato che sono copiati in modo
letterale nel file di controllo del pacchetto binario.
Depends: elenco-pacchetti
Pre-Depends: elenco-pacchetti
Recommends: elenco-pacchetti
Suggests: elenco-pacchetti
Breaks: elenco-pacchetti
Enhances: elenco-pacchetti
Replaces: elenco-pacchetti
Conflicts: elenco-pacchetti
Provides: elenco-pacchetti
Built-Using: elenco-pacchetti
Questi campi dichiarano relazioni tra i pacchetti. Sono descritti nella pagina di manuale
deb-control(5) e nel pacchetto debian-policy.
CAMPI DEFINITI DALL'UTENTE
È permesso aggiungere al file control campi addizionali definiti dall'utente che saranno ignorati dagli
strumenti. Se si desidera che i campi vengano copiati nei file di output, come ad esempio i pacchetti
binari, è necessario usare uno schema dei nomi personalizzato: i campi devono iniziare con una lettera X,
seguita da una o più tra le lettere BCS e un trattino. Se viene usata la lettera B, il campo sarà
presente nel file di controllo del pacchetto binario, vedere deb-control(5); se è usata la lettera S sarà
nel file di controllo del pacchetto sorgente come creato da dpkg-source(1); nel caso della lettera C nel
file di controllo del caricamento (.changes). Notare che i prefissi X[BCS]- vengono rimossi quando i
campi sono copiati nei file di output. Un campo XC-Approved-By apparirà come Approved-By nel file changes
e non sarà presente nel file di controllo del pacchetto binario o di quello sorgente.
Tenere a mente che questi campi definiti dall'utente useranno lo spazio dei nomi globale, che potrebbe in
futuro andare in conflitto con i campi ufficialmente riconosciuti. Per evitare una potenziale situazione
di questo tipo, si possono far iniziare questi campi con Private-, come in XB-Private-Nuovo-Campo;
l'effetto collaterale è che dpkg-deb non avvertirà della loro presenza come campi sconosciuti.
ESEMPIO
# Commento
Source: dpkg
Section: admin
Priority: required
Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
# questo campo viene copiato nei pacchetti binario e sorgente
XBS-Upstream-Release-Status: stable
Homepage: https://wiki.debian.org/Teams/Dpkg
Vcs-Browser: http://git.debian.org/?p=dpkg/dpkg.git
Vcs-Git: git://git.debian.org/git/dpkg/dpkg.git
Standards-Version: 3.7.3
Build-Depends: pkg-config, debhelper (>= 4.1.81),
libselinux1-dev (>= 1.28-4) [!linux-any]
Package: dpkg-dev
Section: utils
Priority: optional
Architecture: all
# questo è un campo personalizzato nel pacchetto binario
XB-Mentoring-Contact: Raphael Hertzog <hertzog@debian.org>
Depends: dpkg (>= 1.14.6), perl5, perl-modules, cpio (>= 2.4.2-2),
bzip2, lzma, patch (>= 2.2-1), make, binutils, libtimedate-perl
Recommends: gcc | c-compiler, build-essential
Suggests: gnupg, debian-keyring
Conflicts: dpkg-cross (<< 2.0.0), devscripts (<< 2.10.26)
Replaces: manpages-pl (<= 20051117-1)
Description: Debian package development tools
This package provides the development tools (including dpkg-source)
required to unpack, build and upload Debian source packages.
.
Most Debian source packages will require additional tools to build;
for example, most packages need make and the C compiler gcc.
VEDERE ANCHE
deb-control(5), deb-version(5), dpkg-source(1)
Progetto Debian 2013-09-17 deb-src-control(5)