# [Bac à Sable] Pour apprenti développeur Gentoo

## boozo

En cours de rédaction : denière modification 16/06/06

Bac à sable pour apprenti développeur Gentoo

Pour un effort commun d'enrichissement...

Gentoois'ttes, Gentooistes, NoObs, Lecteur chéri, Mon Amour !  :Mr. Green: 

L'idée de porter sur Gentoo un programme que vous venez de découvrir au gré de vos pérégrinations ouebesques viens de vous piquer au vif et vous ne savez pas comment vous y prendre...

Vous avez trouvé un bug non recensé dans un programme et poster un rapport vous effraies car vous ne savez pas comment le formuler ou vous ne parlez pas suffisamment bien anglais...

Vous avez un projet de développement ou de documentation mais seul c'est rebutant...

Ce thread est fait pour vous !     :Cool:  

Vous y trouverez recensé toutes les documentations relatives au noble art de l'Ebuild et surtout toute l'aide nécessaire pour parvenir à cette fin. Mais également, un moyen de partager vos projets et de fédérer d'autres participants pour vous aider à le mener à bien.

Notre problématique :

Regrouper et centraliser vos demandes et vos attentes pour coordonner et finaliser au mieux, les efforts de tous les participants dans cette entraide au développement.

Vous offrir une aide cohérente et la plus complète possible pour cette aventure, en fournissant d'une part : les liens vers les documentations qui pourraient vous être utile et d'autre part, une ébauche d'infrastructure assurée par nous tous, pour mener à bien l'écriture des ebuilds jusqu'à leur publication sur bugzilla et en vue de l'intégration dans portage.

Vous permettre de vous familiariser davantage avec les spécificités des ports Gentoo et par la suite , de vous impliquer de manière ponctuelle ou régulière en parfaite autonomie dans cet effort commun.

Conservez la convivialité légendaire que tous nous envie.

En faisant cela vous contribuerez à :

accroître vos connaissances, de manière globale, mais aussi plus technique de votre distribution Gentoo

participer activement à son enrichissement en facilitant en amont, le travail des développeurs officiels (en leur fournissant un ebuild propre, un minimum fiabilisé, avant leur expertise de validation plus en profondeur)

augmenter les chances de voir votre ebuild rapidement intégré à l'arbre officiel (cad disponible avec emerge mon_ebuild_de_moi)

vous amuser en jouant les geeks... que dis-je... en étant de vrais geeks !

 Nous avons choisi une distribution de talent... Enrichissez-là de vos connaissances

Si vous êtes débutant, ne vous découragez pas !

Dans un bac à sable on est là pour faire des pâtés et des chateaux...

Alors... amenez vos pelles et vos râteaux... nous on vous fournira les seaux !    :Wink: 

----------

## netfab

Ouaaaiiisss !!! un sticky de plus  :Cool: 

Il serait peut-être bon de rappeler également quelques commandes de base du programme ebuild (merci pierreg :p).

----------

## kwenspc

il pete ce topic!

attendez que j'aille chercher mon sot et ma pelle   :Cool: 

----------

## Trevoke

 *kwenspc wrote:*   

> il pete ce topic!
> 
> attendez que j'aille chercher mon sot et ma pelle  

 

Mais t'es deja la?   :Confused: 

----------

## kwenspc

 *Trevoke wrote:*   

>  *kwenspc wrote:*   il pete ce topic!
> 
> attendez que j'aille chercher mon sot et ma pelle   
> 
> Mais t'es deja la?  

 

chuis schyzo, cherches pas à comprendre  :Laughing: 

----------

## letoff

 *boozo wrote:*   

> mailling-list dont celle de TGL à expliquer

 

Thomas maintient une ML sur Gentoo?

Sinon Boozo tu serais pas un peu Desprogien des fois?   :Cool: 

----------

## boozo

@ letoff : une ML pas tout-à-fait en fait... mais il a signalé son origine dans premier topic et ça s'intègre bien en fait    :Wink: 

BTW : bah y'a rien de mieux qu'un peu d'humour caustique pour raviver les esprits   :Mr. Green: 

----------

## jp25

Bonjours,

