[Résolu] Dépendances - Partage d'un fichier entre 2 paquets


#1

Bonjour à tous,

Je suis en train d’essayer d’automatiser l’installation de paquets personnalisés. J’ai créé une arborescence de dépendances avec au final un paquet unique à installer pour que tous les autres suivent.

Dans cette arborescence, j’ai, entre autres, un paquet officiel : “ulogd”, et un paquet personnel “config-ulog” qui dépend du paquet “ulogd”. En fait, lors de son installation, le paquet “ulogd” copie dans le système un fichier de configuration par défaut /etc/ulogd.conf. La configuration par défaut ne me convient pas ( Il fallait s’en douter. lol =) ) évidemment.
Ce fichier est bien sûr éditable à la main, mais comme je l’ai dit mon but est d’automatiser la mise en place de ma configuration personnelle.
J’ai donc créé un paquet “config-ulog” dont la seule utilité est de remplacer le fichier de configuration par défaut d’ulog par un fichier de configuration personnalisé se trouvant dans le paquet.

Maintenant que j’ai planté le décor, mon problème :

Lorsque je fais un “apt-get install ulogd” suivi d’un “apt-get install config-ulog”, tout se passe très bien. Après vérification le fichier de configuration a bien été remplacé et tout fonctionne.

Maintenant quand je fais juste un “apt-get install config-ulog”, comme j’ai spécifié que “config-ulog” dépendait de “ulogd” apt va installer la dépendance “ulogd” puis installe “config-ulog”. C’est à ce moment là que le message suivant apparait :

[quote]Sélection du paquet config-ulog précédemment désélectionné.
Dépaquetage de config-ulog (à partir de …/config-ulog_1.0_i386.deb) …
dpkg : erreur de traitement de /var/cache/apt/archives/config-ulog_1.0_i386.deb (–unpack) :
tentative de remplacement de « /etc/ulogd.conf », qui appartient aussi au paquet ulogd
Des erreurs ont été rencontrées pendant l’exécution :
/var/cache/apt/archives/config-ulog_1.0_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
[/quote]
Partant de là “config-ulog” ne s’installe pas et tous les paquets qui dépendent de ce dernier dans l’arborescence ne sont pas au mieux de leur forme.

Voilà donc mon souci, j’aimerais bien connaitre la source du problème et surtout sa résolution si cela était possible. A moins bien sur que vous ne m’indiquiez une solution autre me convenant aussi bien.

En espérant avoir été assez clair ( si vous avez des questions je vous en prie n’hésitez pas :] ) et en vous remerciant par avance.


#2

Pour régler ce genre de problème tu peux

  1. soit modifier le fichier .conf à l’aide de patch dans l’exécution du script postinst. Tu appliques le patch à l’envers dans le script prerm

  2. soit utiliser les diversions et alternatives (mais ça me parait inadapté)

  3. soit avoir le fichier si=ous un nom ???.conf.new puis faire la modification dans ton postinst et l’enlever dans prerm


#3

Décidément j’aime bien ce forum. :smiley:

Merci énormément fran.b cela fonctionne très bien.

Bon pour expliciter un peu la chose afin que tout le monde comprenne j’ai modifié le nom du .conf personnalisé de “config-ulog” en .conf.perso puis dans le script de post-installation j’ai fait un “cp /etc/ulogd.conf.perso /etc/ulogd.conf” suivi d’un “rm /etc/ulogd.conf.perso”.
Et voilà.

Encore merci. :]