Forum Linux.gentoo faire un ebuild...

Posté par  (site web personnel) .
Étiquettes : aucune
0
19
juin
2005
bonjour a tous,
j'aimerais faire l'ebuild de qastrocam pour le proposer a gentoo.http://3demi.net/astro/qastrocam/doc/(...)

Malheureusement, je me perds un peu dans les docs de construction d'ebuild.
L'ebuild devra :
  • prendre le CVS de qastrocam

  • verifier que qt, SDL, avifile sont installés

  • compiler

  • installer


  • Rien de bien compliqué... qastrocam s'installe sans pb.

    Mais voila, faire un ebuild from scratch... j'ai pas réussi (et j'ai lu les docs).
    J'ai essayé d'en copie un qui faisait presque tout ca... mais je comprends pas trop la syntaxe.
    Y'a-t-il qq'un pour m'eclairer ?
    • # Qlqs conseils

      Posté par  . Évalué à 4.

      'llo

      Alors commençons par la fin :
      > mais je comprends pas trop la syntaxe.

      La syntaxe, c'est du shell Bash tout ce qu'il y a de plus normal. Je te conseille pour t'y mettre de consulter l'excellent Advanced Bash Scripting Guide :
      http://www.tldp.org/LDP/abs/html/(...)

      Bon, maintenant, ce qu'il ne faut pas perdre de vue c'est que l'environnement dans lequel est exécuté l'ebuild est largement plus chargé que celui d'un simple script "#!/bin/bash". On peut dire qu'en gros on à affaire à un framework : on bosse avec un language générique, mais on a à disposition tout un tas de fonctions et variables utiles ; en plus, on ne fait pas vraiment ce qu'on veut, mais on se contente de (re)définir des fonctions aux noms bien connu (les src_*() et autres pkg_*()) qui seront appelées par emerge (enfin, par ebuild.sh) en temps voulu. Ça, plus quelques variables (IUSE, DESCRIPTION, URI, les *DEPEND, etc., m'enfin ça c'est vraiment pas le plus dur).

      À mon avis, le mieux pour s'y mettre c'est d'en lire déjà quelques uns, et de s'assurer qu'on comprend ce qu'ils font.

      Quelques suggestions en vrac :
      - si tu utilises Vim, installe le paquet "app-vim/gentoo-syntax", comme ça tu auras la coloration syntaxique spécialement adaptée aux ebuilds (ça aide à reconnaitre par exemple les appels aux fonctions du framework, etc.).
      - garde la doc officielle sous le coude évidemment, mais aussi son indispensable complément : "The Doc", par Ciaran Mc Creesh :
      http://dev.gentoo.org/~plasmaroo/devmanual/(...)
      - apprends si ça n'est pas déjà fait à utiliser la commande "ebuild", indispensable pour lancer des étapes particulières de l'installation de ton paquet (genre "ebuild foobar-3.0.ebuild compile").
      - installe les manpages de développement ("app-portage/portage-manpages"), parceque c'est là que sont les documentations des "eclass" (par exemple, "man eutils").
      - perso je trouve mieux pour commencer de se baser sur /usr/portage/skel.ebuild que sur un ebuild réél : le truc, c'est que quand tu manques d'habitude, tu ne sais pas trop dans l'ebuild que tu auras recopié ce qui est réellement requis en général et ce qui lui est spécifique. Le "skel.ebuild" lui par contre te montre vraiment ce qui est requis et juste ça.

      Quelques autres points :

      > verifier que qt, SDL, avifile sont installés

      Ça, pas besoin de t'en préoccuper dans un premier temps. C'est juste dans les variables (R)DEPEND que ça se passe, il sera toujours temps de compléter ça quand tu fignoleras ton ebuild.

      > prendre le CVS de qastrocam

      Outch, alors là attention : il est techniquement possible de faire des ebuilds qui font ça (en utilisant la "cvs.eclass"), mais pour des question d'assurance qualité, tes chances de faire arriver un tel paquet dans l'arbre portage sont à peu prêt nulle. Bah oui, un CVS c'est mouvant, cassé parfois, alors comment pour un mainteneur d'ebuild prendre la responsabilité de dire "c'est bon mon paquet il marche" ? Ce qui est préférable :
      - le mieux, c'est s'en tenir aux vraies version releasées (éventuellement beta). Genre tu fais un "qastrocam-4.0_beta4.ebuild" qui utilise "qastrocam-4.0.beta.4-sources.tar.gz".
      - sinon, si les dernières releases sont trop vieilles, tu peux éventuellement utiliser un snapshot de CVS. Genre tu fais un "qastrocam-4.0_pre20050523.ebuild" qui utilise "qastrocam-2005-05-23-sources.tar.gz".


      Et puis bah à part ça, y'aurait mille choses à dire mais je ne sais pas les quelles te serviraient. Par contre, n'hésites pas à coller tes tentatives sur un coin de page web si tu veux que je te les commente/corrige... enfin, que j'essaie :)

      Et si tu veux plus de paires d'yeux, tu peux aussi aller coller tout ça dans la section francophone de http://forums.gentoo.org(...)
      Y'a plus de monde qu'ici, et tu seras pas le premier à t'y faire dépanner sur une écriture d'ebuild. Si tu ne connais pas ce forum, n'oublie pas de commencer par lire le sujet en annonce intitulé "[IMPORTANT] Comment se servir du forum !!".
      • [^] # Re: Qlqs conseils

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

        j'ai deja posté sur le forums de gentoofr :)
        Je te remercie bcp de ce long explicatif qui me permet d'y voir plus clair.
        Je vais aller ouvrir de ce pas un skyblog MOUARRRRRRRRRF :)
        (je posterai ici l'adresse du blog)

    Suivre le flux des commentaires

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