[ 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
Annexe B - Les paquets binaires (annexe tirée de l'ancien Packaging Manual)


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).


B.1 Comment créer les fichiers d'un paquet ? -- 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

B.2 Les fichiers de contrôle d'un paquet

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.

control

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.

postinst, preinst, postrm, prerm

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.

conffiles

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à.

shlibs

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.


B.3 Le principal fichier d'informations de contrôle : control

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.


B.4 Les cachets de date

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

La liste de diffusion Debian-Policy