Provided by:
dpkg_1.16.0.3ubuntu5_i386 
NOM
dpkg-maintscript-helper - contournement des limitations connues de dpkg
dans les scripts du responsable
SYNOPSIS
dpkg-maintscript-helper commande [param`etres...] --
param`etres-script-responsable
COMMANDES ET PARAM`ETRES
rm_conffile fichier-de-configuration [derni`ere-version [paquet]]
mv_conffile ancien-fichier-de-configuration
nouveau-fichier-de-configuration [derni`ere-version [paquet]]
DESCRIPTION
Ce programme est prevu pour etre execute dans les scripts du
responsable afin de realiser certaines taches que dpkg ne peut pas
(encore) prendre en charge directement a cause de limites de conception
ou de limitations actuelles.
La plupart de ces taches necessitent la coordination de plusieurs
script du responsable (preinst, postinst, prerm, postrm). Pour eviter
des erreurs, le meme appel a simplement besoin d'etre place dans tous
les scripts. Le programme adaptera alors con comportement en fonction
de la variable d'environnement
T^ACHES LI'EES AUX FICHIERS DE CONFIGURATION
Lors de la mise a jour d'un paquet, dpkg ne supprime pas
automatiquement les fichiers de configuration (comportant des
modifications locales a preserver) s'il n'est pas present dans la
nouvelle version. Il existe deux raisons principales a cela. En premier
lieu, le fichier de configuration peut avoir ete supprime par accident,
etre reintegre dans la version suivante et il peut etre necessaire de
retrouver les modifications locales. Ensuite, l'objectif est egalement
de permettre d'effectuer la transition depuis des fichiers de
configuration geres par dpkg vers un fichier gere via les scripts du
responsable, en general a l'aide d'un outil comme debconf ou ucf.
Cela signifie que si un paquet a besoin de renommer ou supprimer un
fichier de configuration, il doit le faire explicitement. L'objectif de
dpkg-maintscript-helper est donc de fournir des methodes de suppression
ou renommage de fichiers de configuration via les scripts du
responsable.
SUPPRESSION D'UN FICHIER DE CONFIGURATION
Si un fichier de configuration est completement supprime, il doit etre
efface du disque sauf si l'administrateur local l'a modifie. Les
eventuelles modifications locales doivent etre conservees. Si la mise a
jour du paquet est interrompue, le fichier de configuration rendu
obsolete ne doit pas avoir disparu.
L'ensemble de ces pre-requis est mis en oeuvre en utilisant les
commandes shell suivantes dans les scripts preinst, postinst et
postrm :
dpkg-maintscript-helper rm_conffile \
fichier-de-configuration derni`ere-version paquet -- "$@"
fichier-de-configuration est le nom du fichier de configuration a
supprimer. derni`ere-version est la derniere version du paquet qui le
fournissait (ou la derniere version du paquet qui ne prenait pas soin
de supprimer le fichier de configuration obsolete si la suppression
correcte n'a pas ete immediatement mise en oeuvre). Si derni`ere-version
est vide ou est omis, cette suppression sera tente pour toute mise a
jour. paquet est le nom du paquet. Ce parametre est optionnel, la
valeur par defaut etant $DPKG_MAINTSCRIPT_PACKAGE (cette variable est
positionnee par dpkg sur le nom du paquet sur lequel il travaille).
Tous les parametres des scripts du responsable doivent etre rediriges
au programme apres << -- >>.
Details de la mise en oeuvre actuelle : dans le script preinst, il est
verifie si le fichier de configuration a ete modifie. Celui-ci est
alors renomme, soit en fichier-de-configuration.dpkg-remove s'il n'a
pas ete modifie, soit en fichier-de-configuration.dpkg-backup s'il l'a
ete. Dans le script postinst, ce dernier fichier est ensuite renomme en
fichier-de-configuration.dpkg-bak et conserve pour reference puisqu'il
contient des modifications locales, mais le premier est supprime. Si la
mise a jour du paquet est interrompue, le script postrm remet en place
le fichier de configuration d'origine. A la purge du paquet, le script
postrm supprimera egalement le fichier .dpkg-bak qui avait ete conserve
jusque la.
RENOMMAGE D'UN FICHIER DE CONFIGURATION
Si un fichier de configuration est deplace a un autre endroit, il est
necessaire de garantir la preservation des modifications locales. A
premiere vue, cela peut sembler etre une simple modification dans le
script preinst, mais cela risque de resultat dans une demande, par
dpkg, d'approbation de modifications locales qui n'existent pas
reellement.
Un renommage elegant peut etre mis en oeuvre avec les extraits shell
qui suivent, dans les scripts preinst, postinst et postrm.
dpkg-maintscript-helper mv_conffile \
ancien-fichier nouveau-fichier derni`ere-version paquet -- "$@"
ancien-fichier et nouveau-fichier sont les deux noms successifs du
fichier de configuration. derni`ere-version est la derniere version du
paquet qui contenait le fichier de configuration avec l'ancien nnom. Si
derni`ere-version est vide ou manquant, l'operation sera tentee a chaque
mise a jour (il est plus sur d'indiquer la bonne version afin qe
l'operation ne soit tentee qu'une fois). paquet est le nom du paquet.
Ce parametre est optionnel, la valeur par defaut etant
$DPKG_MAINTSCRIPT_PACKAGE (cette variable est positionnee par dpkg sur
le nom du paquet sur lequel il travaille). Tous les parametres des
scripts du responsable doivent etre rediriges au programme apres
<< -- >>.
Details de la mise en oeuvre actuelle : dans le script preinst, il est
verifie si le fichier de configuration a ete modifie. Celui-ci est
alors soit laisse en place s'il a ete modifie, soit renomme en
ancien-fichier.dpkg-remove s'il ne l'a pas ete. Lors de la
configurations, le script postinst supprime ancien-fichier.dpkg-remove
et renomme ancien-fichier and nouveau-fichier si ancien-fichier existe
toujours Si la mise a jour ou l'installation sont interrompues, le
script postrm renomme ancien-fichier.dpkg-remove en ancien-fichier si
c'est indispensable.
INT'EGRATION DANS LES PAQUETS
Given that dpkg-maintscript-helper is used in the preinst, using it
unconditionally requires a pre-dependency to ensure that the required
version of dpkg has been unpacked before. The required version depends
on the command used, for rm_conffile and mv_conffile it is 1.15.7.2:
Pre-Depends: dpkg (>= 1.15.7.2)
Cependant, dans de nombreux cas, l'operation realisee par le programme
n'est pas critique pour le paquet et au lieu d'utiliser une
pre-dependance, il est possible de ne lancer le programme que si on a
la certitude que la commande necessaire est geree par la version
actuellement installee de dpkg :
if dpkg-maintscript-helper supports <command>; then
dpkg-maintscript-helper <command> ...
fi
AUTEURS
Copyright (C) 2010 Raphael Hertzog
Copyright (C) 2008 Joey Hess
Copyright (C) 2007 Guillem Jover
Copyright (C) 2005 Scott James Remnant
Ce programme est un logiciel libre ; voyez la << GNU General Public
Licence >> version 2 ou superieure pour le copyright. Il n'y a PAS de
garantie.
TRADUCTION
Ariel VARDI <ariel.vardi@freesbee.fr>, 2002. Philippe Batailler, 2006.
Nicolas Francois, 2006. Veuillez signaler toute erreur a
<debian-l10n-french@lists.debian.org>.