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

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