[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ A ] [ B ] [ C ] [ D ] [ E ] [ F ] [ G ] [ suivant ]
Un paquet binaire comporte deux parties principales. La première comprend
divers fichiers d'information de contrôle et des scripts utilisés par
dpkg
lors de l'installation ou de la dés-installation. Voir Les fichiers de contrôle d'un paquet, Section
B.2.
La deuxième partie est une archive contenant les fichiers et les répertoires à installer.
À l'avenir les paquets binaires pourront contenir d'autres composants, comme des sommes de contrôle ou des signatures numériques. Le format de l'archive est décrit dans la page de manuel de deb(5).
dpkg-deb
Toutes les manipulations des fichiers d'un paquet binaire se font avec
dpkg-deb
; c'est le seul programme qui connaisse le format.
dpkg-deb
peut être appelé par dpkg
, car
dpkg
reconnaît que les options qui lui sont données appartiennent
à dpkg-deb
et l'appelle avec ces arguments.
Pour créer un paquet binaire, on doit créer une arborescence qui contient tous les fichiers et répertoires destinés à la partie « données » du système de fichiers du paquet. Dans les paquets Debian au format source, ce répertoire, debian/tmp, est habituellement relatif à la racine de l'arborescence du paquet source.
Ces fichiers auront l'adresse (relativement à la racine de l'arborescence que l'on construit) et le système de propriété et de permissions que l'on veut leur donner sur le système où ils seront installés.
Avec les versions actuelles de dpkg
, les identifiants uid
(utilisateur) et les identifiants gid (groupe) utilisés seront les
mêmes pour le système sur lequel on construit que pour le système
pour lequel on construit.
On doit ajouter un répertoire spécial à la racine de la mini arborescence
créée : DEBIAN
. Il contiendra les fichiers de contrôle,
notamment le fichier de contrôle des paquets binaires (voir Le principal fichier d'informations de contrôle :
control, Section B.3).
Le répertoire DEBIAN n'apparaîtra pas dans l'archive du système de
fichiers du paquet, et ainsi ne sera pas créé par dpkg
quand le
paquet sera installé.
Quand le paquet est prêt, on appellera :
dpkg --build répertoire
Le paquet sera construit dans répertoire.deb
.
(dpkg
sait que --build est une option de
dpkg-deb
et il appelle dpkg-deb
avec ces arguments
pour construire le paquet.)
Voir les pages de manuel dpkg-deb(8)
pour savoir comment examiner
le contenu de ce fichier fraîchement créé. Les sorties des commandes suivantes
peuvent être éclairantes :
dpkg-deb --info filename.deb dpkg-deb --contents filename.deb dpkg --contents filename.deb
Pour voir le copyright d'un paquet, on peut utiliser cette commande :
dpkg --fsys-tarfile filename.deb | tar xOf - \*/copyright | pager
La partie contenant les informations de contrôle d'un paquet binaire est une
collection de fichiers dont les noms sont connus par dpkg
.
dpkg
traitera le contenu de ces fichiers d'une manière spéciale -
certains d'entre eux contiennent des informations utilisées pour l'installation
ou la suppression d'un paquet ; les autres sont des scripts dont le
responsable de paquet désire l'exécution.
Il est possible de mettre d'autres fichiers dans la zone de contrôle du paquet, mais ce n'est pas une bonne idée (de toute façon ils seront ignorés).
Voici une brève liste des fichiers de contrôle utilisés par dpkg
et un résumé de ce qu'ils font.
C'est le principal fichier de description utilisé par dpkg
. Il
indique le nom et la version du paquet, donne sa description pour les
utilisateurs, établit les relations avec les autres paquets, etc. Voir Le fichier de contrôle
d'un paquet source : debian/control
, Section 5.2 et Les fichiers de contrôles
des paquets binaires : DEBIAN/control
, Section 5.3.
Ce fichier est créé par le programme dpkg-gencontrol
, avec l'aide
de dpkg-shlibdeps
, à partir des informations contenues dans le
paquet source. Voir Les
outils pour gérer les paquets sources, Section C.1.
Ce sont des fichiers exécutables (habituellement des scripts) que
dpkg
exécute pendant l'installation, la mise à jour ou la
suppression des paquets. Ils permettent de traiter les particularités d'un
paquet ou celles qui nécessitent un traitement plus compliqué que celui fourni
par dpkg
. Quand et comment ils sont appelés est indiqué dans Les scripts du responsable de paquet et la
procédure d'installation, Chapitre 6.
Il est très important de rendre ces scripts idempotents. Voyez L'idempotence des scripts du responsable, Section 6.2.
Les scripts de maintenance peuvent compter sur un terminal de contrôle et peuvent interagir avec l'utilisateur. Voyez Les terminaux de contrôle et les scripts du responsable, Section 6.3.
Ce fichier contient une liste des fichiers de configuration qui doivent être
gérés automatiquement par dpkg
(voir La gestion des fichiers de configuration
(annexe tirée de l'ancien Packaging Manual), Annexe E). Il faut
remarquer que tous les fichiers de configuration ne sont pas nécessairement
listés là.
Ce fichier contient une liste des bibliothèques partagées fournies par le
paquet avec les informations de dépendances pour chacune. Elle est utilisée
par dpkg-shlibdeps
quand il détermine quelles dépendances sont
nécessaires dans un fichier de contrôle de paquet. Le format du fichier
shlibs est décrit dans Le
format du fichier shlibs
, Section 8.6.3.
control est le plus important des fichiers pour dpkg
.
Il contient toutes les informations vitales d'un paquet.
Les fichiers de contrôle des paquets binaires construits à partir des sources
Debian sont faits par un outil spécial dpkg-gencontrol
qui lit
debian/control et debian/changelog pour trouver les
informations dont il a besoin. Voir Les
paquets sources (annexe tirée de l'ancienPackaging Manual), Annexe
C pour des précisions.
Les champs d'un fichier de contrôle d'un paquet binaire sont listés dans Les fichiers de contrôles
des paquets binaires : DEBIAN/control
, Section 5.3.
La description de la syntaxe de ces champs et de leur signification se trouve dans Les fichiers de contrôle et leurs champs, Chapitre 5.
Voyez Cachets de date, Section 4.7.
[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ A ] [ B ] [ C ] [ D ] [ E ] [ F ] [ G ] [ suivant ]
La Charte Debian
version 3.7.2.2