[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: quel outils pour construire des paquets?



Le Tue, Aug 26, 2025 at 02:03:14PM +0200, Marc Chantreux a écrit :
> 
> * equivs, que je n'utilise plus parce que
>   * ça utilise des clefs qui ne sont pas dans le format debian
>   * ça nécessite d'installer equivs alors que dpkg-deb fait partie
>     de dpkg.
> * dpkg-deb (qui fait partie de dpkg et qui est super simple à utiliser)
> * dpkg-buildpackage qui me semble être l'outils standard pour créer
>   des paquets et que j'utilise pour faire du backporting

On pourrait aussi ajouter alien, qui permet de transformer une archive
tar en paquet Debian.

 - alien: juste installer des fichiers; pas moyen de spécifier des dépendances.

 - dpkg-deb: installer des fichiers, des scripts de responsable, et fournir
   des métadonnées comme des dépendances, à partir d'un répertoire contenant
   l'équivalent d'un paquet déballé.

 - equivs: créer le répertoire pour dpkg-deb avec un fichier contenant toutes
   les métadonnées et les chemins vers les fichiers à installer et les liens
   symboliques (je m'étais trompé...) à créer. (Note:  n'utilise pas dpkg-deb
   directement mais via dpkg-buildpackage.)

 - dpkg-buildpackage: créer un paquet binaire à partir d'un paquet source.

Pour ma part je n'utilise jamais alien ni dpkg-deb, très rarement equivs (quand
le paquet est jetable) et surtout dpkg-buildpackage puisque je suis familier
avec.

dpkg-buildpackage n'est pas redondant avec dpkg-deb puisqu'il l'utilise en
interne.  Son role est de créer le répertoire à empaqueter à partir des
instructions données dans la Makefile debian/rules, et d'aider à se conformer
à la charte Debian, par exemple en ce qui concerne les options de sécurité
pour la compilation de programmes en C.

Avec le temps on s'est fatigué d'utiliser une Makefile contenant plein de
commandes impératives, et on se concentre sur une approche descriptive autant
que possible.  C'est que Debhelper et son programme dh font.  Dans les cas les
plus simples, la description de ce qu'il faut mettre dans le paquet, au final
pas très différente de la manière dont l'information est présentée dans equivs,
est distribuée dans les fichiers comme debian/install etc.

Une chose qui m'a dérouté au début est qu'il faut absolument un fichier
changelog car c'est là que se trouve le numéro de version du paquet.  Mais
heureusement le paquet devscripts fournit une commande appelée dch pour créer
et incrémenter ce fichier facilement.

Au final, si dh peut paraître complexe, c'est qu'il permet de reprendre le
contrôle à chaque étape de la création du paquet.  Mais dans le cas qui
a démarré la discussion ce n'est pas nécessaire.

Bonne journée,

Charles

-- 
Charles Plessy                         Nagahama, Yomitan, Okinawa, Japan
Debian Med packaging team         http://www.debian.org/devel/debian-med
Tooting from home                  https://framapiaf.org/@charles_plessy
- You  do not have  my permission  to use  this email  to train  an AI -


Reply to: