Ludovic Rousseau wrote: > J'ai empaqueter un driver (gp-core) [1] qui est utilisé par un driver > d'asbtraction supérieure (pcscd) [2]. > > Mon driver gp-core doit indiquer sa présence en modifiant le fichier de > configuration /etc/reader.conf qui appartient à l'autre paquet pcscd en > incluant des lignes du genre : > > FRIENDLYNAME "Gemplus GemPC410" > DEVICENAME GEMCORE > LIBPATH /usr/lib/pcsc/drivers/libgp_core.so.2.0 > CHANNELID 0x0103F8 > > Ma question est : comment faire proprement l'ajout de ces lignes à > l'installation du paquet et l'effacement de ces même lignes lorsque le > paquet est enlevé
Attention, il n'est pas permi pour un paquet de modifier directement le fichier de configuration d'un autre paquet: 11.7.4. Sharing configuration files ----------------------------------- Packages which specify the same file as a `conffile' must be tagged as _conflicting_ with each other. (This is an instance of the general rule about not sharing files. Note that neither alternatives nor diversions are likely to be appropriate in this case; in particular, `dpkg' does not handle diverted `conffile's well.) The maintainer scripts must not alter a `conffile' of _any_ package, including the one the scripts belong to. If two or more packages use the same configuration file and it is reasonable for both to be installed at the same time, one of these packages must be defined as _owner_ of the configuration file, i.e., it will be the package which handles that file as a configuration file. Other packages that use the configuration file must depend on the owning package if they require the configuration file to operate. If the other package will use the configuration file if present, but is capable of operating without it, no dependency need be declared. If it is desirable for two or more related packages to share a configuration file _and_ for all of the related packages to be able to modify that configuration file, then the following should be done: 1. One of the related packages (the "owning" package) will manage the configuration file with maintainer scripts as described in the previous section. 2. The owning package should also provide a program that the other packages may use to modify the configuration file. 3. The related packages must use the provided program to make any desired modifications to the configuration file. They should either depend on the core package to guarantee that the configuration modifier program is available or accept gracefully that they cannot modify the configuration file if it is not. (This is in addition to the fact that the configuration file may not even be present in the latter scenario.) Sometimes it's appropriate to create a new package which provides the basic infrastructure for the other packages and which manages the shared configuration files. (The `sgml-base' package is a good example.)