DH_INSTALLDEB(1) | Debhelper | DH_INSTALLDEB(1) |
dh_installdeb - Installer des fichiers dans le répertoire DEBIAN
dh_installdeb [options_de_debhelper]
dh_installdeb est le programme de la suite debhelper chargé de l'installation des fichiers dans le répertoire DEBIAN du répertoire de construction du paquet ainsi que du réglage correct des droits sur ces fichiers.
dh_installdeb réalisera la substitution des items connus du format #TOKEN#. En général, les scripts voudront inclure l'item #DEBHELPER# pour bénéficier des scripts de l'interpréteur de commandes générés par les commandes debhelper (y compris ceux de dh_installdeb quand il traite les fichiers paquet.maintscript).
L'item #DEBHELPER# devrait être placé sur sa ligne propre parce qu'il est souvent remplacé par un script multiligne de l'interpréteur de commandes.
Veuillez noter que paquet.shlibs est uniquement installé si le niveau de compatibilité est 9 ou inférieur. En version 10, veuillez utiliser dh_makeshlibs(1).
Jusqu'à la version 11, ce fichier de contrôle était installé dans le dossier DEBIAN. À partir de la version 12, ce fichier est ignoré en silence.
Exemple :
# Correct rm_conffile /etc/obsolete.conf 0.2~ toto # INCORRECT rm_conffile /etc/obsolete.conf 0.2~ toto -- "$@"
Dans les niveaux de compatibilité 10 ou suivants, tous les métacaractères de l'interpréteur de commandes seront protégés, aussi du code arbitraire d'interpréteur de commandes ne peut pas être inséré ici. Par exemple, une ligne comme "mv_conffile /etc/oldconffile /etc/newconffile" insérera des extraits du script de maintenance dans tous les scripts de maintenance, suffisant pour déplacer le fichier conffile.
L'intention était aussi d'échapper les métacaractères du shell dans les modes précédents. Cependant, cela ne fonctionnait pas correctement et il était possible d'embarquer du code shell arbitraire dans les modes précédents.
L'outil dh_installdeb effectuera quelques validations basiques sur certaines commandes listées dans ce fichier pour éviter les erreurs habituelles. Cette validation renvoie un avertissement depuis la version 10, et une erreur en version 12.
Les variables de substitution sont prises en charge dans les niveaux de compatibilité 13 et ultérieurs comme documenté dans debhelper(7).
Dans un cas simple, ce paramètre fera que #ITEM# sera remplacé par VALEUR. Si VALEUR commence par un signe @ littéral, alors VALEUR est censé pointer vers un fichier contenant la valeur réelle à insérer.
Un item déclaré de façon explicite avec ce paramètre remplacera les items internes.
Exemples de tests pour aider à mieux comprendre :
cat >> debian/postinst <<EOF #SIMPLE# #FILEBASED# EOF echo -n "valeur_complexe" > un_fichier dh_installdeb --define SIMPLE=direct --define FILEBASED=@un_fichier
Dans cet exemple, #SIMPLE# sera développé en direct et #FILEBASED# sera développé en valeur_complexe.
Il est aussi possible de fixer des valeurs spécifiques à un paquet pour un item donné. Cela est utilisé quand dh_installdeb agit sur plusieurs paquets qui ont besoin de valeurs distinctes pour le même item. Cela est obtenu en préfixant le nom de l'item par pkg.nom-paquet..
Cela peut être utilisé comme dans l'exemple suivant :
cat >> debian/toto.postinst <<EOF # Script pour #PACKAGE# #TOKEN# EOF cat >> debian/titi.postinst <<EOF # Script pour #PACKAGE# #TOKEN# EOF cat >> debian/truc.postinst <<EOF # Script pour #PACKAGE# #TOKEN# EOF dh_installdeb -ptoto -ptiti -ptruc --define TOKEN=default --define pkg.titi.TOKEN=valeur-unique-titi \ --define pkg.truc.TOKEN=valeur-unique-truc
Dans cet exemple, #TOKEN# sera développé en default dans debian/toto.postinst, en valeur-unique-titi dans debian/titi.postinst et en valeur-unique-truc dans debian/truc.postinst.
Notez que les items de #pkg.*# seront visibles dans tous les scripts actifs. Par exemple, il est possible de faire référence à #pkg.titi.TOKEN# dans debian/toto.postinst et il sera remplacé par valeur-unique-titi.
dh_installdeb remplacera automatiquement les items suivants dans un script fourni par le responsable (s'il n'est pas remplacé au moyen de -D ou --define) :
Dans un souci de qualité, les items avec ce motif qui ne correspondent pas à une variable de dpkg-architecture(1) seront laissés tels quels.
Notez qu'il y a des restrictions sur les noms pouvant être utilisés voir "Restrictions dans les noms d'item").
Tous les items destinés à être remplacés doivent correspondre à l'expression rationnelle : #[A-Za-z0-9_.+]+#
Les items qui ne correspondent pas à cette expression rationnelle seront ignorés silencieusement s'ils sont présents dans un modèle de script. Les noms d'item non valables passés à -D ou --define feront que dh_installdeb rejettera la commande avec une erreur dans la plupart des cas.
Ce programme fait partie de debhelper.
Joey Hess <joeyh@debian.org>
Cette traduction est maintenue à l'aide de l'outil po4a <URL:http://po4a.alioth.debian.org/> par l'équipe francophone de traduction de Debian.
Veuillez signaler toute erreur de traduction en écrivant à <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le paquet debhelper.
Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C <section> <page_de_man> ».
2021-03-06 | 13.3.4 |