12:28 <Vanzetti> tarek, tu es Tarek Ziadé ?
12:29 <tarek> oui
12:29 <tarek> je n'ai que trois ou quatre homonymes
12:29 <tarek> mais dans le monde python j'en connais pas d'autres
12:29 <gawel> y a pas d'autres tarek en france de toute
12:29 <gawel> haha
12:30 <tarek> j'ai monté un groupe 'ziade' dans facebook
12:30 <gawel> ah cool, je vais joindre
12:30 <gawel> non je rigole
12:31 <gawel> on commence a avoir des patch pour pyquery
12:31 <gawel> ca motive les foules :)
12:31 <gawel> tiens j'ai commencé ça: http://www.bitbucket.org/gawel/gprecipepip/
12:32 <gawel> a part que ca me pete a la gueule avec lxml, c'est bien cool
12:32 <Vanzetti> tarek, juste félicitation pour ton bouquin
12:32 <Vanzetti> :)
12:33 <tarek> gawel: oui ca fait un super buzz ! brabo les mecs
12:33 <tarek> v
12:33 <tarek> Vanzetti: merci !
12:33 <Vanzetti> par contre j'ai trouvé une faute d'orthographe et une faute de typo :)
12:33 <Vanzetti> si ça t'intéresse :)
12:33 <tarek> tu fais reference au gros blanc, au petit noir, ou au moyen noir ?
12:33 <tarek> a ben bien sur
12:34 <tarek> qd ils les réimpriment on peut enlever les typos
12:35 <tarek> pour info je suis nul en francais, y a des gens qui gèrent ca apres moi et ils ont bcp de taf - mais parfois ils en loupent, surtout à la fin du cycle de corrections : ils en peuvent plus
12:35 <Vanzetti> oui oui j'imagine bien :)
12:36 <Vanzetti> et puis personne n'est parfait
12:42 <Vanzetti> tarek, page 95
12:42 <Vanzetti> "génie logicie" au lieu de génie logiciel
12:48 <Vanzetti> bon et l'autre faute je la retrouve pas(j'avoue que je suis un peu dans le paté)
12:49 <Vanzetti> c'est quelques pages après
12:49 <Vanzetti> nombre paire
12:49 <Vanzetti> il y a un ...er au lieu de ...é
12:54 <gawel> matin paté
12:54 <tarek> Vanzetti: quel livre ?
12:55 <Vanzetti> petit guide à l'usage du éveloppeur agile
12:55 <gawel> si t'en faisais pas autant aussi
12:55 <gawel> haha
12:56 <Vanzetti> :)
12:56 <gawel> tarek: tu veux pas essayer d'install lxml from svn pour test stp
12:56 <gawel> dans un venv frais
12:56 <gawel> histoire de voir si c'est mon systeme qui pu ou leur code qui est moisis
12:56 <Vanzetti> gawel, c'est pas ma faute, c'est mon clavier qui capote un peu
12:57 <gawel> http://codespeak.net/svn/lxml/trunk/
12:57 <tarek> a ok Vanzetti, on me l'a reminté cuila, merci
12:57 <tarek> faut que je fase un tracker
12:57 <Vanzetti> :)
12:57 <tarek> gawel ok
12:57 <tarek> je fais un cmmi classique ?
12:58 <gawel> non, easy_install url
12:58 <gawel> les mes ont add du code pour que ca compile tout bien
12:58 <gawel> mais ca compile rien de bien, AMA :D
12:58 <gawel> mecs*
12:58 <tarek> c parti
12:58 <tarek> dans un python vierge
12:59 <gawel> dépucelage au lxml
12:59 <tarek> ca marche pas
12:59 <gawel> héhé
13:00 <gawel> t'as un trace ?
13:00 <tarek> il aime pas mon mac os
13:00 <gawel> le truc c'est qu'il aime aucun os. comprends pas
13:00 <tarek> http://pastebin.com/m48e9053d
13:00 <gawel> j'ai test sur une deb, marche pas non plus
13:01 <tarek> mauvais boulot de packaging sur le makefile alors
13:01 <tarek> j'ai libxslt-dev et libxml2 comme il faut
13:01 <gawel> bah t'as même pas besoin la
13:01 <tarek> ah
13:01 <gawel> il te le choppe, justement
13:02 <tarek> il fallait avant..
13:02 <gawel> avant y avait pas: http://codespeak.net/svn/lxml/trunk/buildlibxml.py
13:02 <gawel> la chose qui sucks, justement
13:03 <gawel> def build_libxml2xslt etc.
13:04 <gawel> je lache l'affaire, ça me reloute le C
13:05 <tarek> src/lxml/lxml.etree.c: No such file or directory
13:05 <tarek> c'est ca le pb !
13:05 <gawel> ah
13:05 <tarek> ce fichier existe pas
13:05 <tarek> building 'lxml.etree' extension
13:05 <tarek> gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -O3 -I/opt/local/include -I/opt/local/include/libxml2 -I/Library/Frameworks/Python.framework/Versions/2.4/include/python2.4 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.3-fat-2.4/src/lxml/lxml.etree.o -w -flat_namespace
13:06 <tarek> je vois pas comment ca peux marcher
13:06 <gawel> doit falloir Cython alors
13:06 <tarek> c'est lxml.etree.pyx
13:06 <tarek> oui je pense
13:06 <tarek> car cette ligne d'appel à gcc suppose que lxml.etree existe
13:07 <tarek> je rajoute cython
13:09 <gawel> marche pas
13:09 <gawel> tiens pas compte de CFLAGS, relou
13:10 <tarek> c la meme merde
13:10 <tarek> il suppose que le .c existe
13:11 <gawel> meme l'install de Cython passe pas moi
13:11 <gawel> trop la lose
13:11 <tarek> cython c ok pour moi
13:12 <tarek> heu...
13:12 <tarek> (Pdb) CYTHON_INSTALLED
13:12 <tarek> False
13:13 <tarek> a c bon ca marche
13:13 <tarek> ca compile
13:14 <tarek> voici la séquence chez moi
13:14 <tarek> easy_install cython && easy_install http://codespeak.net/svn/lxml/trunk/
13:15 <gawel> relou quoi
13:15 <tarek> a ben non ca marche meme pas comme ca
13:16 <tarek> je doit faire un checkout
13:16 <gawel> haha
13:16 <tarek> oui
13:16 <tarek> ca, ca marche pour de vrai:
13:16 <tarek> bin/easy_install cython && svn co http://codespeak.net/svn/lxml/trunk xml && cd xml && ../bin/python setup.py install
13:17 <tarek> bon je retourne sur atomisator c plus fun
13:17 <gawel> tu m'étonne
13:29 <tarek> c cool postrank
13:29 <tarek> je vais voir si ca a du sens pou rle planet de l'afpy
16:55 <tarek|away> gawel tu peux me filer ton template deliverance pour trac ?
17:28 <gawel> pas compris la question
17:28 <gawel> quelle template ?
17:32 <ogrisel> cool y a le dev de sphinx qui va sphinxifier bitbucket apparemment : http://www.bitbucket.org/jespern/bitbucket/issue/366/add-restructured-text-support-to-wikify-an-existing-sphinx
17:32 <gawel> \o/
17:32 <ogrisel> jespern vient de lui refiler le bébé
17:32 <gawel> Successfully installed lxml
17:32 <gawel> re \o/
17:33 <gawel> avec ma recipe pip
17:33 <ogrisel> \o/
17:33 <gawel> j'en ai chié
17:46 <gawel> lxml c'est mal branlé par contre
17:46 <gawel> tu fais python setup.py egg_info et il te compile tout
17:47 <ogrisel> envoie un patch
17:47 <gawel> ouais enfin je me suis même pas collé a résoudre ça
18:09 <tarek> le fichier xml que t'a créé pour skinner trac avec deliverance
18:10 <gawel> Installing lxml.
18:10 <gawel> Requirement already satisfied: lxml==2.2alpha1 in ./parts/pip/lib/python2.5/site-packages
18:10 <gawel> CA DECHIRE
18:10 <gawel> tarek: svn.gawel.org GawelOrg/themes
18:13 <gawel> http://friendpaste.com/NvScfFKh
18:14 <gawel> fichier de conf convi
18:14 <tarek> donc t'a bien cythonen dépendance
18:14 <tarek> c pourri lxml
18:14 <tarek> ils pourraient gérer ca
18:14 <gawel> bah t'es pas obligé en fait
18:14 <gawel> sauf si tu veux linker en static
18:15 <gawel> et donc ne pas dépendre de libxml2-dev
18:15 <gawel> la j'ai *rien* sur mon syteme et après j'ai tout :)
18:15 <tarek> oui mais t'install cython
18:16 <tarek> lxml compile pas sans
18:16 <gawel> ba ouais, c'est 2mn
18:16 <tarek> c ca le souci
18:16 <tarek> il fait croire qu'il peut
18:16 <tarek> mais c'est faux
18:16 <gawel> pourquoi ?
18:16 <gawel> bah si il peut, tu lis pas :)
18:16 <gawel> si tu veux faire du linkage dynamique t'as pas de soucis
18:17 <tarek> tupeux installer lxml sans cython en pré-requis ? sachant qu'il manque les .c pour remplacer les .pyx ?
18:17 <gawel> il manque pas les .c dans les release, que sur le svn
18:17 <tarek> ah ok.. donc c juste le svn qui dépend de cython
18:18 <tarek> ok
18:18 <ogrisel> yep ils sont bien ajouté dans les tar ball
18:18 <ogrisel> de memoire
18:18 <tarek> ok j'ai rien dis alors
18:18 <gawel> ouais ouais
18:24 <gawel> encore plus simple:
18:24 <gawel> [deliverance]
18:24 <gawel> recipe = gp.recipe.pip
18:24 <gawel> install = Cython --install-option=--static-deps lxml==2.2alpha1 http://deliverance.openplans.org/dist/Deliverance-snapshot-latest.pybundle
18:24 <gawel> ah ca zappe les \n
18:28 <tarek> on a un nouveau defi avec buildout
18:28 <tarek> le rendre indépendant des chemins
18:28 <tarek> déplacable
18:29 <gawel> suffit de le rebuild
18:29 <tarek> pour pouvoir le précompiler et le releaser pour une plateforme donnée
18:29 <tarek> sans que cette plateforme ait besoin d'outils de build
18:29 <tarek> exemple: une debian sans gcc
18:29 <tarek> c'est pas possible si c pas dans le même chemin
18:29 <tarek> (python + localisation du buildout)
18:29 <gawel> avec ma recipe ca doit marcher :p
18:30 <tarek> laquelle ?
18:30 <gawel> gp.recipe.pip
18:30 <tarek> le test est simple;
18:30 <tarek> tu prend une debian
18:30 <tarek> tu compile
18:30 <tarek> tu retires build-essentials
18:30 <tarek> et tu déplace ton buildout
18:31 <gawel> bah la tout est dans un venv isolé compilé en static donc ça doit le faire
18:31 <gawel> tu peux le rebuild, ca compilera rien
18:32 <tarek> vérifie les chemins dans les scripts dans bin/
18:32 <tarek> les chemins vers ton python
18:32 <tarek> relatif ou absolu ?
18:32 <gawel> absolu, mais tu peux rebuild, ca compilera rien (bis)
18:32 <gawel> je viens te test
18:32 <gawel> 0 appel a gcc
18:33 <gawel> Requirement already satisfied: lxml in ./parts/pip/lib/python2.5/site-packages (from None)
18:33 <gawel> etc.
18:33 <tarek> dans le principe c'est mignon
18:33 <tarek> mais ca va pas assez loin
18:34 <gawel> bah ça fait ce que tu veux
18:34 <tarek> non
18:34 <gawel> d'accord
18:39 <tarek> back
18:40 <tarek> tu rebuild qd meme en fait
18:40 <tarek> tu modifie tes scripts pour t'adapter au nouveau contexte
18:40 <tarek> je parle d'une release ou ca ne bouge plus
18:40 <tarek> pour pouvoir créer un .deb
18:40 <tarek> pour ca il faut des chemins relatifs
18:41 <tarek> + un environnement de construction identique à la cible
18:41 <tarek> j'y connais rien mais sous debian je crois que tu peux faire un fake
18:41 <tarek> du systeme pour construire ton deb
18:42 <gawel> tu peux pas faire ça. sauf si t'es sur que le binaire python est au même endroit
18:43 <tarek> ben c'est le principe d'une distribution binaire pour un os cible bien défini
18:43 <tarek> en debian python est à un endroit précis dans le LSB
18:44 <tarek> et c'est le système qui bosse avec les metadonnées de ton .deb
18:45 <gawel> dans ce cas faut une recipe de 3 ligne de code pour mofifier le path des script et basta
18:45 <gawel> c'est pas un super defi
18:45 <gawel> en plus si tu sais déjà ou vas ton paquet, ta pas besoin de changer les paths
18:47 <gawel> ou tu fout un prepackage install truc qui fait un sed pour changer tout les bin/
18:47 <tarek> pas compris l'interet d'une recette qui rafistole les paths à postériori, autant faire des chemins relatifs
18:47 <tarek> et pour les paths tu ne connais pas à l"'avance le chain complet, tu te bases sur du relatif
18:47 <tarek> s/chain/chemin
18:47 <gawel> bah si c'est un package si
18:48 <gawel> il ira dans un chemin precis
18:48 <tarek> je sais pas
18:48 <tarek> je crois que tu donnes des cibles relatives avec / et
18:48 <tarek> que debian se démerde
18:49 <gawel> non, t'as des var qui sont remplacé et est pre/post hook d'install
18:49 <gawel> et des*
18:49 <tarek> k
18:49 <gawel> mais c'est jamais relatif en tout cas je penses
18:50 <tarek> mais je crois que t'a un outil pour préparer ca
18:50 <tarek> faut que je file à des gars comme nexen des .deb en fait
18:51 <gawel> dpkg-buildpackage -rfakeroot
18:52 <gawel> http://www.debian.org/doc/maint-guide/ch-build.en.html
18:52 <tarek> a voila c fakeroot donc
18:52 <tarek> cool
18:52 <gawel> pas besoin de relatif :p
18:53 <gawel> et pip gere le multi index, en prime
18:54 <tarek> hein ??
18:54 <tarek> il a ajouté le multi index ??
18:54 <gawel> hihihi
18:54 <gawel> me semble, ouais
18:54 <tarek> a ben c'est de la balle
18:54 <tarek> ca fait parti des points sur lesquelles j'essaye de faire bouger les trucs
18:54 <gawel> help='extra URLs of package indexes to use in addition to --index-url')
18:56 <tarek> la suivante c'est le fail-over
18:56 <gawel> enfin pip c'est pas setuptools
18:57 <tarek> ben oui, donc ca avance plus vite
18:57 <tarek> et donc la feature suivante c le fail over pour les mirroirs
18:57 <gawel> normal, y a un fichier :D
18:57 <tarek> il est ou le svn je trouve pas
18:57 <gawel> dans ton cul
18:57 <gawel> non je rigole
18:58 <gawel> je sais pas, je matte dans le egg
18:58 <gawel> l'avantage c'est que dans mon script ca donne ça:
18:58 <gawel> % cat bin/python
18:58 <gawel> #!/Users/gawel/tmp/gp.recipe.pip/parts/pip/bin/python
18:59 <gawel> c'est le binaire du venv
18:59 <gawel> c'est la teuf
19:01 <yota> leseul truc qui me manque dans pip c'est la gestion des binaires
19:01 <yota> !aks b
19:01 <yota> zut
19:01 <yota> mais bon c'est pas la mort
19:01 <gawel> bah ca install des egg aussi
19:01 <yota> je peux passer au source pour la boite (mais je voulais gérer le composant C avec)
19:02 <gawel> ah les bundles précompilé ?
19:02 <tarek> faudrait qu'on patch zc.buidlout pour que ca se serve de pip en option
19:02 <yota> wai
19:02 <yota> parce que je veux pas avoir le toolchain C sur la machine cible
19:02 <yota> c'est pour la prod
19:02 <tarek> yota : c'est mon probleme là
19:02 <tarek> distribuer un buildout binaire
19:03 <tarek> les gars en face font la gueule qd je dis d'installer gcc ou de relancer un truc qui trifouille les modules
19:04 <yota> normal
19:36 <gawel> http://pypi.python.org/pypi/gp.recipe.pip
19:36 <gawel> hop
19:37 <gawel> hum, y a une typo, fuck
19:45 <tarek> c'est quoi "Virtualenv id" ?
19:47 <tarek> si c'est le nom du script genéré, s/id/script name/
19:48 <tarek> enorme: http://www.poopoopaper.com/pootopaper.html
19:56 <gawel> non c'est le nom d'un venv
19:56 <gawel> ca fait des pip -E
19:57 <gawel> tu peux avoir plusieurs venv dans un même buildout
20:15 <gawel> c'est quand même énorme. ca solution tout les problème de python path et de develop d'un coup
20:15 <gawel> je kif
23:20 <gawel> j'arrète, promis
23:26 <gawel> j'aurais du l'appeler gp.recipe.PIPE
23:31 <ogrisel> ah bah c'est malin
23:32 <ogrisel> atomisator aussi ca flood pas mal on dirait
23:32 <gawel> ouais :)
23:32 <gawel> j'ai fais un petit post du coup: http://www.gawel.org/weblog/en/2008/12/combine-zc.buildout-an-pip-benefits