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 & 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 & 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>
|