Forum Astuces.divers Problème lors de installation d'un paquet custom

Posté par  . Licence CC By‑SA.
Étiquettes :
-2
20
déc.
2012

Bonjour à tous (à toutes) je vous expose mon problème.

Récemment je me suis lancé dans la création d'un paquet Debian (certes je suis un peut débutant dans ce domaine) et je rencontre des difficultés à comprendre comment résoudre mes problèmes.

J'ai un répertoire DEBIAN comme ceci:

DEBIAN/
|-- control
|-- md5sums
|-- postinst
|-- postrm
|-- preinst
`-- prerm

j'ai un répertoire etc avec:

etc/
|-- apache2 (qui contient mes ficheirs de conf custom)
|-- et divers logiciels avec des fichier de conf appartenant à des paquet déjà installés (mysql/php etc …)

Pour ce qui est de la création du paquet en soit, ceci est bon mais lorsque j'essai d'installer le paquet la ça bloque, voici l'erreur:

dpkg : erreur de traitement de foo.deb (--install) :
 tentative de remplacement de « /etc/apache2/envvars », qui appartient aussi au paquet apache2.2-common 2.2.16-6+squeeze10
dpkg-deb: sous-processus coller tué par le signal (Relais brisé (pipe))
Des erreurs ont été rencontrées pendant l'exécution :
 foo.deb

Je me doute que c'est parce que ce fichier existe déjà dans le paquet apache.
J'ai essayer de trouver une solution mais je reste bloqué, je ne sais pas comment copier tous les fichiers de conf en utilisant l'architecture "normale" d'un paquet (DEBIAN/etc/usr/share/var etc …)

J'en appel à votre connaissance et votre expérience dans ce domaine.
Merci beaucoup !

  • # que veux-tu faire avec ton paquet ?

    Posté par  . Évalué à 2.

    si ton paquet doit ajouter des fichiers à une configuration apache existante,
    il ne faut mettre que ces fichiers dans l'arborescence du paquet.

    ex : ton paquet doit installer un virtualhost pour un cms que tu as developpé toi meme.
    le paquet .deb doit donc contenir uniquement tu vas donc avoir les fichier
    /etc/apache2/sites-available/toncms
    /etc/apache2/sites-enabled/toncms
    et le dossier
    /var/www/toncms

    avec un service apache2 restart dans le script postinst (qui tourne comme son nom l'indique APRES l'installation des fichiers)

    si ton paquet doit modifier des fichiers dans une configuration existante, il faut mettre les fichiers dans une arborescence temporaire par ex /usr/local/tonpaquet
    pour ensuite les manipuler avec des scripts postxxxx ou prexxx selon le moment ou tu dois faire les manipulations.

  • # Diversion

    Posté par  (site web personnel) . Évalué à 1.

    Si tu veux remplacer les fichiers de conf apache par les tiens, le mieux est d'utiliser dpkg-divert.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.