Je suis encore debutant , mais le devellopement m'interresse bien . J'ai deja des connaissances en programmation ( C et C++, un peu java mais j'aime pas trop ) et je suis entrain d'apprendre la programmation en bash .

Je n'ai pas encore les competances  pour programmer pour gentoo mais j'y travaille .

Les grandes vacances arrivent et j'aurais plein de temps pour progresser (je suis encore etudiant) .

Je vais etudier des ebuilds pour voire comment ils fonctionnent . 

En tout cas ce sujet et interressant

----------

## luckyluke3310

salut à tous,

je cherche de l'aide pour l'ebuild de mon soft. J'ai créer un topic

----------

## boozo

merci c'est ajouté   :Wink:   en espérant que cela t'aidera un peu pour ton projet

@jp25 : merci et à bientôt de te lire dans tes oeuvres   :Wink: 

----------

## BuBuaBu

pourquoi [Ebuild] SuperTux-svn est en attente ?

----------

## boozo

 *BuBuaBu wrote:*   

> pourquoi [Ebuild] SuperTux-svn est en attente ?

 

ben je t'avais envoyé un pm pour que tu repostes ailleurs histoire de le rendre plus visible que dans le topic où tu l'avais mis au départ avant la formalisation mais je ne l'ai pas vu passé j'ai raté qqch ?   :Sad: 

----------

## BuBuaBu

 *boozo wrote:*   

> 
> 
> ben je t'avais envoyé un pm pour que tu repostes ailleurs histoire de le rendre plus visible que dan le topic où tu l'avais mis au départ avant la formalisation mais je ne l'ai pas vu passé j'ai raté qqch ?  

 

J'ai jamais eu le pm   :Laughing: 

J'ai bien reçu un mail pour me prevenir de l'arrivé d'un pm, mais rien de plus.

C'est pas grave, je post dès maintenant.

----------

## boozo

np   :Wink:   c'est corrigé !

----------

## luckyluke3310

Personne pour tester et me donner un petit coup de main ?

----------

## boozo

And the winner is... truc !  Joli boulot !  :Cool: 

Au suivant ! comme disait l'ami Brel  (n'y voir aucun lien avec le thème  :Mr. Green: )

----------

## SnowBear

ma maigre contribution :

https://forums.gentoo.org/viewtopic-p-3327995.html#3327995

un ebuild pour le jeu xmoto ( http://xmoto.sourceforge.net )

----------

## synss

Hello, pour mes contributions, voir la signature.

Elogviewer permet de lire les fichiers elogs generes par portage 2.1 dans un joli environnement graphique. Ca marche. Et on peut aussi les effacer apres les avoir lus. Il y a un petit peu de mise en forme effectuee. En gros c'est tout mais c'est bien utile je trouve  :Cool: . Ecrit en python et utilisant gtk (emerge pygtk).

Les initscripts permettent de monter une image compressee squashfs systematiquement au boot, de scotcher une partition en lecture ecriture dessus (qui est en fait dans /dev/shm, soit la memoire vive utilisee comme un disque dur) et de mettre l'arbre a jour si un emerge --sync a ete fait avant de delogger. Et oui, c'est pas mal, une arbre rapide et qui occupe 30-40Mo! les sauvegardes sont incrementales, donc en cas de probleme : il n'y a pas de probleme.

----------

## billiob

Un ebuild pour amsn svn.

Le code est un peu crade, donc si vous savez comment l'améliorer, n'hésitez pas (je pense surtout à la gestion des plugins et des skins provenant du SVN).

----------

## Enlight

Plop just un bugfix pour gaim 1.5.0 c'est crado mais bon je vous laisse le soin de mettre ça au propre et de reporter, la dernière fois que j'ai proposé un bugfix j'ai jamais eu de réponse (mais c'était en mainstream) :

Problème : avec gaim 1.5.0 si on bloque un contact msn (ou parfois en le débloquant) il arrive que gaim rashe en permanence. Le problème n'a pas été rapporté sur bugs.gentoo.org alors un coup de STFW et j'arrive chez REDHAT qui me dit :

 *Quote:*   

> 
> 
> Author: wtogami
> 
> Update of /cvs/dist/rpms/gaim/devel
> ...

 

