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

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