Créer un «dummy-package» sous Debian ou Ubuntu
Il arrive parfois qu'une dépendance d'un paquet soit manquante ou ne puisse être installée car un autre programme, compilé localement ou installé par ailleurs, remplisse la fonction, mais sans le signaler au système de gestion de paquets.
Exemple : mailx sur un serveur où Zimbra est installé.
Lorsqu'on cherche à installer mailx, le système de paquetage nous indique qu'il lui faut un MTA et nous propose exim ou postfix. Or Zimbra possède déjà son propre MTA (postfix en l'occurrence) et nous n'allons pas en installer un deuxième.
Solution : un «dummy-package»
Un «dummy-package» est un paquet vide, ayant pour fonction soit de combler artificiellement une dépendance, soit d'en ajouter artificiellement. Par exemple, le paquet linux-headers dépend toujours de la version du noyau installée : son installation implique l'installation des headers correspondant au noyau actuellement installé.
Création d'un dummy-package
Installons le paquet "equivs" qui permet de créer des dummy-packages, justement
sudo apt-get install equivs
Créons un dossier pour notre paquet et création du fichier de configuration
mkdir dummy-package; cd dummy-package
Facultatif : crée un fichier de configuration par défaut (utile pour connaitre le formatage)
equivs-control dummy-package
Remplacer le contenu du fichier de configuration de notre paquet, ou éditer le fichier "dummy-package" via
nano dummy-package
et y mettre
Section: misc Priority: optional Standards-Version: 3.6.2 Package: dummy-package Version: 1.0 Maintainer: votre nom <vous@domaine.tld> Pre-Depends: Depends: Recommends: Suggests: Provides: <liste de ce qui fournit ce paquet séparée par des virgules> Replaces: Description: Paquet vide permettant de combler les dépendances suivantes : <liste de ce qui fournit ce paquet>
Créons et installons notre paquet
equivs-build dummy-package
sudo dpkg -i dummy-package_1.0_all.deb
Exemple de dummy-package
Si on reprend l'exemple de mailx, notre dummy-package aura le fichier de configuration suivant :
Section: misc Priority: optional Standards-Version: 3.6.2 Package: dummy-mta Version: 1.0 Maintainer: votre nom <vous@domaine.tld> Pre-Depends: Depends: Recommends: Suggests: Provides: mail-transport-agent Replaces: Description: Paquet vide permettant de combler la dépendance à mail-transport-agent
Simple et efficace.