donc j'ai crée un /usr/local/portage/net-im/gaim/ J'ai copié celui de portage en le renommant gaim-1.5.0-r1.ebuild, j'y ai mis le patch, et j'ai appliqué un epatch a la crado

Donc on a :

 *Quote:*   

> # Copyright 1999-2006 Gentoo Foundation
> 
> # Distributed under the terms of the GNU General Public License v2
> 
> # $Header: /var/cvsroot/gentoo-x86/net-im/gaim/gaim-1.5.0.ebuild,v 1.11 2006/05/13 18:02:10 tester Exp $
> ...

 

Voilà, à la vite fait mais ça fixe le problème.

----------

## synss

Bonjour,

j'essaye d'ecrire une ebuild pour Arnold un emulateur d'Amstrad CPC, donc ca peut concerner tous les Francais d'au moins mon age  :Wink: 

https://forums.gentoo.org/viewtopic-p-3394110.html#3394110

dans le ./configure, ils disent que gtk et sdl sont des options (donc USE) mais quand j'essaye de compiler sans, ./make donne une erreur unix/main.c:26:

unix/gtkui.h:4:21: gtk/gtk.h: que je comprend mais je ne vois pas comment resoudre autrement qu'en mettant sdl et gtk en dependences directes.

Quelqu'un de plus competant?

En attendant, ca marche avec sdl et gtk (sans le son) mais je peux rejouer a fruity frank et les passagers du temps... Doom, c'est pas mon style.

Et puis Arnold semble etre l'emulateur le plus recent pour linux mais il a deja 2 ans, alors si qq1 d'autre a trouve mieux, je suis preneur. (ou doit-on faire tourner un emulateur de CPC sous wine?  :Evil or Very Mad: )

----------

## billiob

Il existe un nouveau projet pour aider les utilisateurs de gentoo à écrire des ebuilds. Ceux qui ont lu la dernière GWN le savent déja, il s'agit du projet sunrise.

Voici une traduction d'une partie de la GWN : 

Projet Sunrise - Un Overlay pour les utilisateurs de Gentoo

La semaine dernière, un overlay où les utilisateurs peuvent proposer leurs ebuilds a été annoncé. Ceci a pour but d'aider les utilisateurs à trouver et à utiliser des ebuilds qui n'existent que sur le Gentoo Bugzilla et pour s'assurer que ces ebuilds adhèrent aux standards de qualités. Il peut aussi offrir un bon environnement pour recruter de nouveaux développeurs d'ebuilds venant de la communauté des utilisateurs.

Donner l'accés (possibilité de faire des commits) à ce repositoire à des utilisateurs de confiance a causé quelques très vifs débats, centrés surtout autour des règles et problèmes potentiels causés par des utilisateurs mal intentionnés. Durant le conseil du 16 Juin, il a été décidé que l'idée était bonne et que l'exécution effective manquait.

Aussi, l'Overlay Sunrise a été enlevé des serveurs officiels de gentoo, mais il continue sur gentoo-sunrise.org en tant que projet non-officiel.

Sunrise attend que plus d'utiliseurs ajoutent des ebuilds depuis bugzilla vers l'overlay. Vous trouverez plus d'informations à propos de Sunrise et des buts sur la page du projet, et en jetant un coup d'oeil à la FAQ ou en visitant l'actuel Overlay. Vous êtes aussi libres de visiter le canal IRC. #gentoo-sunrise à irc.freenode.net vous attend !

[...]

Projet Sunrise

Le projet d'Overlay pour les utilisateurs de Stefan Schweizer et Markus Ullmann a causé beaucoup de discussions, et a été suspendu pour le moment (NdT : des serveurs officiels). Cette annonce a engendré les fils de discussions suivants : (en anglais)

    * [ANNOUNCE] Project Sunrise - Gentoo User Overlay

    * Project Sunrice: arch team perspective

    * What is "official"?

    * Sunrise Project -- Open questions post requirement

    * Project Sunrise -- Proposal

    * Project Sunrise overlay suspended pending Council resolution

    * A heretical thought? Blessing project sunrise as an almost-fork.

    * Sunrise: way forward, semi-official, review

J'ai testé, et ça m'a beaucoup plu ! Les personnes du canal IRC aident beaucoup.

