• # A vot'bon coeur, z'auriez pas un .deb ou un ticket restau?

    Posté par . En réponse au journal Entretiens du nouveau monde industriel 2012. Évalué à 2.

    Pour le deb…

    Un .deb ubuntu, un .deb debian, ou pour quelle distro?
    Parce que les binaires et les numéros de version changent d'une distro à l'autre, ce qui fait que les deb ne sont pas nécessairement portables.
    Du coup, je comprend qu'ils aient la flemme…

    Sinon, pour un être un peu plus constructif, pour faire un .deb, méthode àlamain version minimaliste:

    • créer un dossier (1) du nom du futur deb
    • créer dans (1) un dossier nommé "DEBIAN"
    • créer dans (1)/DEBIAN un fichier nommé "control", qui contiendra diverses informations. A titre d'exemple, un control que j'ai créé pour une lib que je n'ai pas écrite:

      Package: Pluma-framework-dev
      Version: 1.0-1
      Section: libdevel
      Priority: optional
      Architecture: all
      Depends: Pluma-framework-bin
      Suggests: Pluma-framework-doc, Pluma-framework-example
      Maintainer: bmorel < monmailrienquamoi >
      Homepage: http://pluma-framework.sourceforge.net/
      Description: Small and cross-platform library writen in C++ to manage plug-ins.
      This package contains the development files needed to build an application with Pluma-framework

    • créer dans (1) chaque dossier qui sera affecté par l'installation: si le binaire utilise à la fois une config dans /etc, un binaire dans /usr/bin et des données dans /usr/share/mondeb, il faudra créer les dossiers (1)/etc, (1)/usr, (1)/usr/bin, (1)/usr/share et (1)/usr/share/mondeb. Ensuite, envoyer les fichiers correspondant dans ces "dossiers miroirs".

    • exécuter #dpkg-deb -b (1)

    Et voila.
    C'est assez simple, et le résultat n'est pas parfait, mais ça marche. On peut aussi rajouter dans (1)/DEBIAN des fichiers permettant de tester l'intégrité des fichiers miroirs, et il me semble qu'il existe des programmes qui font ça aussi, mais j'admets avoir trouvé plus simple de créer la base à la main, d'écrire quelques scripts qui récupèrent le résultat de mes compilations pour les envoyer dans les bons dossiers, et balancer le dpkg-deb après.

    Ceci étant dis, je ne sais pas comment ils font pour donner le choix entre plusieurs dépendances, et ce que j'ai décris, je l'ai appris de façon empirique, donc, si quelqu'un te dis le contraire, crois donc de préférence mon détracteur… ou essaies :)