website view fr/doc/cookbook/wok-tools.html @ rev 1344

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