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.
-
paquet.postinst
-
paquet.preinst
-
paquet.postrm
-
paquet.prerm
- Ces scripts de maintenance sont installés dans le
répertoire DEBIAN.
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.
-
paquet.triggers
-
paquet.shlibs
- Ces fichiers de contrôle sont installés dans
le répertoire DEBIAN.
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).
-
paquet.conffiles
- This file will be installed into the DEBIAN
directory. The provided file will be enriched by debhelper to include all
the conffiles auto-detected by debhelper (the maintainer should not
list there as debhelper assumes it should handle that part).
This file is primarily useful for using "special" entries such as
the remove-on-upgrade feature from dpkg.
-
paquet.maintscript
- Les lignes de ce fichier correspondent à des
commandes et leurs paramètres de dpkg-maintscript-helper(1).
« maint-script-parameters » ne devrait
pas être inclus car debhelper l'ajoutera automatiquement.
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.
Where possible, dh_installdeb may choose to rewrite some or all of
the entries into equivalent features supported in dpkg without relying on
maintainer scripts at its sole discretion (examples include rewriting
rm_conffile into dpkg's remove-on-upgrade). The minimum
requirement for activating this feature is that debhelper runs in compat
10 or later.
Les variables de substitution sont prises en charge dans les niveaux de
compatibilité 13 et ultérieurs comme documenté
dans debhelper(7).
-
-DITEM=VALEUR, --define
ITEM=VALEUR
- Définit les items qui doivent être
remplacés dans les scripts du responsable quand ils sont
créés. Veuillez noter que les contraintes décrites
dans "Restrictions dans les noms d'item" s'appliquent aussi aux
items définis en ligne de commande. Les noms d'item non valables
déclencheront une erreur.
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) :
- #DEBHELPER#
- Cet item est par défaut remplacé par les
lignes de code générées par les commandes de
debhelper. Cela comprend les lignes de code générées
par dh_installdeb à partir du fichier
paquet.maintscript (s'il est présent).
- #DEB_HOST_NOM#, #DEB_BUILD_NOM#,
#DEB_TARGET_NOM#
- Ces items sont remplacés par leur variable
respective venant de dpkg-architecture(1). Dans presque tous les
cas, vous voudrez utiliser la variante
#DEB_HOST_NOM dans un script pour vous assurer
d'obtenir la valeur correcte lors d'une construction croisée.
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.
- #ENV.NOM#
- Les items de cette forme seront remplacés par la
valeur de la variable d'environnement correspondante. Si la variable
d'environnement n'est pas définie, l'item est remplacé par
une chaîne vide.
Notez qu'il y a des restrictions sur les noms pouvant être
utilisés voir "Restrictions dans les noms d'item").
- #PACKAGE#
- Cet item est remplacé par défaut par le nom
du paquet qui contiendra le script réel.
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.
debhelper(7)
Ce programme fait partie de debhelper.
Joey Hess <
[email protected]>
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 à
<
[email protected]> 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> ».