cookutils diff doc/cookutils.fr.html @ rev 979
lighttpd/index.cgi: try to improve links in the top "Debug information" block.
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Tue Oct 17 14:25:04 2017 +0300 (2017-10-17) |
parents | |
children | dc3ff2ae7314 |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/doc/cookutils.fr.html Tue Oct 17 14:25:04 2017 +0300 1.3 @@ -0,0 +1,436 @@ 1.4 +<!DOCTYPE html> 1.5 +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr"> 1.6 +<head> 1.7 + <meta charset="utf-8" /> 1.8 + <title>Documentation de Cookutils</title> 1.9 + <link rel="stylesheet" type="text/css" href="../slitaz-doc.css" /> 1.10 + <script type="text/javascript" src="../slitaz-doc.js"></script> 1.11 +</head> 1.12 +<body> 1.13 + 1.14 +<header> 1.15 + <h1>Documentation de Cookutils</h1> 1.16 +</header> 1.17 + 1.18 +<!-- Start content --> 1.19 +<div id="content"> 1.20 + 1.21 +<h2>SliTaz Cook & Cooker</h2> 1.22 + 1.23 +<p> 1.24 + Les Cookutils SliTaz fournissent les outils et utilitaires pour 1.25 + faciliter la construction de paquets SliTaz. Ils sont faciles à 1.26 + utiliser et à apprendre, rapides et légers. Vous pourrez créer 1.27 + des paquets SliTaz avec quelques commandes. Les Cookutils fournissent 1.28 + l'utilitaire 'cook' et le <a href="#cooker">Cooker</a>. 1.29 +</p> 1.30 +<p> 1.31 + Cook vous permet de créer et de compiler un paquet, fournit un 1.32 + fichier journal et vérifie la qualité du paquet et de la recette. 1.33 + Le Cooker est un robot de fabrication avec plus d'automatismes et 1.34 + peut être utilisé comme outil de fabrication car il fournit 1.35 + une interface CGI/Web qui vous parmet de voir des journaux de 1.36 + cuisson agréables et coloriés. Cook et le Cooker se servent des 1.37 + mêmes wok et base de fichiers, il partagent les paquets 1.38 + <a href="#blocked">bloqués</a> et cassés tout comme leur activité. 1.39 +</p> 1.40 +<p> 1.41 + Pour toute information technique, par exemple le style de codage, etc, 1.42 + veuillez vous référer au README qui se trouve dans les fichiers 1.43 + source ou dans /usr/share/doc/cookutils. 1.44 +</p> 1.45 + 1.46 +<h3>Usage de Cook</h3> 1.47 +<p> 1.48 + Cook donne une aide intégrée succinte que vous pouvez afficher 1.49 + avec la commande 'usage'. Il a aussi quelques options pour faire 1.50 + des tâches spécifiques avant ou après la cuisson. Pour avoir 1.51 + l'aide et l'usage : 1.52 +</p> 1.53 +<pre> 1.54 +# cook usage 1.55 +</pre> 1.56 + 1.57 +<h3>Comment faire</h3> 1.58 +<p> 1.59 + La première chose à faire avant de cuire des paquets est de 1.60 + configurer votre environnement. Les 2 façons recommendées de 1.61 + travailler : cuire directement sur l'hôte ou cuire dans un chroot 1.62 + pour protéger votre hôte. Dans le cas où vous voulez travailler 1.63 + dans un chroot vous pouvez installer et utiliser Tazdev pour en 1.64 + créer un et vous placer à l'intérieur : 1.65 +</p> 1.66 +<pre> 1.67 +# tazdev gen-chroot && tazdev chroot 1.68 +</pre> 1.69 +<p> 1.70 + Par défaut Tazdev crée un chroot dans /home/slitaz/cooking/chroot 1.71 + mais vous pouvez spécifier un chemin quelconque en argument. L'endroit 1.72 + du chroot n'est pas important, lorsque vous serez dans le chroot vous 1.73 + utiliserez des chemins standards de SliTaz comme /home/slitaz/wok pour 1.74 + de répertoire du wok ou /home/slitaz/log pour tous les journaux de 1.75 + cuisson. Comme toujours vous pouvez afficher l'aide de tazdev avec : 1.76 + tazdev usage. 1.77 +</p> 1.78 +<p> 1.79 + Lorsque vous utilisez un chroot il y a 2 répertoires spéciaux montés 1.80 + avec l'option bind : src et packages. Les sources pour tous les paquets 1.81 + sont stockés par défaut dans /home/slitaz/src, ce répertoire est 1.82 + monté dans le chroot pour que les outils puissient l'utiliser. 1.83 + Cette méthode vous permet de partager les sources avec plusieurs 1.84 + chroots par exemple un pour cooking et un pour stable. Le répertoire 1.85 + par défaut est : /home/slitaz/[version]/packages ainsi ils ne sont pas 1.86 + dans le chroot et ne sont pas affectés si le chroot est effacé par 1.87 + erreur. 1.88 +</p> 1.89 + 1.90 +<h3>Pour commencer</h3> 1.91 +<p> 1.92 + Donc vous avez décidé de la façon dont vous voulez travailler, alors préparons 1.93 + l'environnement de cuisson. Cook se sert du fichier de configuration cook.conf, 1.94 + si vous voulez utiliser des chemins inhabituels pour les répertoires et fichiers 1.95 + SliTaz, vous devez le modifier. Le paramétrage va créer quelques répertoires 1.96 + et fichiers pour garder une trace de la l'activité et des erreurs, tous les 1.97 + fichiers sont des fichiers textes simples que vous pouvez ouvrir dans un 1.98 + éditeur de texte. Pour préparer votre environnement : 1.99 +</p> 1.100 +<pre> 1.101 +# cook setup 1.102 +</pre> 1.103 +<p> 1.104 + La commande de paramétrage à une option --wok qui vous permet de cloner un 1.105 + wok SliTaz pendant la creation de l'environnement de cuisson. Même si vous 1.106 + n'êtes pas un développeur officiel vous pouver le cloner et utiliser les 1.107 + paquets existants comme exemple pour créer le vôtre. 1.108 + Pour paramétrer et cloner le wok cooking ou le wok undisgest par défaut ; 1.109 +</p> 1.110 +<pre> 1.111 +# cook setup --wok 1.112 +# cook setup --undigest 1.113 +</pre> 1.114 + 1.115 +<h3>Testez votre environnement</h3> 1.116 +<p> 1.117 + Cook fournit une commande de test qui crée un paquet et le cuit. Cela vous 1.118 + permet de voir si votre environnement fonctionne et donne un paquet exemple 1.119 + avec une recette. Le paquet s'appelle 'cooktest' et peut être retiré après 1.120 + avoir été testé. Pour cuire le paquet de test : 1.121 +</p> 1.122 +<pre> 1.123 +# cook test 1.124 +</pre> 1.125 + 1.126 +<h3>Créer et cuire</h3> 1.127 +<p> 1.128 + Si votre environnement est correctement paramétré vous pouvez commencer 1.129 + à créer et compiler des paquets SliTaz depuis votre wok. Pour créer un 1.130 + nouveau pqauet avec une recette vide (vous pouvez aussi créer une recette 1.131 + interactivement) : 1.132 +</p> 1.133 +<pre> 1.134 +# cook new pkgname 1.135 +# cook new pkgname --interactive 1.136 +</pre> 1.137 +<p> 1.138 + Si vous venez de créer un nouveau paquet, vous devrez éditer le recette avec 1.139 + votre éditeur de texte favori. Alors la recette est prête ou si vous avez 1.140 + déjà un paquet existant, vous pouvez le cuire : 1.141 +</p> 1.142 +<pre> 1.143 +# cook pkgname 1.144 +</pre> 1.145 +<p> 1.146 + Si tout c'est bien passé vous trouverez votre paquet dans le répertoire 1.147 + $SLITAZ/packages et tous les fichiers produits dans $SLITAZ/wok/pkgname. 1.148 +</p> 1.149 + 1.150 +<h3>Cuire et installer</h3> 1.151 +<p> 1.152 + Si vous voulez cuire et installer le paquet en une commande : 1.153 +</p> 1.154 +<pre> 1.155 +# cook pkgname --install 1.156 +</pre> 1.157 + 1.158 +<h3>Obtenir les sources</h3> 1.159 +<p> 1.160 + Si vous voulez ou avez besion de seulement télécharger les sources d'un 1.161 + paquet sans le fabriquer, vous pouvez utiliser l'option --getsrc comme suit : 1.162 +</p> 1.163 +<pre> 1.164 +# cook pkgname --getsrc 1.165 +</pre> 1.166 + 1.167 +<h3>Nettoyer les paquets</h3> 1.168 +<p> 1.169 + Après compilation et empaquetage il y a plusieurs fichiers dans le wok qui 1.170 + prennent de la place disque. Pour nettoyer un pqauet unique : 1.171 +</p> 1.172 +<pre> 1.173 +# cook pkgname --clean 1.174 +</pre> 1.175 +<p> 1.176 + Vous pouvez aussi nettoyer le wok en entier ou vous pouvez choisir de garder 1.177 + les fichiers SliTaz et seulement retirer les sources : 1.178 +</p> 1.179 +<pre> 1.180 +# cook clean-wok 1.181 +# cook clean-src 1.182 +</pre> 1.183 + 1.184 +<h3>Recherche</h3> 1.185 +<p> 1.186 + Cook fournit une fonction de recherche simple pour trouver rapidement un 1.187 + paquet dans le wok. Elle utilise grep et supporte des expressions régulières : 1.188 +</p> 1.189 +<pre> 1.190 +# cook search busybox 1.191 +</pre> 1.192 + 1.193 +<h3>Functions de la recette</h3> 1.194 +<p> 1.195 + Beaucoup de paquets fournissent le même genre de fichiers comme les 1.196 + paquets *-dev avec les librairies statiques, les fichiers pkgconfig et 1.197 + les entêtes pour includes. Alors cook fournit une fonction à utiliser 1.198 + dans la recette : 1.199 +</p> 1.200 +<pre> 1.201 +get_dev_files : Install /usr/lib/{lib.*a,pkgconfig} /usr/include 1.202 +</pre> 1.203 + 1.204 +<h3>Liste de paquets</h3> 1.205 +<p> 1.206 + Cook peut lister les paquets dans le wok et ainsi créer une liste de paquets 1.207 + adaptée pour Tazpkg. Cela vous permet de créer votre dépôt de paquets assez 1.208 + facilement et c'est utiilisé pour créer la liste offcielle des paquets Slitaz 1.209 + sur les miroirs. Pour lister le wok actuellement utilisé par cook (il n'est 1.210 + pas nécessaire d'être root) : 1.211 +</p> 1.212 +<pre> 1.213 +$ cook list-wok 1.214 +</pre> 1.215 +<p> 1.216 + En créant la base (ou liste) de paquets, cook va vérifier si vous avez un 1.217 + dépôt de saveurs dans /home/slitaz/flavors ; si c'est la cas il va emballer 1.218 + toutes les saveurs en utilisant la dernière liste de paquets disponible. 1.219 + Pour créer une liste de paquets et les fichers de saveurs : 1.220 +</p> 1.221 +<pre> 1.222 +# cook pkgdb 1.223 +</pre> 1.224 + 1.225 +<h3 id="cooker">Le Cooker</h3> 1.226 +<p> 1.227 + Le Cooker est un robot de compilation, sa première fonction est de rechercher 1.228 + les commits dans le wok, créer une liste ordonnée et cuire tous les paquets 1.229 + modifiés. Il peut aussi être utilisé comme interface pour cook car ils 1.230 + utilisent les mêmes fichiers. Le Cooker peut aussi être utilisé pour cuire 1.231 + une longue liste de paquets en une fois comme tous les paquets d'une saveur. 1.232 + Le cooker fournit une interface CGI/Web agréable qui fonctionne par défaut 1.233 + sur n'importe quel système SliTaz car il fournit le support CGI via le serveur 1.234 + httpd de busybox. 1.235 +</p> 1.236 +<p> 1.237 + Le Cooker fournit une aide intégrée succinte et quelques commandes. 1.238 + Par exemple pour afficher l'usage vous pouvez faire : 1.239 +</p> 1.240 +<pre> 1.241 +# cooker usage 1.242 +# cooker -u 1.243 +</pre> 1.244 + 1.245 +<h3>Paramétrage du Cooker</h3> 1.246 +<p> 1.247 + Tout comme cook, le Cooker a besoin d'un environnement fonctionnel avant de 1.248 + commencer à l'utiliser. Le principale différence avec l'environnement de 1.249 + cook est que le Cooker a besoin de 2 woks. Un wok Hg propre comme référence 1.250 + et un wok de fabrication. De cette façon il est facile de comparer les 2 woks 1.251 + et d'obtenir les modifications. SI vous avez déjà un environnement pour cook, 1.252 + vous devez déplacer votre wok avant de paramétrer le Cooker ou il s'en 1.253 + plaindra. Le paramétrage installera aussi un ensemble de paquets de 1.254 + développement qui peuvent être définis dans le fichiers de configuration 1.255 + cook.conf avec la variable SETUP_PKGS. Pour paramétrer votre environnement 1.256 + cooker : 1.257 +</p> 1.258 +<pre> 1.259 +# cooker setup 1.260 +</pre> 1.261 +<p> 1.262 + Si tout ce passe correctement vous avez maintenant 2 woks, les paquets de 1.263 + developpement de base installés et tous les fichiers nécessaires créés. 1.264 + Le comportement par défaut est de rechercher les commits, vous pouvez lancer 1.265 + un test : 1.266 +</p> 1.267 +<pre> 1.268 +# cooker 1.269 +</pre> 1.270 + 1.271 +<h3>Cuire avec le Cooker</h3> 1.272 +<p> 1.273 + Encore 2 façons de travailler maintenant : faire des modifications dans 1.274 + le nouveau wok Hg et lancer le cooker sans arguments ou cuire les paquets 1.275 + manuellement. Le cooker vous permet de cuire un paquet unique ou tous les 1.276 + paquets d'un catégorie ou d'une saveur. Vous pouvez aussi essayer de 1.277 + fabriquer tous les paquets non construits, mais sachez que le Cooker n'a 1.278 + pas été fait pour gérer des milliers de paquets. 1.279 +</p> 1.280 +<p> 1.281 + Pour cuire un paquet unique comme 'cook pkgname' mais avec un journal en plus : 1.282 +</p> 1.283 +<pre> 1.284 +# cooker pkg pkgname 1.285 +</pre> 1.286 +<p> 1.287 + Pour cuire plus d'un paquet vous avez différentes possibilités. 1.288 + Vous pouvez utiliser un paquet existant comme ceux des saveurs live, 1.289 + vous pouvez aussi utiliser une liste personnelle avec des noms de paquet 1.290 + à chaque ligne. Enfin vous pouvez construire tous les paquets d'un catégorie. 1.291 +</p> 1.292 +<pre> 1.293 +# cooker flavor [name] 1.294 +# cooker list [/path/to/cooklist] 1.295 +# cooker cat [category] 1.296 +</pre> 1.297 +<p> 1.298 + Le cooker vous permet de recuire une révision spécifique de Hg. C'est 1.299 + utile en production ainsi si le robot de fabrication est interrompu 1.300 + pendant des commits en cooking, vous pouvez cuire les paquets à la main : 1.301 +</p> 1.302 +<pre> 1.303 +# cooker rev 9496 1.304 +</pre> 1.305 + 1.306 +<h3 id="blocked">Le paquets bloqués</h3> 1.307 +<p> 1.308 + Cook et le Cooker gèrent un fichier contenant la liste des paquets bloqués 1.309 + afin de ne pas les cuire lors de commits ou si une liste de cuission est utilisée. 1.310 + C"est très utile pour un Robot de fabrication en production. Lorsque vous 1.311 + bloquez ou débloquez un paquet vous pouvez ajouter une note dans les cooknotes. 1.312 + Exemple de blocage de paquet : 1.313 +</p> 1.314 +<pre> 1.315 +# cook pkgname --block 1.316 +# cooker block pkgname 1.317 +# cooker -n "Blocked pkgname note" 1.318 +</pre> 1.319 +<p> 1.320 + La liste des paquets bloqués est affichée dans l'interface Web du Cooker. 1.321 + Pour débloquer un paquet vous devez utiliser la commande unblock ou l'option 1.322 + cook --unblock : 1.323 +</p> 1.324 +<pre> 1.325 +# cook pkgname --unblock 1.326 +# cooker unblock pkgname 1.327 +</pre> 1.328 + 1.329 +<h3>Cooker CGI/Web</h3> 1.330 +<p> 1.331 + Pour que vous puissiez voir les journaux de façon agréable, garder une 1.332 + trace de l'activité et vous aider à trouver les erreurs, vous pouvez 1.333 + utiliser l'interface Web du Cooker qui se trouve par défaut dans le dossier 1.334 + /var/www/cooker. Si vous n'utilisez pas un chroot et que le démon httpd de 1.335 + Busybox est lancé, l'interface Web fonctionnera sans configuration et sera 1.336 + visible en <a href="http://localhost/cooker/cooker.cgi"> 1.337 + http://localhost/cooker/cooker.cgi</a> 1.338 +</p> 1.339 +<p> 1.340 + Si vous utilisez un environnement de chroot, vous devriez aussi installer 1.341 + cookutils sur votre hôte et modifier la variable de chemin SLITAZ. 1.342 + Une façon standard est d'avoir un chroot dans : 1.343 +</p> 1.344 +<pre> 1.345 +/home/slitaz/cooking/chroot 1.346 +</pre> 1.347 +<p> 1.348 + Avec /etc/slitaz/cook.conf modifié comme suit : 1.349 +</p> 1.350 +<pre> 1.351 +SLITAZ="/home/slitaz/cooking/chroot/home/slitaz" 1.352 +</pre> 1.353 +<p> 1.354 + Note : il n'est pas obligatoire d'installer les cookutils sur votre hôte 1.355 + pour utiliser l'interface Web. Si vous utilisez Lighttpd vous pouvez aussi 1.356 + copier les fichiers cooker.cgi et style.css par exemple dans votre dossier 1.357 + ~/Public et utiliser un cook.conf perso avec. L'avantage d'installer 1.358 + cookutils sur l'hôte est d'avoir des mise à jour régulières par le 1.359 + gestionnaire de paquets Tazpkg. Disons que vous avez cloné ou téléchargé 1.360 + les cookutils : 1.361 +</p> 1.362 +<pre> 1.363 +$ cp -a cookutils/web ~/Public/cgi-bin/cooker 1.364 +$ cp -f cookutils/cook.conf ~/Public/cgi-bin/cooker 1.365 +</pre> 1.366 +<p> 1.367 + Editez le fichier de configuration : ~/Public/cgi-bin/cooker/cook.conf pour 1.368 + mettre votre chemin SLITAZ et c'est tout ! 1.369 +</p> 1.370 + 1.371 +<h3>Cooknotes</h3> 1.372 +<p> 1.373 + Le fonction cooknotes vous permet d'écrire de courtes notes personnelles 1.374 + au sujet de l'emballage et est utile pour travailler en groupe. Les 1.375 + cooknotes ont été codées pour que les mainteneur du Robot de fabrication 1.376 + de SliTaz partagent des informations avec les autres contributeurs. 1.377 + Les cooker peut bloquer la fabrication d'un paquet et recuire des paquets 1.378 + à la main, par exemple il est commode de faire une note si un paquet est 1.379 + bloqué afin que le mainteneur sache pourquoi l'administrateur a fait cela. 1.380 + Les cooknotes sont affichées dans l'interface Web et peuvent être vérifiées 1.381 + depuis la ligne de commande : 1.382 +</p> 1.383 +<pre> 1.384 +# cooker note "Blocked pkgname due to heavy CPU load" 1.385 +# cooker notes 1.386 +</pre> 1.387 + 1.388 +<h3>Le Cooker comme robot de fabrication</h3> 1.389 +<p> 1.390 + Le Cooker est conçu pour être le robot de fabrication de SliTaz, c'est à 1.391 + dire qu'il contrôle 2 woks, met à jour le wok Hg, obtient les différences 1.392 + et cuit tous les paquets qui ont été commités. La façon la plus sûre 1.393 + et la plus propre de lancer le Cooker comme robot de fabrication avec cron 1.394 + est d'utiliser un environnement de chroot, mais il peut tourner directement 1.395 + sur l'hôte si vous le voulez. 1.396 +</p> 1.397 +<p> 1.398 + Pour lance de Cooker automatiquement vous devez utiliser crom depuis le chroot 1.399 + et ajouter un ligne dans le crontab de root dans /var/spool/cron/crontabs. 1.400 + Disons que vous souhaitez lancer le Cooker toutes les 2 heures : 1.401 +</p> 1.402 +<pre> 1.403 +* */2 * * * /usr/bin/cooker 1.404 +</pre> 1.405 + 1.406 +<h3>Lancer le Robot Cooker au boot</h3> 1.407 +<p> 1.408 + L'environnement du Cooker et la tâche cron peut être automatiquement 1.409 + lancée au démarrage. Vous devez avoir installé le paquet 1.410 + cookutils-daemon sur l'hôte et utiliser une installation standard 1.411 + SliTaz pour qu'il fonctionne correctement (la cooking se trouve 1.412 + dans /home/slitaz/cooking). Ce script va monter les systèmes de 1.413 + fichiers virtuels nécessaires pour les sources et les paquets. 1.414 + Les fichiers sources se trouvent dans /home/slitaz/src et sont 1.415 + reliés au chroot pour que vous puissiez les partager entre plusieurs 1.416 + version (stable, cooking, undigest). Si ce paquet n'est pas encore 1.417 + installé : 1.418 +</p> 1.419 +<pre> 1.420 +# tazpkg get-install cookutils-daemon 1.421 +</pre> 1.422 +<p> 1.423 + Pour lancer le daemon vous devez avoir une définition de ficher cron pour 1.424 + root dans le chroot, le script daemon fonctionne comme tous les autres 1.425 + daemons système et peut être controllé avec : 1.426 +</p> 1.427 +<pre> 1.428 +# /etc/init.d/cooker [start|stop|restart] 1.429 +</pre> 1.430 + 1.431 +<!-- End content --> 1.432 +</div> 1.433 + 1.434 +<footer> 1.435 + Copyright © <span class="year"></span> <a href="http://www.slitaz.org/">SliTaz GNU/Linux</a> 1.436 +</footer> 1.437 + 1.438 +</body> 1.439 +</html>