Ma contribution vient de ce bug. Il s'agit d'une lib pour gérer le Glisser/Déposer (Drag & Drop) avec les applications Tk. aMSN en profite déja dans la version de développement.

SI vous pouviez tester (sur x86, mais je pense que l'ebuild doit aussi fonctionner sur amd64 et ppc), j'en serais très heureux.

(Je ne savais pas trop s'il fallait créer ou non un fil séparé; admins, à vous de juger !)

----------

## boozo

oui effectivement j'avais lu çà   :Smile: 

Cela rejoins notre idée c'est évident - peut-être la génèse du projet sunrice et antérieure je ne saurais le dire et après tout cela n'a pas d'importance, l'essentiel étant que les choses se fassent ^^ -

Je vais très certainement l'intégrer (ou plutot intégrer ta traduction si tu m'autorises   :Razz:  enfin... dès que je peux :$) dans le synopsis car le problème de la langue de travail du projet reste toujours un écueil il me semble et sur ce point, notre communauté est capable d'agir ; et les deux étapes/phases peuvent s'enchaîner facilement je pense voire servir de marche pied pour prendre confiance   :Wink: 

Et encore merci pour ton post   :Smile: 

----------

## billiob

 *boozo wrote:*   

> Je vais très certainement l'intégrer (ou plutot intégrer ta traduction si tu m'autorises   enfin... dès que je peux :$)

 

Tu es autorisé   :Wink: ; elle peux d'ailleurs aussi servir à kopp pour traduire la GWN.

----------

## Nattfodd

@Enlight: oula, il ne faut pas utiliser epatch avec un chemin en dur comme ça. Tu mets ton patch dans le répertoire files de l'ebuild et ensuite tu fais epatch ${FILESDIR}/bli.patch.

@synss: il faut donner plus de détails (ligne de configure et message d'erreur exact avec du contexte).

----------

## man in the hill

Salut ,

Qqu'un pourrait-il faire une petite explication de texte du patch ? en prenant aussi un exemple si possible.

Je suis très ignorant donc vous pouvez développer en indiquant tout ca qui pourrait être utile...

Merci d'avance,

[EDIT] par ex ce patch :

```
--- compiz.service      2006-06-16 16:42:01.000000000 -0400

+++ compiz.service      2006-06-16 17:24:00.335708060 -0400

@@ -1,3 +1,3 @@

 [D-BUS Service]

 Name=org.compiz.dbus

-Exec=/usr/bin/compiz.real

+Exec=/usr/bin/compiz

```

le patch command avec eutils.eclass :

```
  patch -p0 -g0 -E --no-backup-if-mismatch < /usr/local/overlays/xgl-coffee/x11-wm/compiz-faya/files/compiz-quinnstorm-dbus.service.patch
```

Il va faire quoi exactement ? une explique aussi des entêtes...merci .[/EDIT] 

                                                                     @+

----------

## netfab

Salut,

```

--- compiz.service      2006-06-16 16:42:01.000000000 -0400

+++ compiz.service      2006-06-16 17:24:00.335708060 -0400

```

Le fichier à patcher est nommé compiz.service.

--- ancien fichier

+++ nouveau fichier

```
@@ -1,3 +1,3 @@
```

Les lignes qui apparaissent en dessous définissent la zone du fichier à patcher : à partir de la ligne 1 sur 3 lignes.

```
 [D-BUS Service]

 Name=org.compiz.dbus 
```

Ces 2 lignes là, on n'y touche pas.

```
-Exec=/usr/bin/compiz.real
```

A la 3ème ligne donc, on doit trouver cette ligne, qu'on retire (le -)

```
+Exec=/usr/bin/compiz 
```

Et qu'on remplace par cette ligne (le +)

```
--- compiz.service      2006-06-16 16:42:01.000000000 -0400     == ancien  fichier

+++ compiz.service      2006-06-16 17:24:00.335708060 -0400     == nouveau  fichier

@@ -1,3 +1,3 @@     == définition de la zone à trouver / patcher : à partir de la ligne 1 sur 3 lignes

 [D-BUS Service]     == on n'y touche pas (ligne 1)

 Name=org.compiz.dbus     == on n'y touche pas (ligne 2)

-Exec=/usr/bin/compiz.real     == on remplace cette ligne (ancienne ligne 3)

+Exec=/usr/bin/compiz     == par celle-ci (nouvelle ligne 3) 
```

----------

## geekounet

Et pour créer un patch :

```
$ diff -Naur ancien_fichier nouveau_fichier > fichier.patch

ou sur un répertoire complet :

$ diff -Naur /ancien/répertoire/ /nouveau/répertoire/ > fichier.patch
```

Ça te sera surement utile tôt ou tard  :Smile: 

----------

## man in the hill

Mille merci , NetFab pour cette explication limpide , tu m'as enlevé un des masques de l'ignorance  et à toi aussi Pierreg , j'espère m'en servir si j'arrive à débuguer un truc un jour   :Laughing:  et en plus diff  me semble être un utilitaire très pratique...

Aussi,  man patch  et man diff

                                                                          @+

----------

## Enlight

[quote="Nattfodd"]@Enlight: oula, il ne faut pas utiliser epatch avec un chemin en dur comme ça. Tu mets ton patch dans le répertoire files de l'ebuild et ensuite tu fais epatch ${FILESDIR}/bli.patch.

/quote]

