[10:29:24] Devil505: ah voilà fanch :) [10:29:31] fanch: re [10:29:49] Devil505: bon je vais vous faire une version rapide de ce qu'on a fait l'autre soir [10:30:11] Devil505: en gros on vas voir les base d'un FrugalBuild avec un exemple simple [10:30:52] Devil505: tout d'abord pour compiler un paquet on a besoin d'un script de consctruction, c'est ce que l'on appelle un FrugalBuild [10:31:15] Devil505: premièrement on vas installer les outils nécéssaires: repoman et makepkg [10:31:25] Devil505: qui se trouve dans pacman-tools [10:31:32] fanch: ok [10:31:35] Devil505: avez vous pacman-tools installé ? [10:31:57] Lenezir: oui :) [10:32:01] fanch: je vais verifier [10:32:18] Devil505: ok [10:33:05] fanch: j4qi lqnc2 lq ;ise 0 jour [10:33:21] fanch: probleme de clavier [10:33:26] Devil505: en effet :D [10:33:41] fanch: patiencem je para;etre le tout [10:34:08] Devil505: faut juste pacman -S pacman-tools [10:34:14] Devil505: tu sauras s'il est installé ou pas [10:34:31] fanch: je finis la mise à jour [10:34:40] fanch: désolé [10:34:52] Devil505: ok [10:34:57] fanch: quelques secondes de patience encore [10:35:25] Devil505: ensuite on utiliseras repoman pour télécharger le FST, Frugalware Source Tree, l'arbre des sources du dépot en fait [10:35:39] Devil505: il faudra faire en root: repoman upd [10:35:52] fanch: il est installé [10:36:05] Devil505: ok donc mtn; repoman upd en root [10:36:16] Devil505: si c'est la première fois cela prendras un peu de temps [10:36:49] fanch: Please install it with pacman-g2 -S git. [10:36:57] Devil505: ok installe git alors [10:37:01] Lenezir: repoman upd fait [10:37:04] Devil505: et retente [10:37:09] Devil505: ok Lenezir [10:37:21] fanch: j'ainstalle git [10:37:32] fanch: repoman upd [10:38:02] fanch: je lance la mise à jour de repoman [10:38:04] Devil505: ca télécharge ? [10:38:08] fanch: oui [10:38:18] fanch: 10% [10:38:28] fanch: 20 [10:38:30] Devil505: ok en attendant vous allez créer sur votre bureau un dossier test [10:38:53] Devil505: dedans créer un fichier texte nommé FrugalBuild (bien respecter les majuscules) [10:39:08] Devil505: et vous allez copier le contenu de ce paste: http://frugalware-fr.pastebin.com/dx79At74 [10:39:19] fanch: ok [10:39:35] Devil505: on va voir on profondeur ce FB mtn ligne par ligne [10:39:37] Devil505: Compiling Time: 0.03 SBU [10:39:45] Devil505: ca indique le temps de compilation [10:40:01] Devil505: qd vous aurez builder votre paquet vous aurez des secondes pas des SBU [10:40:06] Devil505: c'est normal [10:40:11] fanch: repoman fit [10:40:18] fanch: fichier créé [10:40:34] Lenezir: qu'est-ce que les SBU alors ? [10:40:39] Lenezir: à quoi ça sert ? [10:40:56] Devil505: pour avoir le temps en SBU il faudra (plus tard ce n'est pas pressé) rebuilder le paquet binutils et indiquer le nombre de secondes dans votre fichier /etc/makepkg.conf [10:41:00] fanch: build recupéré [10:41:08] Devil505: en fait c'est une unité de temps de compilation [10:41:13] fanch: mis dans le frugalbuild [10:41:16] Devil505: commune pour toute machine [10:41:20] Lenezir: ok [10:41:23] fanch: du test bureau [10:41:43] Devil505: si vous avez des question n'hésitez pas :p [10:41:45] Devil505: # Maintainer: Devil505 [10:41:45] fanch: fait devil505 [10:41:52] fanch: j'ai vu [10:42:01] Devil505: ca c'est la ligne du mainteneur du paquet [10:42:30] Devil505: si vous créer des paquets il faudra vous y mettre mais en tant que Contributor à la place [10:42:30] fanch: comme sous nutyx en fait [10:42:54] Devil505: oui y'a des similitudes avec les builds de d'autres distro [10:43:01] fanch: je vois ça [10:43:05] Devil505: pkgname=grsync [10:43:17] Devil505: on indique tout simplement le nom du paquet [10:43:25] fanch: les mêmes appelations que sous arch par exemple [10:43:40] Devil505: généralement le pkgname est aussi le nom de l'archive de la source [10:43:54] fanch: je vois [10:43:58] Devil505: sauf si l'auteur fait mal son boulot :D [10:44:01] Devil505: pkgver=1.1.1 [10:44:09] Devil505: là on indique la version du programme [10:44:32] Devil505: il peut y avoir des lettres, des _ mais pas de - [10:44:45] Devil505: pkgrel=1 [10:44:56] Devil505: là c'est la version du paquet [10:45:19] fanch: en fonction des modifications avec la même source [10:45:26] Devil505: si on fait une petite modif de la meme version du programme, on incrémente le pkgrel [10:45:30] Devil505: voilà [10:45:33] fanch: oui [10:45:38] fanch: compris [10:45:43] Devil505: pkgdesc="GTK GUI for rsync" [10:45:52] Devil505: là on indique la description du paquet [10:46:08] fanch: en anglais de préférence [10:46:09] Devil505: y'a une limite de caractères [10:46:15] Devil505: surtout en anglais [10:46:17] Devil505: :p [10:46:32] Devil505: la limite doit etre indiqué sur man FrugalBuild je crois [10:46:43] Devil505: url="http://www.opbyte.it/$pkgname" [10:46:53] Devil505: url indique le lien du site du programme [10:47:11] Devil505: vous avez pu voir que j'ai meme remplacer grsync par $pkgname [10:47:31] fanch: oui [10:47:34] Devil505: depends=('gtk+2>=2.20.1' 'glibc' 'freetype2' 'libxau>=1.0.4' \ 'libxdmcp' 'libxdamage>=1.1.1-3' 'libxext>=1.0.5-3' 'libxml2' 'rsync') [10:47:40] fanch: le nom est fait [10:47:43] Devil505: ca c'est les dépendances [10:47:58] Devil505: comment les connaitre ? me direz vous [10:48:08] Lenezir: certes [10:48:10] fanch: bonne question ma foi [10:48:20] Devil505: souvent dans c'est indiquez sur les readme [10:48:32] Devil505: on peut aussi allez voir chez certaines distros comme gentoo [10:48:40] Devil505: leur liste de dep [10:48:41] fanch: il faut lire les explications d'install du développeur [10:48:46] Devil505: oui [10:49:04] Devil505: également makepkg -a vous permettra d'affiner les dep [10:49:16] Devil505: il les indique en fin de buid si tout va bien [10:50:17] Devil505: celles sur ce FB ne sont peut etre plus bonnes d'ailleurs [10:50:33] Devil505: avec >= on peut forcer la mise à jour d'un dep [10:50:51] Devil505: c'est ce qu'on fait en cas de rebbuild à cause d'une nouvelle maj d'une dep [10:51:21] Devil505: tout vas bien jusqu'ici ? [10:51:27] Lenezir: oui oui :) [10:51:41] Devil505: bien [10:51:47] Devil505: makedepends=('gettext' 'intltool') [10:51:47] fanch: oui [10:52:05] Devil505: ca c'est ce sont des dépendances uniquement utiles à la compilation [10:52:20] Devil505: avec l'habidtude on les connait suivant les erreurs de compil [10:52:45] Devil505: en fait ces dépendances ne seront pas installé qd l'utilisateur installera grsync [10:52:58] Devil505: c'est juste pour la compil avec makepkg [10:53:04] Lenezir: oui ok [10:53:14] Devil505: pour info à l'opposé vous avez parfois les rodepends [10:53:34] Devil505: c'est les dépendances uniquement utiles aux fonctionnement du paquet [10:53:55] fanch: dépendances de compilations----dépendances d'utilisation... [10:54:07] Lenezir: ce sont les "depends" ça non ? [10:54:08] Devil505: là ces deps ne seront pas installés avec makepkg mais seront installés avec pacman qd l'utilisateur installera le paquet [10:54:29] Devil505: non les depends tout cours, ce sont un mixte des deux je dirais [10:55:05] Lenezir: ah les depends c'est pour installer et rodepends c'est pour lancer le paquet ? [10:55:09] Devil505: Lenezir, par exemple pour un paquet avec les musique d'un jeu je mettrai le jeu en question en rodepends [10:55:32] Devil505: rodepends c'est juste nécéssaire au fonctionnement oui [10:55:43] Lenezir: ok compris :) [10:55:52] Devil505: options=('scriptlet') [10:56:14] Devil505: ca j'ai du mal à l'expliquer mais on s'en sert quand on gtk+2 ou cairo en dep [10:57:16] fanch: cas particulier [10:57:24] fanch: :) [10:57:32] Devil505: vmiklos m'avait dit ca: [10:57:33] Devil505: "Don't skip executing scriptlets even if we're in chroot." By default scriptlets (the pkgname.install files) are not executed when installing depends to speed up the build. Sometimes this breaks the build, for example typically gtk-based packages or packages using the docbook toolchain fail to build when this option is missing. [10:57:57] Devil505: groups=('xapps-extra') [10:58:05] Devil505: là on indique le groupe du paquet [10:58:21] fanch: oui [10:58:21] Devil505: grsync étant une app graphique dépendant juste de X [10:58:29] Devil505: xapps-extra semble le meilleur choix [10:58:30] fanch: si c'est un nouveau [10:58:42] Devil505: toujours dans -extra fanch [10:58:46] fanch: ok [10:59:02] Devil505: les groupes principaux sont en premier sur les CDs en fait [10:59:21] Devil505: c'est vraiment les applications par défaut que l'on met dedans [10:59:40] Devil505: si j'avais libgnome en dépendance j'aurais mis gnome-extra [10:59:45] Devil505: ..etc [11:00:02] Devil505: ca suit une certaine logique [11:00:05] Lenezir: ok [11:00:07] Devil505: archs=('i686' 'x86_64') [11:00:22] Devil505: dans archs on met les arch pour laquelle le paquet sera construit [11:00:42] Devil505: y'en a que 3 chez fw pour le moment i686, x86_64 et ppc [11:00:58] fanch: ppc.....il ya le choix [11:01:16] Lenezir: j'ai pas le 64, je le vire pour le build ? [11:01:35] fanch: le 32 me suffit largement [11:01:43] Devil505: non le paquet sera construit sur l'arch que tu utilise [11:02:08] Devil505: makepkg te fera un paquet i686 t'inquiète pas :p [11:02:14] Lenezir: ok ^^ [11:02:54] Devil505: si vous proposez un nouveau paquet rajoutez x86_64 que si vous avez pu tester sur un 64 aussi [11:03:02] Devil505: up2date="Flasttar $url" [11:03:14] Devil505: alors cette ligne est particulière en fait à FW [11:03:23] Devil505: c'est un truc pour les maintainers [11:03:39] Devil505: ca set à controler si une nouvelle version est présente [11:03:43] Devil505: *sert [11:04:02] Devil505: dans notre cas Flasstar va aller sur le lien de grsync [11:04:21] Devil505: et cherche un lien avec $pkgname-$pkgver.tar.gz ou bz2 [11:04:59] fanch: bien [11:04:59] Devil505: allez sur http://www.opbyte.it/grsync/ [11:05:08] Devil505: regardez plus bas à Download [11:05:15] Devil505: le lien de 1.1.1:) [11:05:27] Devil505: c'est vraiment un cas super simple parfois faudra ruser [11:05:42] Devil505: si vraiment vous embetez vous pouvez bloquer up2date avec up2date=$pkgver [11:06:05] Devil505: ok ? :) [11:06:20] Lenezir: mais comment il va trouver le paquet dans ce cas ? [11:06:24] Lenezir: en mettant juste la version [11:06:39] fanch: il ne va pas le chercher en fait [11:06:42] Devil505: alors une fois la vérif faite [11:07:02] Devil505: que $pkgver est bien la dernière version qu'il trouve il va télécharge la source [11:07:11] Devil505: qui est indiqué juste après sur le FB [11:07:13] Devil505: source=(http://www.opbyte.it/release/$pkgname-$pkgver.tar.gz) [11:07:21] Devil505: salut Kooda au passage [11:07:27] Lenezir: ah oui d'accord [11:07:29] Lenezir: slt Kooda [11:07:36] fanch: salut kooda [11:07:37] Kooda: o/ [11:07:39] Devil505: sha1sums=('aae1be1e609f64a9aebc417f6035495d196faa91') [11:07:44] Lenezir: il reste une place au fond de la classe [11:07:52] Devil505: c'est le sha1sum de la source [11:07:53] fanch: lol [11:08:02] * Kooda est le prof de secours. :p [11:08:04] Devil505: vous pouvez l'avoir avec makepkg -G [11:08:09] Devil505: :p [11:08:19] Devil505: bon mtn on vas configurer makepkg avec sudo [11:08:24] Lenezir: ah pas mal [11:08:27] Devil505: installez le paquet sudo déjà [11:08:35] Lenezir: fait [11:08:53] fanch: fait [11:09:09] Devil505: éditez le fichier /etc/sudoers [11:09:22] Devil505: et ajouez: [11:09:26] Devil505: login ALL=NOPASSWD:/usr/bin/makepkg [11:09:32] Devil505: login étant votre nom utilisateur [11:09:45] fanch: gksu thunar [11:09:49] Devil505: Kooda, t'as peut etre mieux comme ligne [11:10:10] Devil505: fanch nano /etc/sudoers [11:10:13] Kooda: Non c'est bien. [11:10:14] Devil505: en root [11:10:18] Devil505: ok merci [11:10:20] fanch: je vous laisse on m'appelle [11:10:22] fanch: je reviens [11:10:28] Kooda: Même si je laisse le mot de passe moi. [11:10:42] Devil505: arg on avait presque fini [11:10:45] Devil505: bon Lenezir [11:11:06] Lenezir: c'est bon ^^ [11:11:22] Devil505: ouvre un terminal à l'endroit du FrugalBuild [11:11:28] Lenezir: fait [11:11:29] Devil505: et essaye déjà sudo makepkg -G [11:11:36] Devil505: pour avoir le sha1sum [11:11:46] Lenezir: je l'ai :p [11:12:04] Lenezir: c'est le même [11:12:06] Devil505: ok super essaye sudo makepkg mtn [11:12:17] Devil505: et t'auras ton fpm [11:13:44] Kooda: Ah, je fais jamais makepkg -G en root, c'est chiant, ça change les permissions du fichier. [11:13:54] McKey: Une session juste pour Lenezir ? [11:14:03] Devil505: non et fanch aussi [11:14:05] McKey: ok [11:14:22] Devil505: j'aurais voulu Nizou mais il est occupé [11:14:55] Lenezir: je l'ai \o/ [11:15:04] fanch: re [11:15:33] Devil505: ok fanch à ton tour [11:15:37] Devil505: :) [11:16:02] fanch: je relis [11:16:05] fanch: désolé [11:16:13] Devil505: pas de soucis [11:18:27] fanch: j'ai lancé le makepg [11:18:29] Devil505: Lenezir, efface le fpm et essaye sudo makepkg -a [11:18:32] fanch: ça marche [11:18:38] Devil505: t'auras une indiq des deps [11:18:41] Devil505: fanch, super :) [11:19:01] fanch: je vais le trouver où [11:19:17] Devil505: fanch, à coté du FrugalBuild [11:19:26] fanch: exact [11:19:30] fanch: j'avais pas vu [11:19:37] fanch: super [11:19:47] Devil505: pour l'installer pacman -U nom.fpm mais vous le savez déjà [11:20:03] Devil505: voilà vous avez votre premier fpm :) [11:20:10] fanch: autrement les fichiers des frugalbuild avec repoman ils sont où [11:20:29] Devil505: dans /var/fst/current [11:20:33] Devil505: c'est c'est le FST [11:20:35] fanch: ok [11:20:55] Devil505: makepkg donne l'impression d'installer bcp de paquet mais c'est parceque il fait un chroot [11:21:04] Devil505: qui est dans /var/chroot/current par défaut [11:21:17] Devil505: à la fin du build il le nettoye [11:21:42] Devil505: des questions ? :) [11:21:52] Lenezir: ah il le vide entièrement ? [11:21:53] fanch: non [11:22:02] fanch: il faut créer une chroot [11:22:06] Devil505: il retire les deps de grsync [11:22:12] Devil505: fanch, c'est automatique [11:22:16] fanch: super [11:22:20] Kooda: BONUS : faites votre paquet avec la commande "sudo makepkg -i" pour installer le paquet automatiquement une fois la compilation faite. [11:22:24] Lenezir: mais quand tu dois rebuilder gnome, il réinstalle tout à chaque paquet alors ? [11:22:33] Devil505: Kooda, ah bon à savoir :D [11:22:38] Lenezir: ah oui [11:23:10] fanch: vraiment efficace [11:23:14] Devil505: Lenezir, oui mais vu qu'il retire le bazar à la fin c'est que temporaire [11:23:32] Lenezir: ok [11:23:40] Devil505: si votre build échoue pour nettoyer le chroot sudo makepkg -C [11:24:01] Devil505: bon bah voilà c'est pas bien compliqué [11:24:14] Devil505: suffit de bien indiquer ce qu'il faut sur le FrugalBuild [11:24:17] Lenezir: le -a m'a sorti un fpm [11:24:20] fanch: drôlement efficace [11:24:25] Devil505: Lenezir, regarde le log [11:24:41] Lenezir: ah oui :D [11:24:42] Devil505: vers compressing fpm il t'indique des deps [11:24:46] Lenezir: les deps [11:25:02] Devil505: ca aide parfois à "affiner" :) [11:25:18] Devil505: alors fanch est ce dur finalement ? :p [11:25:22] Lenezir: et ben merci Devil505 :D [11:25:23] fanch: non [11:25:39] fanch: franchement plus simple, difficile de trouver [11:25:51] Devil505: ca doit ressembler aux builds de nutyx en plus [11:25:51] fanch: le chemin des logs [11:25:59] Devil505: ah une dernière chose [11:26:03] fanch: en plus détaillé [11:26:10] Devil505: dans notre exemple je n'ai pas mis de build() [11:26:11] fanch: mais plus simple à l'arrivée [11:26:20] fanch: pas dde build [11:26:38] fanch: il les reprend où les build [11:26:40] Devil505: pour la simple raison que par défaut si on en met pas il vas utiliser Fbuild [11:26:47] Devil505: et Fbuild équivant à: [11:26:54] Devil505: cd $pkgname-$pkgver [11:26:59] Devil505: ./configure [11:27:00] Devil505: make [11:27:04] Devil505: make install [11:27:33] Devil505: ou la commande python pour les trucs en python avec python.setup [11:27:56] Devil505: donc résultat le FrugalBuild est raccourci [11:27:56] fanch: je vois [11:28:02] fanch: c'est comme nutyx [11:28:16] Devil505: je sais que chez nutyx vous développer le build() il me semble [11:28:20] fanch: en plus élaboré [11:28:22] Kooda: C'est comme partout. [11:28:29] fanch: oui [11:28:30] fanch: exact [11:28:33] Kooda: Nous on a juste des raccourcis. [11:28:42] fanch: mais l'intégration de la chroot [11:28:46] Devil505: qui facilite la vie [11:28:46] fanch: c'est super [11:28:47] Devil505: :p [11:28:56] Kooda: :) [11:29:11] fanch: tnut devrait y songer [11:29:35] Devil505: la prochaine session portera sur les paquet dont les sources sont hebergés chez google code et y'aura un exercice à faire :D [11:29:46] Lenezir: ah pas mal ça m'intéresse :p [11:29:46] Kooda: Ça permet d'être sûr des dépendances vu qu'il n'y a que le strict minimum dans le chroot. [11:29:51] fanch: quelle légèreté la frugalware [11:30:00] fanch: oui [11:30:05] fanch: bonne idée [11:30:07] Devil505: si vous faites sudo makepkg -Ha [11:30:15] fanch: sous nutyx s'est plus lourd à gérer [11:30:17] Devil505: il va builder sur le système hote et pas le chroot [11:30:25] Devil505: et l'indique des deps sera érronée [11:30:31] fanch: oui [11:30:34] Devil505: genre il remplace libgl par nvidia :D [11:30:40] Devil505: car j'utilise nvidia [11:30:48] Devil505: (qui founit la libgl) [11:30:49] fanch: comme moi [11:32:07] fanch: je vous laisse...merci de l'invitation devil505 [11:32:17] Devil505: pas de quoi ;) [11:32:31] Devil505: merci à tout les deux [11:32:32] fanch: avec nutyx j'ai beaucoup progressé [11:32:33] Devil505: :) [11:32:38] fanch: je comprends mieux [11:32:46] Lenezir: merci Devil505 ++ fanch :) [11:32:51] fanch: et beaucoup plus vite [11:33:04] Devil505: à la prochaine session :D [11:33:06] Lenezir: moi je comprends vite mais faut m'expliquer longtemps [11:33:08] fanch: oui [11:33:13] fanch: pareil [11:33:17] fanch: lenezir [11:33:21] Devil505: :D [11:33:26] fanch: mais bon [11:33:29] fanch: en insistant [11:33:37] fanch: et avec de la persévérance [11:33:47] Lenezir: oui, j'apprends par l'exemple moi [11:33:47] fanch: on y arrive [11:33:53] Devil505: c'est sur que ca aide d'avoir qqun qui explique [11:33:54] fanch: comme moi [11:33:55] fanch: en fait [11:34:28] fanch: a+ [11:34:33] Devil505: bye [11:34:36] Lenezir: ++ [11:34:39] fanch: merci encore [11:34:47] Devil505: bon pause :p [11:35:00] Lenezir: allez je vais me mettre un film :p [11:35:02] Lenezir: ++ et merci :) [12:15:26] Devil505: re [12:15:46] Devil505: Kooda, si d'autres veulent faire une session de rattrapage sur les bases du FB tu vois avec eux ? [12:16:03] Kooda: Ouaip. :) [12:18:48] Devil505: mis à part Nizou j'en vois pas d'autre [12:18:56] Devil505: ah peut etre Lanciaux