Beaucoup d'outils du système de gestion des paquets manipulent les données de la même façon : ces données de contrôle sont stockées dans des fichiers de contrôle. Les paquets source et binaire possèdent des fichiers de contrôle ; et les fichiers .changes qui contrôlent l'installation des fichiers sur le serveur (upload), les bases de données internes à dpkg sont aussi des fichiers de contrôle.
Un fichier consiste en un ou plusieurs paragraphes comportant des champs. Ces paragraphes sont séparés par des lignes blanches. Certains fichiers de contrôle n'autorisent qu'un seul paragraphe ; d'autres en autorisent plusieurs, et dans ce cas, chaque paragraphe fait souvent référence à un paquet différent. (Dans les paquets sources, par exemple, le premier paragraphe se réfère au paquet source et les paragraphes suivants aux paquets binaires créés à partir de ce source.)
Chaque paragraphe est une série de champs contenant des données ; chaque champ est constitué d'un nom, suivi par deux-points et la valeur associée. Il se termine à la fin de la ligne. Les espaces horizontaux (espaces et tabulations) peuvent apparaître immédiatement avant la valeur et après, mais là, ils sont ignorés ; par convention, il y a un espace après les deux-points. Voici un exemple de champ :
Package: libc6
Le nom du champ est Package et la valeur est libc6.
Certaines valeurs de champ peuvent déborder sur plusieurs lignes ; dans ce cas chaque nouvelle ligne doit commencer par un espace ou une tabulation. Tous les espaces ou tabulations restants en fin de ligne sont ignorés.
Sauf indications contraires, une seule ligne de données est autorisée et les espaces ne sont pas significatifs dans le corps du champ. Les espaces ne doivent jamais apparaître dans les noms (de paquets, d'architectures, de fichiers, etc), dans les numéros de version ou entre les éléments de relations de version à plusieurs caractères.
Les noms de champs sont indépendants de la casse ; en général, ceux-ci sont écrits en commençant par une majuscule puis en mélangeant majuscules et minuscules comme dans les exemples plus bas.
Les lignes vides ou les lignes contenant seulement des espaces ou des tabulations ne sont pas autorisées à l'intérieur des valeurs de champ ou entre les champs - ce qui signifierait un nouveau paragraphe.
Cette liste n'est pas supposée être complète. La plupart des champs sont étudiés ailleurs dans ce texte.
Le nom du paquet binaire. Les noms de paquet sont constitués de caractères alphanumériques et des caractères +, -, . (plus, moins, point).
Ils doivent contenir au moins deux caractères, commencer par un caractère alphanumérique et ne pas contenir que des chiffres. Il est fortement recommandé de les écrire en minuscules à moins que le paquet que l'on construit ou auquel on se réfère (par exemple, dans d'autres champs) n'utilise déjà des majuscules.
Ce champ donne le numéro de version des paquets source ou binaire - voir La numérotation des versions, Chapter 4.
Ce champ donne la plus récente version des normes (la charte Debian et les textes associés) à laquelle se conforme le paquet. Il est mis à jour manuellement quand on modifie le paquet source pour le rendre conforme à des normes plus récentes ; on peut parfois se servir de ce champ pour signaler qu'un paquet a besoin d'entretien. Son format est décrit plus bas ; Voyez La conformité aux manuels Debian, Section 2.4.1.
Dans un fichier .changes ou affiché par l'analyse d'un changelog, ce champ contient les noms (séparés par des espaces) des distributions dans lesquelles cette version du paquet sera installée. Les noms de distribution sont déterminés par les responsables de l'archive [15].
La Charte Debian
version 3.5.6.1 cvs 1.68 03/2002ijackson@gnu.ai.mit.edu
schwarz@debian.org
bweaver@debian.org
debian-policy@lists.debian.org