yep je sais, c'est pour ça que je précisais que c'était un gtruc fait à la va vite bien crade etc...

----------

## truc

Et une nouvelle contrib pour le bac à sable, 

[CONTRIB]de portage-utils à paludis?

En gros cette contrib pourrait être détournée et en faire un contrib pour faire supporter les overlays *seulement* à portage-utils, .. mais voila j'ai fait les deux d'un coup, ça n'est pas forcément la meilleure chose, j'essaierai avec votre aide si vous le voulez, de faire deux trucs bien distincts, (deux petits trucs  :Laughing:  )

----------

## truc

Et bien en fait, j'm'y suis remis un peu, et voici l'ebuild et le patch pour avoir portage-utils supportant les overlays pour portage, commeça ça permettra de mettre tout le monde content  :Wink: 

périmé... -> portage-utils-0.1.21.ebuild

périmé... -> 0.1.21-overlay-support.patch

(cf ci dessous)

Sivous pouviez tester tout ça les utilisateurs de portage ça serait super! j'vous rassure, j'ai déjà testé et tout, dans un chroot avec portage, et ça marche sans rien détruire, mais bon, une option aurait pu m'échapper ou que sais-je... :Smile: 

BUG #154405: app-portage/portage-utils-0.1.21 add overlays support

woua, quel accueil de merde là bas :S loul

EDIT: bon voila en exclusivité l'ebuild: portage-utils-20061122.ebuild: périmé[/url] compatible portage/paludis, (un simple use flag), il se chargera d'aller télécharger ce qu'il faut..

EDIT: merci de bien vouloir tester cette nouvelle version, beaucoup de chose ont changer (se rendre sur le thread en question pour avoir tout en détails)

ebuild: portage-utils-20070107.ebuild

----------

## Mickael

 *quelqu'un wrote:*   

> En cours de rédaction : denière modification 16/06/06

 

Qui suis-je?   :Laughing:   :Rolling Eyes: 

----------

## xaviermiller

 *Mickael wrote:*   

>  *quelqu'un wrote:*   En cours de rédaction : denière modification 16/06/06 
> 
> Qui suis-je?   

 

Up: message déplacé de "documentation, tips & tricks" à ici.

----------

## boozo

@Xavier: Loin de moi l'intention l'idée de te donner du travail mais... ne serait-il pas mieux de le laisser plonger celui-là aussi ? (sinon peut-être le mettre juste en lien dans le message d'annonce d'en-tête et bloquer le 3615 et le Off-le-mur en tête de gondole ? car les post-it hors d'âges c'est top non plus pour donner une image fraîche ^^)

Par là je veux dire aussi que depuis l'avènement du mode proxy maintainer, ce n'est plus trop pertinent à mon sens non ?

n.b. oubien est-ce un message subliminal pour que je le ripolinise vu que j'ai ramené ma fraise ?  :p 

----------

## xaviermiller

Bon, tu l'auras voulu  :Laughing: 

Message dé-stickifié

----------

