tazwok view doc/tazwok.fr.html @ rev 337

doc: rename french manual and link to default english one
author Christophe Lincoln <pankso@slitaz.org>
date Tue Feb 22 12:42:20 2011 +0100 (2011-02-22)
parents
children 0bc5a6853a5e
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>Tazwok Manual</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="2011-02-10 18:00:00" />
10 <style type="text/css"><!--
11 body { font: 90% sans-serif, vernada, arial; margin: 0; }
12 #header { background: #f0ba08; color: black; height: 50px;
13 border-top: 1px solid black; border-bottom: 1px solid black; }
14 #content { margin: 0px 50px 26px 50px; }
15 h1 { margin: 14px 0px 0px 16px; }
16 li { line-height: 1.4em; }
17 pre { padding: 5px; color: black; background: #e1e0b0; }
18 pre.script { padding: 10px; color: black; background: #e8e8e8;
19 border: 1px inset #333333; }
20 code { font-size: 100%; color: #669900; background: transparent; }
21 hr { color: white; background: white; height: 1px; border: 0; }
22 --></style>
23 </head>
24 <body bgcolor="#ffffff">
25 <div id="header">
26 <h1>Tazwok Manual</h1>
27 </div>
28 <hr />
29 <!-- Start content -->
30 <div id="content">
32 <h2>NOM</h2>
33 <p>
34 Tazwok - Outils SliTaz pour compiler les sources et préparer les paquets.
35 </p>
37 <h2>SYNTAXE</h2>
38 <pre>
39 tazwok [command] [package|list|category|dir|arg] [--option]
40 </pre>
42 <h2>AVERTISSEMENT</h2>
43 <p>
44 Cette version de tazwok (tazwok-3.9.*) est actuellement sujette
45 à un développement actif et certaine parties de programme n'ont pas
46 encore été complétement revues et corrigées. Dans son état actuel,
47 vous ne devriez cependant pas rencontrer de problème majeur durant son
48 utilisation. Toutes suggestions/commentaires/contribution sont les
49 bienvenues: vous trouverez l'adresse courriel du mainteneur à la fin
50 de ce document.
52 <h2>DESCRIPTION</h2>
53 <p>
54 Tazwok est un outil en ligne de commande permettant de configurer et de
55 compiler un paquet depuis les sources. Tazwok permet aussi de créer des
56 paquets prêts à être utilisé par Tazpkg, le gestionnaire de paquets créé
57 pour SliTaz. Pour fonctionner, Tazwok utilise un fichier contenant la recette
58 et toutes les informations nécessaires à la construction du paquet. Cette
59 recette est aussi utilisée par Tazpkg et se compose de différentes variables
60 et fonctions. Tazwok utilise un fichier de configuration (/etc/slitaz/tazwok.conf)
61 pour connaître le chemin vers le wok, les paquets sources et les paquets
62 (.tazpkg) générés. Il est aussi capable de générer une liste paquets avec
63 leurs sommes md5, des créer un nouveau paquet de manière interactive, de faire
64 une recherche, de nettoyer les fichiers générés ou encore de cuire plusieurs
65 paquets en une seule fois (Voir les commandes disponibles). Tazwok peut être
66 utilisé pour recompiler SliTaz entièrement depuis les sources.
67 </p>
68 <p>
69 Tazwok est écrit en script shell depuis rien (from scratch), compatible Bash,
70 et fonctionnant avec Ash du projet Busybox. Tazwok est distribué sous licence
71 libre GNU gpl v3. Les recettes avec leurs commandes sont basées sur le livre
72 de cuisine de SliTaz (le Cookbook) qui fournit aussi de la documentation au sujet
73 de Tazwok et du développement de SliTaz.
74 </p>
76 <h2>OPTIONS GÉNÉRALES</h2>
77 <p>
78 Trois options peuvent être utilisées avec presques toutes les
79 commandes de tazwok. Elles permettent de définir le dépôt auquel
80 appliquer la commande, c'est à dire le dossier contenant les
81 sous-dossiers clean-wok, wok, packages, packages-incoming, src, log,
82 éventuellement chroot. Il s'agit de :
83 <em>SLITAZ_DIR</em>: le répertoire dans lequel se situent les dépôts
84 (par défaut: /home/slitaz tel que définit dans
85 /etc/slitaz/slitaz.conf)
86 <em>SLITAZ_VERSION</em>: nom de la version de référence, par exemple stable,
87 cooking, ... (par défault: la version que vous utilisez telle que définit dans
88 /etc/slitaz-release)
89 <em>undigest</em>: Indique l'utilisation d'un dépôt secondaire, pour lequel
90 SLITAZ_VERSION est la référence.
91 </p>
92 <p>
93 En l'absence de l'option undigest, l'adresse du dépôt utilisé sera
94 $SLITAZ_DIR/$SLITAZ_VERSION (par exemple ce sera /home/slitaz/cooking par
95 défaut si vous utilisez cooking) Si l'option undigest est présente, ce sera
96 $SLITAZ_DIR/$undigest L'option undigest a son importance pour certaines
97 commandes (par exemple configure-chroot, build-depends, etc.), lorsque les
98 paquets manquants dans le dépôt secondaire, ou les informations les
99 concernant, doivent être trouvées dans le dépôt de référence. Dans d'autre cas
100 l'utilisation d'undigest ou de SLITAZ_VERSION donne le même résultat.
101 </p>
102 <pre>
103 #tazwok build-depends linux --SLITAZ_DIR=/home/pas-slitaz --SLITAZ_VERSION=cooking --undigest=undigest
104 </pre>
105 <h2>COMMANDES</h2>
106 <a name="usage"></a>
107 <h3>usage</h3>
108 <p>
109 La commande 'usage' affiche la liste des commandes diponibles avec une petite
110 description en English :
111 </p>
112 <pre>
113 # tazwok usage
114 </pre>
115 <a name="stats"></a>
116 <h3>stats</h3>
117 <p>
118 Stats affiche les informations contenues dans le fichier de configuration et
119 le nombre de paquets disponibles dans le wok :
120 </p>
121 <pre>
122 # tazwok stats
123 </pre>
124 <a name="list"></a>
125 <h3>list</h3>
126 <p>
127 La commande 'list' permet de lister l'ensemble des paquets contenus dans le
128 wok ou de lister les catégories par défaut (vous pouvez créer la votre). Elle
129 permet aussi de lister les paquets d'une catégorie :
130 </p>
131 <pre>
132 # tazwok list
133 # tazwok list category
134 </pre>
135 <a name="info"></a>
136 <h3>info</h3>
137 <p>
138 Cette commande donne des informations sur le paquet, nom, version, etc. Info
139 se base sur la recette du paquet pour connaître les informations, se sont les
140 mêmes infos affichées par Tazpkg et les paquets installés :
141 </p>
142 <pre>
143 # tazwok info package
144 </pre>
145 <a name="check-log"></a>
146 <h3>check-log</h3>
147 <p>
148 Lors de la compilation et génération du paquet binaire, Tazwok génére quelques
149 messages de log stockés dans un fichier 'process.log'. Pour les afficher :
150 </p>
151 <pre>
152 # tazwok check-log package
153 </pre>
154 <a name="search"></a>
155 <h3>search</h3>
156 <p>
157 Search permet de faire une recherche de paquet dans le wok. Vous pouvez
158 spécifier un terme ou un nom de paquet :
159 </p>
160 <pre>
161 # tazwok search name
162 </pre>
163 <a name="compile"></a>
164 <h3>compile</h3>
165 <p>
166 Compile va compiler. Cette commande utilise les régles de compilation
167 (compile_rules) spécifiées dans la recette du paquet en question, pour
168 compiler les sources. A noter qu'il n'y a pas forcement de régles de
169 compilation, des paquets sont directement générés par 'genpkg' et que la
170 commande 'cook' permet de compiler les sources et générer le paquet binaire
171 en une seule fois. Exemple :
172 </p>
173 <pre>
174 # tazwok compile package
175 </pre>
176 <a name="genpkg"></a>
177 <h3>genpkg</h3>
178 <p>
179 Genpkg pour <em>Generate package</em>, va générer le paquet (.tazpkg) en
180 utilisant la fonction 'genpkg_rules' trouvée dans sa recette et compresser
181 les fichiers. Une fois le paquet généré, il est stocké dans le dépôt
182 des paquets temporaire (PACKAGES_INCOMING) spécifié dans le fichier de
183 configuration ('tazwok stats' pour afficher la configuration courante). Le
184 paquet peut être déplacé vers le dépôt de paquets définitif avec 'check-incoming'.
185 Le paquet peut ensuite facilement s'installer via Tazpkg ou être utilisé par Tazlito
186 pour générer une distribution LiveCD automatiquement. A noter que les fichiers
187 standards tels que les locales, le pixmap ou le fichier.desktop sont
188 automatiquement copiés dans $fs/usr/share, si les chemins sont standards ou
189 si le fichier existe dans /stuff. Utilisation de 'genpkg' :
190 </p>
191 <pre>
192 # tazwok genpkg package
193 </pre>
194 <a name="cook"></a>
195 <h3>cook</h3>
196 <p>
197 Cook va simplement compiler et empaqueter le paquet en une seule fois :
198 </p>
199 <pre>
200 # tazwok cook package
201 </pre>
202 <a name="cook-list"></a>
203 <h3>cook-list</h3>
204 <p>
205 Cette commande va lancer 'tazwok cook' sur tous les paquets contenus dans la
206 liste spécifiée en argument, ainsi que leurs dépendances de cuisson si elles
207 sont manquantes ou ont besoin d'une mise à jour. Cook-list est utilisée par
208 exemple, pour cuire le système de base, les applications de base, le système
209 X, les paquets d'une saveur, etc. Cooklist peut aussi être utilisé sur une
210 seul paquet grâve à l'option --pkg. L'option --forced peut être utilisée pour
211 recuire l'ensemble des dépendances de cuisson nécéssaires, même si elles sont
212 déjà disponible et à jour, exepté la chaîne d'outils (voir
213 SLITAZ_CORE_TOOLCHAIN dans /etc/slitaz/tazwok.conf) Sans argument, cook-list
214 utilise la liste de cuisson par défault, située dans le dossier 'package'
215 </p>
216 <pre>
217 # tazwok cook-list
218 # tazwok cook-list packages.cooklist --forced
219 # tazwok cook-list --pkg=firefox
220 </pre>
221 <p>
222 <a name="cook-commit"></a>
223 <h3>cook-commit</h3>
224 <p>
225 La commande 'cook-commit' cherche les paquets dont les
226 recettes/stuff/descriptions ont été modifiés et les met à jour en utilisant
227 cook. La recherche de changements utilise les données md5 (identification en
228 mesurant différentes caractéristiques des fichiers) des éléments utilisés lors
229 de la précédente cuisson des paquets. Ces informations sont conservés dans le
230 wok, si elles sont absentes elles sont obtenus depuis les paquets déjà
231 préparés. L'option --forced oblige check-commit à utiliser les données md5
232 depuis les paquets, ce qui est utile pour récupérer des information cohérentes
233 si vous aviez modifié les listes commit/cooklist manuellement (cas rare). Par
234 défaut, check-commit ne cible que les paquets qui sont déjà présents dans les
235 dépôts de paquets. L'option --missing permet de scanner la totalité du wok, et
236 d'ajouter tous les paquets qui n'ont pas encore été cuits à la liste.
237 </p>
238 <pre>
239 # tazwok cook-commit # Cuit les paquets qui ont besoin d'une mise à jour
240 # tazwok cook-commit --forced # Idem, en corrigeant d'éventuelles incohérence dans les données
241 # tazwok cook-commit --missing # Cuit les paquets qui ont besoin d'une mise à jour + les paquets manquants.
242 # tazwok cook-commit --missing --forced
243 </pre>
244 <a name="cook-all"></a>
245 <h3>cook-all</h3>
246 <p>
247 Le commande 'cook-all' permet de recuire tous des paquets du wok. Sans
248 options, elle est identique à cook-commit: recuit seulement les
249 paquets dont les receipts/description.txt/stuffs ont été
250 modifiés. L'option --missing a également le même effet que dans
251 cook-commit: ajoute tous les paquets qui n'ont pas encore été
252 préparés. La différence se situe dans l'option --forced: ici, elle
253 signifie recuire l'ensemble des paquets, même s'ils n'ont pas été mis
254 à jour depuis la dernière cuisson. Comme expliqué ci-dessous, le coeur
255 de la chaîne d'outils ne sera jamais recuite par cette commande.
256 </p>
257 <pre>
258 # tazwok cook-all # identique à tazwok cook-commit
259 # tazwok cook-all --missing # identique à tazwok cook-commit --missing
260 # tazwok cook-all --forced # recuit tous les paquets déjà existant dans votre dépôt, excepté le coeur de la chaîne d'outils
261 # tazwok cook-all --forced --missing # Recuit tous les paquets du wok, excepté le coeur de la chaîne d'outils
262 </pre>
263 <a name="cook-toolchain"></a>
264 <p>
265 Cook-toolchain est la commande dédiée à la cuisson des paquets qui permettent
266 la préparations de tous les autres. En effet, les paquets au coeur de la
267 chaîne d'outils (pour SliTaz linux-api-headers/glibc/binutils/gcc) ne
268 peuvent/doivent pas être cuits autrement dans SliTaz. Le processus de
269 préparation de la chaîne d'outils est particulier, et utilise le script
270 'cook-toolchain' de 'tazchroot'. La méthode employée est une adaptation de
271 celle présentée dans le livre <i lang="us">Linux From Scratch</i>: une
272 première chaîne d'outils temporaire et sans lien avec le matériel/système
273 utilisé est préparée, puis sert à la cuisson des paquets de la "verritable"
274 chaîne d'outils. Il est à noter que cette opération est assez longue
275 (plusieurs heures à plusieurs dizaines d'heures selon le matériel
276 utilisé). C'est la première étape à réaliser pour compiler SliTaz entièrement
277 depuis les sources.
278 </p>
279 <pre>
280 # tazwok cook-toolchain
281 </pre>
282 <a name="clean"></a>
283 <h3>clean</h3>
284 <p>
285 Clean permet simplement de supprimer tous les fichiers générés par la
286 compilation et l'empaquetage. Les différentes commandes 'cook' l'utilisent
287 automatiquement:
288 </p>
289 <pre>
290 # tazwok clean package
291 </pre>
292 <a name="new-tree"></a>
293 <h3>new-tree</h3>
294 <p>
295 La commande 'new-tree' permet de créer un nouveau paquet dans le wok et
296 peut s'utiliser de manière interactive. New-tree va créer le répertoire du
297 paquet et une recette modèle (receipt), cette recette peur être éditée avec
298 votre éditeur de texte préféré et peut se configurer via l'option
299 '--interactive'. Pour vous aider vous pouvez regarder des recettes existantes
300 et lire la documentation du Cookbook. Exemple d'utilisation :
301 </p>
302 <pre>
303 # tazwok new-tree package
304 # tazwok new-tree package --interactive
305 </pre>
306 <a name="edit"></a>
307 <h3>edit</h3>
308 <p>
309 Lance l'éditeur définit dans la configuration de tazwok (variable
310 EDITOR) pour éditer la recette du paquet précisé en argument.
311 </p>
312 <pre>
313 # tazwok edit sylpheed
314 </pre>
315 <a name="gen-list"></a>
316 <h3>gen-list</h3>
317 <p>
318 La commande 'gen-list' permet de générer une liste de paquets (packages.list),
319 leurs sommes md5 (packages.md5) et une liste de paquets contenant plus
320 d'informations (packages.txt). Les listes sont créées en se basant sur les
321 paquets contenus dans un répertoire. Vous avez la possibilité de spécifier le
322 répertoire à utiliser sur la ligne de commande. Si vous ne le faites pas, les
323 deux dépôts de paquets (permanent 'packages' et temporaire
324 'packages-incoming') seront ciblés. Dans la plupart des cas, 'check-list'
325 remplit la même fonction plus rapidement, donc 'gen-list' n'est réellement
326 utile qu'en cas de corruption des fichiers. Utilisation de la commande
327 'gen-list' :
328 </p>
329 <pre>
330 # tazwok gen-list
331 # tazwok gen-list /path/to/repository
332 </pre>
333 <a name="check-list"></a>
334 <h3>check-list</h3>
335 <p>
336 La commande 'check-list' remplit la même fonction que 'gen-list', mais elle
337 recherche les paquets dont les informations doivent être mises à jour. Pour
338 cette raison elle est généralement plus rapide, en particulier quand peu de
339 paquets ont été modifiés. Les commandes cook l'utilisent
340 automatiquement. Comme pour 'gen-list', si vous ne précisez pas de cible,
341 'packages' et 'packages-incoming' seront tout deux mise à jour.
342 </p>
343 <pre>
344 # tazwok check-list
345 # tazwok check-list /path/to/repository
346 </pre>
347 <a name="gen-wok-db"></a>
348 <h3>gen-wok-db</h3>
349 <p>
350 'wok-db' désigne des fichiers utilisés pour obtenir rapidement les
351 relations de dépendance entre les recettes. Ces informations sont
352 généralement ajoutées chaque fois que nécéssaire, et automatiquement,
353 par tazwok. 'gen-wok-db' sert à les ré-génerer en cas de corruption
354 des fichiers (ex: vous avez tué tazwok pendant qu'il générait
355 automatiquement ces fichiers).
356 </p>
357 <pre>
358 # tazwok gen-wok-db
359 </pre>
360 <a name="report"></a>
361 <h3>report</h3>
362 <p>
363 Affiche le contenue des listes:
364 commit/cooklist/broken/blocked, ou seulement de la liste demandée en
365 argument.
366 </p>
367 <pre>
368 # tazwok report
369 # tazwok report cooklist
370 </pre>
371 <a name="gen-clean-wok"></a>
372 <h3>gen-clean-wok et clean-wok</h3>
373 <p>
374 La commande 'gen-clean-wok' produit une copie du wok courant, sans les
375 fichiers liés à la compilation des paquets. Cette commande est utile
376 pour sauvegarder une version du wok ou copier un wok pour tester avec
377 un autre. Quand à la commande 'clean-wok', elle va nettoyer tous
378 les paquets du wok courant et supprimer tous les fichiers
379 générés. Pour récupérer un wok propre ou nettoyer le wok actuel :
380 </p>
381 <pre>
382 # tazwok gen-clean-wok path/to/new-wok
383 # tazwok clean-wok
384 </pre>
385 <a name="remove"></a>
386 <h3>remove</h3>
387 <p>
388 Supprime le paquet spécifié du wok, avec tous les fichiers, stuff et recette
389 y compris :
390 </p>
391 <pre>
392 # tazwok remove package
393 </pre>
394 <a name="build-depends"></a>
395 <h3>build-depends</h3>
396 <p>
397 Build-depends génère une liste de paquets nécessaires pour compiler le
398 wok. Avec un paquet en argument, elle affiche la liste complète des
399 dépendances de cuisson de ce paquet.
400 </p>
401 <pre>
402 # tazwok build-depends
403 # tazwok build-depends midori
404 </pre>
405 <a name="check-commit"></a>
406 <h3>check-commit</h3>
407 <p>
408 'check-commit' scanne le wok pour trouver les recettes qui ont été modifiée et
409 les ajoute à la cooklist par défault. Les options --forced et --missing jouent
410 ici le même rôle que pour cook-commit.
411 </p>
412 <pre>
413 # tazwok check-commit
414 # tazwok check-commit --forced
415 # tazwok check-commit --missing
416 </pre>
417 <a name="check"></a>
418 <h3>check</h3>
419 <p>
420 Recherche les erreurs courantes dans les receipts :
421 </p>
422 <pre>
423 # tazwok check
424 </pre>
425 <a name="update-wok"></a>
426 <h3>update-wok</h3>
427 <p>
428 'update-wok' télécharge ou met à jour le wok contenu dans le dossier
429 clean-wok du dépôt. Ensuite, il copie les éléments nouveaux dans le
430 wok de cuisson (dossier wok) et retirer ceux qui n'existent plus dans
431 la nouvelle version. Les adresses et la méthode (tarball ou hg)
432 utilisée par cette commande sont définie dans tazwok.conf. L'option
433 --local permet d'effectuer seulement la seconde opération (copie des
434 fichiers dans le wok). Cela est utile si vous avez apporté des
435 modifications locales dans le clean-wok et voulez les ajouter à votre
436 wok de cuisson. Ceci est praticulièrement pratique pour les
437 utilisateurs de mercurial (hg), puisque cet outils est beaucoup plus
438 rapide avec un wok qui ne contient aucun fichiers liés à la
439 compilation. Dans ce cas, effectuer les modifications dans le
440 clean-wok puis: tazwok update-wok --local.
441 </p>
442 <pre>
443 # tazwok update-wok
444 # tazwok update-wok --local
445 </pre>
446 <a name="webserver"></a>
447 <p>
448 <h3>webserver</h3> 'webserver' est la commande qui permet de créer une
449 interface php qui informe sur l'états des dépôts. Plusieurs dépôts
450 peuvent être ajoutés/retirés en utilisant les options
451 --SLITAZ_VERSION/--undigest. L'argument 'on' permet d'ajouter un dépôt
452 à l'interface web, tandis que l'option 'off' le retire (au cas par
453 cas). En utilisant la configuration par défaut, l'interface sera
454 disponible dans votre navigateur à l'adresse
455 http://localhost/vhosts/bb/. Le paquet 'php' doit être installé pour
456 utiliser cette commande.
457 </p>
458 <pre>
459 # tazwok webserver on
460 # tazwok webserver off
461 <pre>
463 <h2>MAINTENEUR</h2>
464 <p>
465 Antoine Bodin &lt;gokhlayeh at slitaz.org&gt;
466 </p>
468 <!-- End content -->
469 </div>
470 </body>
471 </html>