website annotate fr/doc/cookbook/wok-tools.html @ rev 499

FR: fixed typos
author Pierre ROMILLON <pierre.romillon@slitaz.org>
date Mon Jun 01 22:45:41 2009 +0200 (2009-06-01)
parents
children c3685915bdf3
rev   line source
pankso@371 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
pankso@371 2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
pankso@371 3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
pankso@371 4 <head>
pankso@371 5 <title>SliTaz Cookbook - Wok &amp; Tools</title>
pankso@371 6 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
pankso@371 7 <meta name="description" content="" />
pankso@371 8 <meta name="expires" content="never" />
pankso@371 9 <meta name="modified" content="2007-12-24 17:00:00" />
pankso@371 10 <meta name="publisher" content="www.slitaz.org" />
pankso@371 11 <meta name="author" content="Christophe Lincoln"/>
pankso@371 12 <link rel="shortcut icon" href="favicon.ico" />
pankso@371 13 <link rel="stylesheet" type="text/css" href="book.css" />
pankso@371 14 </head>
pankso@371 15 <body bgcolor="#ffffff">
pankso@371 16
pankso@371 17 <!-- Header and quick navigation -->
pankso@371 18 <div id="header">
pankso@371 19 <div align="right" id="quicknav">
pankso@371 20 <a name="top"></a>
pankso@371 21 <a href="index.html">Table des matières</a> |
pankso@371 22 <a href="receipts.html">Receipts</a>
pankso@371 23 </div>
pankso@371 24 <h1><font color="#3E1220">SliTaz Cookbook</font></h1>
pankso@371 25 </div>
pankso@371 26
pankso@371 27 <!-- Content. -->
pankso@371 28 <div id="content">
pankso@371 29 <div class="content-right"></div>
pankso@371 30
pankso@371 31
pankso@371 32 <h2><font color="#DF8F06">Wok &amp; Tools</font></h2>
pankso@371 33 <ul>
pankso@371 34 <li><a href="#utils">Les utilitaires du projet.</a></li>
pankso@371 35 <li><a href="#wok">Woking</a> - Utiliser le wok.</li>
pankso@371 36 <li><a href="#cook">Compiler et générer des paquets.</a></li>
pankso@371 37 <li><a href="#opts">Options de compilations des paquets.</a></li>
pankso@371 38 <li><a href="#files">Fichiers inclus ou exclus des paquets.</a></li>
pankso@371 39 <li><a href="#categories">Catégories des paquets.</a></li>
pankso@371 40 <li><a href="#woktree">Structure d'un paquet dans le wok.</a></li>
pankso@371 41 <li><a href="#pkgtree">Structure d'un paquet tazpkg.</a></li>
pankso@371 42 <li><a href="receipts.html">Recettes des paquets.</a></li>
pankso@371 43 </ul>
pankso@371 44
pankso@371 45 <a name="utils"></a>
pankso@371 46 <h3>Les utilitaires du projet</h3>
pankso@371 47 <p>
pankso@371 48 Au file du temps le projet SliTaz à créer divers petits utilitaires permettant
pankso@371 49 de reconstruire le système depuis les sources et de façon automatique.
pankso@371 50 <a href="http://www.slitaz.org/get/tazwok.html">Tazwok</a> est utilisé pour
pankso@371 51 compiler et générer des paquets (<em>cook</em> pour cuire) via
pankso@371 52 les intructions trouvées dans <a href="receipts.html">les recettes</a>. Le
pankso@371 53 projet propose aussi une archive d'outils contenant divers petits utilitaires,
pankso@371 54 des exemples et des fichiers de configuration. Le générateur de distribution
pankso@371 55 <em>Live</em> Tazlito (SliTaz Live Tool), déstiné aux utilisateurs
pankso@371 56 et développeurs. Tazlito permet d'extraire et reconstruire une image ISO
pankso@371 57 de LiveCD et de générer des distributions à saveure depuis une liste de
pankso@371 58 paquets, un fichier de configuration et une description. Les utilitaires sont
pankso@371 59 tous distribués sous forme d'archive source et sont installés par défaut sur
pankso@371 60 SliTaz. Les développeurs ou futur contributeurs peuvent se référencer à la page
pankso@371 61 <a href="http://www.slitaz.org/devel/forge.html">forge</a> donnant des
pankso@371 62 informations sur la gestion du projet SliTaz.
pankso@371 63 </p>
pankso@371 64 <h4>Tazwok et le wok</h4>
pankso@371 65 <p>
pankso@371 66 L'idée est d'utiliser un répertoire (wok) contenant tous les paquets
pankso@371 67 disponibles, chaque paquet contient au minimum une recette (receipt) servant
pankso@371 68 à télécharger, désarchiver, compiler et générer le paquet binaire. Pour
pankso@371 69 fonctionner, Tazwok a aussi besoin d'un répertoire pour stocker les sources
pankso@371 70 téléchargées ($SOURCES_REPOSITORY) et d'un répertoire pour les paquets générés
pankso@371 71 ($PACKAGES_REPOSITORY), ces valeurs peuvent être configurées via le fichier :
pankso@371 72 /etc/tazwok.conf.
pankso@371 73 </p>
pankso@371 74
pankso@371 75 <a name="wok"></a>
pankso@371 76 <h3><font color="#6c0023">Woking - Utiliser le wok</font></h3>
pankso@371 77 <p>
pankso@371 78 Woking ou comment utiliser le wok pour construire des paquets. Pour commencer
pankso@371 79 il faut que <a href="http://www.slitaz.org/get/tazwok.html">Tazwok</a> soit
pankso@371 80 installé sur votre système et que les principaux outils de développement le
pankso@371 81 soit aussi (binutils, compilateur, librairies-dev, make), sur Slitaz il suffit
pankso@371 82 d'installer le meta-paquet <code>slitaz-toolchain</code> :
pankso@371 83 </p>
pankso@371 84 <pre>
pankso@371 85 # tazpkg recharge
pankso@371 86 # tazpkg get-install slitaz-toolchain
pankso@371 87 </pre>
pankso@371 88 <h4>Récupérer le wok</h4>
pankso@371 89 <p>
pankso@371 90 Pour travailler il faut récupérer le wok depuis le dépôt Mercurial ou depuis
pankso@371 91 une archive sur le miroir principale (TuxFamily) de Slitaz. En supposant que
pankso@371 92 SliTaz se construit dans <code>/home/slitaz</code> :
pankso@371 93 </p>
pankso@371 94 <pre>
pankso@371 95 $ hg clone http://hg.slitaz.org/wok/ /home/slitaz/wok
pankso@371 96 </pre>
pankso@371 97 <p>
pankso@371 98 Les archives sont aussi récupérable depuis l'URL :
pankso@371 99 <a href="ftp://download.tuxfamily.org/slitaz/wok/">ftp://download.tuxfamily.org/slitaz/wok/</a>.
pankso@371 100 Il suffit de prendre la dernière version et de la désarchiver où bon vous
pankso@371 101 semble. Avant de compiler son premier paquet il faut configurer Tazwok pour
pankso@371 102 qu'il trouve le wok préalablement téléchargé. Par défaut le chemin est
pankso@371 103 <code>/home/slitaz/wok</code>, vous pouvez le changer ou renommer le wok
pankso@371 104 téléchargé. Pour afficher/vérifier les chemins que Tazwok va utiliser et
pankso@371 105 le nombres de paquet disponibles dans le wok, vous pouvez utiliser la
pankso@371 106 commande <code>stats</code> de Tazwok :
pankso@371 107 </p>
pankso@371 108 <pre>
pankso@371 109 # tazwok stats
pankso@371 110 </pre>
pankso@371 111
pankso@371 112 <a name="cook"></a>
pankso@371 113 <h3>Compiler et générer des paquets</h3>
pankso@371 114 <p>
pankso@371 115 Configuer, compiler, striper, générer le paquet SliTaz et le compresser peut
pankso@371 116 se faire en une seule commandes. Pour éviter toute frustration... il est
pankso@371 117 conseillé de commencer par construire un paquet, sans modifier sa recette, et
pankso@371 118 ne demandant pas de dépendances. M4 est idéal pour se lancer et cuire (cook) :
pankso@371 119 </p>
pankso@371 120 <pre>
pankso@371 121 # tazwok cook m4
pankso@371 122 </pre>
pankso@371 123 <p>
pankso@371 124 Une fois le travail fini, le paquet SliTaz se trouvent dans le repositoire
pankso@371 125 spécifié dans la configuration (Par défaut <code>/home/slitaz/packages</code>).
pankso@371 126 Si tout c'est bien passé, vous pouvez installer le paquet sur le système hôte
pankso@371 127 ou l'utiliser pour générer votre distribution LiveCD via
pankso@371 128 <a href="http://www.slitaz.org/doc/manuals/tazlito.html">Tazlito</a>. Pour
pankso@371 129 créer un nouveau paquet vous pouvez utiliser la commande <code>new-tree</code>
pankso@371 130 avec l'option <code>--interactive</code> et lire la document au sujet des
pankso@371 131 possibilités proposée par <a href="receipts.html">les recettes</a> des paquets.
pankso@371 132 Toutes les commandes disponibles avec Tazwok sont décrite dans :
pankso@371 133 <a href="http://www.slitaz.org/doc/manuals/tazwok.html">Tazwok manual</a>
pankso@371 134 </p>
pankso@371 135 <h4>Cooklists - Liste de cuisson</h4>
pankso@371 136 <p>
pankso@371 137 Pour compiler plusieurs paquets en une seule commande, on peut utiliser des
pankso@371 138 listes de cuisson. Il y a des listes exemples dans le répertoire
pankso@371 139 /usr/share/examples/tazwok/cooklists sur SliTaz, c'est juste un fichier texte
pankso@371 140 avec un paquet par ligne. Exemple avec mypkgs.cooklist :
pankso@371 141 </p>
pankso@371 142 <pre>
pankso@371 143 # tazwok cook-list mypkgs.cooklist
pankso@371 144 </pre>
pankso@371 145
pankso@371 146 <a name="opts"></a>
pankso@371 147 <h3>Options de compilations des paquets</h3>
pankso@371 148 <p>
pankso@371 149 Vous êtes libre d'utiliser les options de compilation que vous désirez, il faut
pankso@371 150 juste respecter le FSH, la doc dans /usr/share/doc par exemple et suivre les
pankso@371 151 standards de Freedesktop (.desktop en autre). Ensuite c'est une questions de
pankso@371 152 choix, on peut par exemple désactiver le support XML pour avoir un binaire PHP
pankso@371 153 plus petit et se débarasser de libxml2, mais dans le cas de PHP le gain de
pankso@371 154 place ne vaut pas le coup par rapport aux pertes de fonctionnailtés. Si vous
pankso@371 155 avez des doutes, regardez des recettes existantes et leure options de
pankso@371 156 compilation dans <code>compile_rules</code>.
pankso@371 157 </p>
pankso@371 158 <h4>Optimisation</h4>
pankso@371 159 <p>
pankso@371 160 Les paquets SliTaz officiels sont optimisés pour i486, les options
pankso@371 161 d'optimisation passées en arguments à configure sont spécifiées dans le
pankso@371 162 fichier de configuration de Tazwok (<code>/etc/tazwok.conf</code>) et peuvent
pankso@371 163 être appelées via la variable <code>$CONFIGURE_ARGS</code>. Si vous voulez
pankso@371 164 compiler un paquet avec des arguments différents, vous pouvez modifier le
pankso@371 165 fichier de configuration de Tazwok :
pankso@371 166 </p>
pankso@371 167 <pre class="script">
pankso@371 168 CONFIGURE_ARGS="--build=i486-pc-linux-gnu --host=i486-pc-linux-gnu"
pankso@371 169 </pre>
pankso@371 170
pankso@371 171 <a name="files"></a>
pankso@371 172 <h3>Fichiers inclus ou exclus des paquets</h3>
pankso@371 173 <p>
pankso@371 174 Au sujet des fichiers à inclures ou exclures du paquet, l'idée et de mettre le
pankso@371 175 minimum dans le paquet de base et de créer des paquets séparés pour les
pankso@371 176 fichiers optionnels ou de développement. En général, les paquets de base ne
pankso@371 177 contiennent pas de man, info, doc ou librairies statique, il faut créer un
pankso@371 178 paquet-doc ou paquet-dev. A noter que SliTaz ne propose pas la commande man ou
pankso@371 179 info, donc pas de manuel ou fichier GNU info et que la création de paquets
pankso@371 180 contenant la doc est vraiment en option, surtout si la documentation est en
pankso@371 181 English. Par contre, un bout de texte au sujet du paquet dans le Handbook est
pankso@371 182 plus qu'apprécié.
pankso@371 183 </p>
pankso@371 184 <p>
pankso@371 185 Au niveau des fichiers de configuration, quand c'est possible, le but est de
pankso@371 186 proposer des fichiers de configurations de base permettant de faire fonctionner
pankso@371 187 directement le paquet. Dans le cas du serveur Web LightTPD, le paquet SliTaz
pankso@371 188 fourni des fichiers de configuration fait maison et le script de démarrage du
pankso@371 189 démon situé dans /etc/init.d, le tout documenté dans le Handbook. Pour un
pankso@371 190 nouveau paquet, vous êtes libre de choisir sa configuration par défaut en
pankso@371 191 fonction de ce qui vous semble le plus simple pour l'utilisateur final. Sur
pankso@371 192 SliTaz vous disposez aussi d'un répertoire /usr/share/examples destiné à des
pankso@371 193 exemples de configuration ou autres types d'exemples utiles.
pankso@371 194 </p>
pankso@371 195
pankso@371 196 <a name="categories"></a>
pankso@371 197 <h3>Catégories des paquets</h3>
pankso@371 198 <p>
pankso@371 199 Les catégories des paquets existent à titre d'information et ne sont pas encore
pankso@371 200 vraiment figée. L'idée est de classer les paquets pour une futur interface web
pankso@371 201 dont les pages seraient générée chaque nuit depuis le wok en récupérant les
pankso@371 202 données dans les recettes des paquets. Dans l'immédiat, les paquets de
pankso@371 203 développement dans 'devel', Xorg et compagnie dans 'x-window' et la plus part
pankso@371 204 des nouveautés dans 'extra'.
pankso@371 205 </p>
pankso@371 206
pankso@371 207 <a name="woktree"></a>
pankso@371 208 <h3>Structure d'un paquet dans le wok</h3>
pankso@371 209 <p>
pankso@371 210 La structure des paquets dans le wok devraient être respectée si l'on veut que
pankso@371 211 Tazwok trouve les bons fichiers et répertoires. Contenu possible d'un paquet
pankso@371 212 (le répertoire taz/ est créé lors le la cuission) :
pankso@371 213 </p>
pankso@371 214 <ul>
pankso@371 215 <li><code>stuff/</code> : Le matériel utilisé pour configurer, compiler et
pankso@371 216 générer le paquet (patche(s), Makefile, pseudo fs, etc).</li>
pankso@371 217 <li><code>taz/</code> : Répertoire contenant l'arbre du paquet Tazpkg
pankso@371 218 généré, le paquet compressé est stocké dans le répertoire spécifié par
pankso@371 219 $PACKAGES_REPOSITORY du fichier de configuration de Tazwok.</li>
pankso@371 220 <li><code>receipt</code> : La recette de cuisine (voir
pankso@371 221 <a href="receipts.html">receipts</a>).</li>
pankso@371 222 <li><code>description.txt</code> : La description du paquet (en option) est copiée
pankso@371 223 à la racine du paquet Tazpkg. Une fois installé, 'tazpkg' sait
pankso@371 224 traiter ce fichier via la commande 'tazpkg desc pkgname'.</li>
pankso@371 225 </ul>
pankso@371 226
pankso@371 227 <a name="pkgtree"></a>
pankso@371 228 <h3>Structure d'un paquet tazpkg</h3>
pankso@371 229 <p>
pankso@371 230 Les paquets SliTaz sont des archives cpio contenant un système de fichiers
pankso@371 231 compressé avec gzip et des fichiers :
pankso@371 232 </p>
pankso@371 233 <ul>
pankso@371 234 <li><code>fs/</code> : Pseudo système de fichiers contenant tous les
pankso@371 235 fichiers à installer.</li>
pankso@371 236 <li><code>receipt</code> : La recette de cuisine (voir receipt.txt).</li>
pankso@371 237 <li><code>files.list</code> : Liste des fichiers contenus dans le paquet.</li>
pankso@371 238 <li><code>description.txt</code> : La description du paquet (en option).</li>
pankso@371 239 </ul>
pankso@371 240
pankso@371 241 <!-- End of content -->
pankso@371 242 </div>
pankso@371 243
pankso@371 244 <!-- Footer. -->
pankso@371 245 <div id="footer">
pankso@371 246 <div class="footer-right"></div>
pankso@371 247 <a href="#top">Haut de la page</a> |
pankso@371 248 <a href="index.html">Table des matières</a>
pankso@371 249 </div>
pankso@371 250
pankso@371 251 <div id="copy">
pankso@371 252 Copyright © 2007 <a href="http://www.slitaz.org/">SliTaz</a> -
pankso@371 253 <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
pankso@371 254 Documentation publiées sous
pankso@371 255 <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
pankso@371 256 et codée en <a href="http://validator.w3.org/">xHTML 1.0 valide</a>.
pankso@371 257 </div>
pankso@371 258
pankso@371 259 </body>
pankso@371 260 </html>