cookutils rev 896

created doc/cookutils.de.html
author Hans-G?nter Theisgen
date Fri Apr 21 21:24:26 2017 +0100 (2017-04-21)
parents db8f7638ad59
children fe29568da760
files doc/cookutils.de.html
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/doc/cookutils.de.html	Fri Apr 21 21:24:26 2017 +0100
     1.3 @@ -0,0 +1,422 @@
     1.4 +<!DOCTYPE html>
     1.5 +<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
     1.6 +<head>
     1.7 +	<meta charset="utf-8" />
     1.8 +	<title>Kochwerkzeuge-Handbuch</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>Kochwerkzeuge-Handbuch</h1>
    1.16 +</header>
    1.17 +
    1.18 +<!-- Start content -->
    1.19 +<div id="content">
    1.20 +
    1.21 +<h2>SliTaz „Cook“ &amp; „Cooker“</h2>
    1.22 +
    1.23 +<p>
    1.24 +	Die SliTaz-Kochwerkzeuge dienen zum Erzeugen von Paketen im SliTaz-eigenen Format. Sie
    1.25 +	sind schnell, genügsam, leicht zu erlernen und zu benutzen. Das Erstellen von Paketen für SliTaz
    1.26 +	erfordert nur wenige Kommandos. Die Kochwerkzeuge enthalten „Cook“ und 
    1.27 +	<a href="#cooker">„Cooker“</a>.
    1.28 +</p>
    1.29 +<p>
    1.30 +	Mit <code>cook</code> kann ein Paket aus den Quellen übersetzt und gepackt werden; dabei wird eine
    1.31 +	Protokolldatei erstellt. Die Qualität des Rezeptes und des Paketes kann geprüft werden.
    1.32 +	„Cooker“ ist ein Kompilierungsautomat, der als Benutzerschnittstelle mit einer Weboberfläche
    1.33 +	für <code>cook</code> verwendet werden kann. Damit können auch die Protokolldateien
    1.34 +	farbig aufbereitet angesehen werden. „Cook“ und „Cooker“
    1.35 +	greifen auf dieselben Datenbankdateien und denselben Wok zu, sie haben <a href="#blocked">gesperrte</a>
    1.36 +	und defekte Pakete wie auch alle Aktivitäten gemeinsam.
    1.37 +</p>
    1.38 +<p>
    1.39 +	Technische Details, wie etwa die Programmierung usw., sind in der Datei
    1.40 +	<code>/usr/share/doc/cookutils/README</code> beschrieben.
    1.41 +</p>
    1.42 +
    1.43 +<h3>„Cook“-Anwendung</h3>
    1.44 +<p>
    1.45 +	„Cook“ enthält eine Kurzanleitung, die mit
    1.46 +	<code>cook usage</code> ausgegeben werden kann. Es können auch Optionen angegeben werden, mit
    1.47 +	denen besondere Arbeiten vor oder nach der Paketerzeugung ausgeführt werden.
    1.48 +	Anzeige der Kurzanleitung:
    1.49 +</p>
    1.50 +<pre>
    1.51 +# cook usage
    1.52 +</pre>
    1.53 +
    1.54 +<h3>Praktische Anleitung</h3>
    1.55 +<p>
    1.56 +	Bevor Pakete erzeugt werden können, muss zunächst die Umgebung dafür eingerichtet werden.
    1.57 +	Es gibt zwei Möglichkeiten für die Paketerzeugung: direkt auf dem Rechner, an dem Sie
    1.58 +	angemeldet sind oder in einer „chroot“-Umgebung zum Schutz der Dateien Ihres Rechners vor
    1.59 +	ungewollten Veränderungen. Wenn Sie in einer „chroot“-Umgebung arbeiten wollen,
    1.60 +	können Sie <code>tazdev</code> installieren und benutzen: 
    1.61 +</p>
    1.62 +<pre>
    1.63 +# tazdev gen-chroot &amp;&amp; tazdev chroot
    1.64 +</pre>
    1.65 +<p>
    1.66 +	Standardmäßig erzeugt tazdev eine „chroot“-Umgebung in <code>/home/slitaz/cooking/chroot</code>,
    1.67 +	aber Sie können auch einen Pfad als Parameter angeben. Der Ort für die „chroot“-Umgebung ist
    1.68 +	unwichtig; wenn in die „chroot“-Umgebung gewechselt wurde, werden Standard-SliTaz-Pfade
    1.69 +	wie z.B. <code>/home/slitaz/wok</code> für den Wok oder <code>/home/slitaz/log</code>
    1.70 +	für die Generierungsprotokolle verwendet. Wie üblich kann eine Kurzanleitung ausgegeben werden mit:
    1.71 +<pre>
    1.72 +$ tazdev usage
    1.73 +</pre>
    1.74 +</p>
    1.75 +<p>
    1.76 +	Wenn Sie eine „chroot“-Umgebung verwenden, gibt es zwei besondere Verzeichnisse, die mit der
    1.77 +	bind-Option eingehängt sind: <code>src</code> und <code>packages</code>. Die Quellarchive aller Pakete
    1.78 +	werden standardmäßig im Verzeichnis <code>/home/slitaz/src</code> abgelegt. Dieses Verzeichnis
    1.79 +	wird in der „chroot“-Umgebung eingehängt, so dass die Programme darauf zugreifen können.
    1.80 +	Dadurch können Quellprogramme von mehreren „chroot“-Umgebungen gemeinsam benutzt werden,
    1.81 +	etwa einer für die Entwicklungsversion und einer für die stabile Version. Das Verzeichnis für die
    1.82 +	fertigen Pakete ist standardmäßig <code>/home/slitaz/[version]/packages</code>, also nicht in einer
    1.83 +	„chroot“-Umgebung, wo sie sicher aufbewahrt sind für den Fall, dass die „chroot“-Umgebung
    1.84 +	versehentlich verlassen wird.
    1.85 +</p>
    1.86 +
    1.87 +<h3>Einrichten der Umgebung</h3>
    1.88 +<p>
    1.89 +	Wenn Sie sich für eine der Möglichkeiten entschieden haben, kann die Umgebung für <code>cook</code>
    1.90 +	eingerichtet werden.
    1.91 +	„Cook“ verwendet die Konfigurationsdatei <code>cook.conf</code>. Wenn andere als die Standardpfade
    1.92 +	der Verzeichnisse und Dateien verwendet werden sollen, müssen diese dort eingetragen werden.
    1.93 +	Mit <code>setup</code> werden einige Verzeichnisse und Dateien erzeugt,
    1.94 +	in denen Aktivitäten und Fehler festgehalten werden. Alle Dateien sind einfache Textdateien,
    1.95 +	die mit einem Texteditor betrachtet werden können. Die Umgebung wird eingerichtet mit:
    1.96 +</p>
    1.97 +<pre>
    1.98 +# cook setup
    1.99 +</pre>
   1.100 +<p>
   1.101 +	Bei <code>setup</code> kann mit der Option <code>--wok</code> bestimmt werden, dass beim Einrichten
   1.102 +	der Umgebung der Wok <code>wok</code> aus dem SliTaz-Mercurial-Depot dupliziert werden soll.
   1.103 +	Auch wenn Sie kein offizieller Entwickler sind, können Sie den Wok duplizieren und darin
   1.104 +	enthaltene Pakete als Muster für Ihre eigenen Pakete verwenden.
   1.105 +	Mit den folgenden Kommandos wird die Umgebung eingerichtet und der Entwicklungswok bzw. der
   1.106 +	inoffizielle Wok dupliziert:
   1.107 +</p>
   1.108 +<pre>
   1.109 +# cook setup --wok
   1.110 +# cook setup --undigest
   1.111 +</pre>
   1.112 +
   1.113 +<h3>Testen der Umgebung</h3>
   1.114 +<p>
   1.115 +	„Cook“ bietet die Möglichkeit, die Umgebung zu testen, indem ein Paket erzeugt wird. Damit können
   1.116 +	Sie feststellen, ob Ihre Umgebung funktionsfähig ist, und Sie haben ein Beispielpaket mit einem
   1.117 +	Rezept. Dieses Pseudo-Paket heisst <code>cooktest</code> und kann nach dem Test entfernt werden.
   1.118 +	Der Test wird ausgeführt mit:
   1.119 +</p>
   1.120 +<pre>
   1.121 +# cook test
   1.122 +</pre>
   1.123 +
   1.124 +<h3>Paket erzeugen</h3>
   1.125 +<p>
   1.126 +	Wenn die Umgebung korrekt eingerichtet ist, können neue Pakete für SliTaz aus dem Wok erzeugt werden.
   1.127 +	Mit dem folgenden Kommando wird ein neues Paket mit einem leeren Rezept definiert:
   1.128 +<pre>
   1.129 +# cook new <em>pkgname</em>
   1.130 +</pre>
   1.131 +	Mit dem folgenden Kommando wird ein neues Paket definiert, wobei das Rezept interaktiv erstellt wird:
   1.132 +<pre>
   1.133 +# cook new <em>pkgname</em> --interactive
   1.134 +</pre>
   1.135 +</p>
   1.136 +<p>
   1.137 +	Wenn Sie ein neues Paket mit leerem Rezept definiert haben, muss das Rezept mit einem Texteditor
   1.138 +	bearbeitet werden. Wenn das Rezept fertig ist, oder wenn das Paket schon existierte, kann es
   1.139 +	anschließend erstellt werden:
   1.140 +</p>
   1.141 +<pre>
   1.142 +# cook <em>pkgname</em>
   1.143 +</pre>
   1.144 +<p>
   1.145 +	Wenn alles gut ging, befindet sich das Paket im Verzeichnis <code>$SLITAZ/packages</code>
   1.146 +	und weitere erzeugte Dateien im Verzeichnis <code>$SLITAZ/wok/<em>pkgname</em></code>.
   1.147 +</p>
   1.148 +
   1.149 +<h3>Paket erzeugen und installieren</h3>
   1.150 +<p>
   1.151 +	Wenn das Paket erzeugt und anschließend auch installiert werden soll, geht das mit:
   1.152 +</p>
   1.153 +<pre>
   1.154 +# cook <em>pkgname</em> --install
   1.155 +</pre>
   1.156 +
   1.157 +<h3>Paketquellen transferieren</h3>
   1.158 +<p>
   1.159 +	Wenn Sie nur die Quelldateien eines Paketes benötigen, aber das Paket nicht erstellen wollen,
   1.160 +	können Sie die Option <code>getsrc</code> verwenden:
   1.161 +</p>
   1.162 +<pre>
   1.163 +# cook <em>pkgname</em> --getsrc
   1.164 +</pre>
   1.165 +
   1.166 +<h3>Wok aufräumen</h3>
   1.167 +<p>
   1.168 +	Nach dem Erzeugen und Packen eines Paketes enthält der Wok verschiedene Dateien, die
   1.169 +	Plattenplatz belegen. Diese Dateien eines einzelnen Paketes können gelöscht werden mit:
   1.170 +</p>
   1.171 +<pre>
   1.172 +# cook <em>pkgname</em> --clean
   1.173 +</pre>
   1.174 +<p>
   1.175 +	Es können auch die Dateien aller Pakete aus dem Wok entfernt werden, oder nur die Quelldateien:
   1.176 +</p>
   1.177 +<pre>
   1.178 +# cook clean-wok
   1.179 +# cook clean-src
   1.180 +</pre>
   1.181 +
   1.182 +<h3>Suchen im Wok</h3>
   1.183 +<p>
   1.184 +	„Cook“ bietet auch eine einfache Suchfunktion, um schnell ein Paket im Wok zu finden.
   1.185 +	Diese verwendet <code>grep</code> und unterstützt damit reguläre Ausdrücke:
   1.186 +</p>
   1.187 +<pre>
   1.188 +# cook search busybox
   1.189 +</pre>
   1.190 +
   1.191 +<h3>Rezept-Funktionen</h3>
   1.192 +<p>
   1.193 +	Viele Pakete, so wie die *-dev-Pakete, enthalten gleichartige Dateien wie
   1.194 +	statische Bibliotheken, pkgconfig-Dateien und include-Dateien. Dafür bietet <code>cook</code>
   1.195 +	eine Funktion, die im Rezept verwendet werden kann:
   1.196 +</p>
   1.197 +<pre>
   1.198 +get_dev_files     : Install /usr/lib/{lib.*a,pkgconfig} /usr/include
   1.199 +</pre>
   1.200 +
   1.201 +<h3>Liste der Paket-Datenbank</h3>
   1.202 +<p>
   1.203 +	„Cook“ kann eine Liste der Pakete im Wok ausgeben, und zwar in einem für Tazpkg geeigneten Format.
   1.204 +	Damit kann sehr einfach ein lokales Paket-Depot erstellt werden; damit wird auch die offizielle
   1.205 +	SliTaz-Paketliste aller Spiegel-Depots erstellt.
   1.206 +	Eine Liste der Pakete im aktuellen Wok erhält auch ein nicht privilegierter Benutzer mit:
   1.207 +</p>
   1.208 +<pre>
   1.209 +$ cook list-wok
   1.210 +</pre>
   1.211 +<p>
   1.212 +	Wenn die Paket-Datenbank erstellt wird, prüft <code>cook</code>, ob ein Varianten-Depot im
   1.213 +	Verzeichnis <code>/home/slitaz/flavors</code> vorhanden ist. Ist dies der Fall, so werden alle
   1.214 +	Varianten gemäß der letzten verfügbaren Paketliste gepackt. Das Kommando dafür ist:
   1.215 +</p>
   1.216 +<pre>
   1.217 +# cook pkgdb
   1.218 +</pre>
   1.219 +
   1.220 +<h3 id="cooker">„Cooker“</h3>
   1.221 +<p>
   1.222 +	„Cooker“ ist ein Kompilierungsautomat, der zunächst nach Übergaben in einem Wok sucht,
   1.223 +	eine geordnete Liste zu erzeugender Pakete erstellt und schließlich alle geänderten Pakete erzeugt.
   1.224 +	„Cooker“ kann auch als Benutzeroberfläche für <code>cook</code> verwendet werden, da beide
   1.225 +	dieselben Dateien benutzen. „Cooker“ kann auch eine lange Liste von Paketen abarbeiten,
   1.226 +	wie etwa alle Pakete einer Variante. „Cooker“ bietet eine gefällige Web-Oberfläche, die
   1.227 +	standardmäßig auf jedem SliTaz verwendet werden kann, da die benötigte CGI-Unterstützung von dem
   1.228 +	Busybox-Webserver <code>httpd</code> bereitgestellt wird.
   1.229 +</p>
   1.230 +<p>
   1.231 +	„Cooker“ enthält eine Kurzanleitung, die mit folgenden Kommandos ausgegeben werden kann:
   1.232 +</p>
   1.233 +<pre>
   1.234 +# cooker usage
   1.235 +# cooker -u
   1.236 +</pre>
   1.237 +
   1.238 +<h3>„Cooker“-Einrichtung</h3>
   1.239 +<p>
   1.240 +	Wie „Cook“ benötigt auch „Cooker“ eine Arbeitsumgebung für seinen Einsatz.
   1.241 +	Der wesentliche Unterschied zur Umgebung von „Cook“ ist, dass „Cooker“ zwei Woks benötigt.
   1.242 +	Ein sauberer, aus einem Mercurial-Depot duplizierter Wok als Referenz und einen Wok für die
   1.243 +	Paketerzeugung. Damit ist es einfach, beide Woks zu vergleichen und Änderungen festzustellen.
   1.244 +	Wenn schon eine Umgebung für <code>cook</code> vorhanden ist, muss der Wok umbenannt werden,
   1.245 +	bevor die Umgebung für „Cooker“ eingerichtet wird, sonst meckert „Cooker“. Bei der Einrichtung wird
   1.246 +	auch eine Reihe von Entwickler-Paketen installiert, die über die Variable <code>SETUP_PKGS</code> in der
   1.247 +	Konfigurationsdatei <code>cook.conf</code> angegeben werden können.
   1.248 +	Das Kommando lautet:
   1.249 +</p>
   1.250 +<pre>
   1.251 +# cooker setup
   1.252 +</pre>
   1.253 +<p>
   1.254 +	Wenn alles gut gegangen ist, sind jetzt zwei Woks vorhanden, die Basis-Entwickler-Pakete installiert
   1.255 +	und alle benötigten Dateien erstellt. Da zunächst nach Übergaben in einem Wok gesucht wird,
   1.256 +	können Sie testweise eingeben:
   1.257 +</p>
   1.258 +<pre>
   1.259 +# cooker
   1.260 +</pre>
   1.261 +
   1.262 +<h3>„Cooker“-Paketerzeugung</h3>
   1.263 +<p>
   1.264 +	Auch hier gibt es wieder zwei Möglichkeiten: Änderungen in dem sauberen, aus einem Mercurial-Depot
   1.265 +	duplizierten Wok vornehmen und „Cooker“ ohne Parameter starten oder Pakete manuell erzeugen.
   1.266 +	Mit „Cooker“ können ein einzelnes Paket oder alle Pakete einer Kategorie oder einer Variante erzeugt
   1.267 +	werden. Sie können auch versuchen, alle noch nicht erzeugten Pakete zu erzeugen. Beachten Sie aber,
   1.268 +	dass „Cooker“ nicht dafür eingerichtet ist, tausende von Paketen zu verarbeiten.
   1.269 +</p>
   1.270 +<p>
   1.271 +	Ein einzelnes Paket wird (wie mit <code>cook <em>pkgname</em></code>, aber mit erweiterter
   1.272 +	Protokollierung) erzeugt mit:
   1.273 +</p>
   1.274 +<pre>
   1.275 +# cooker pkg <em>pkgname</em>
   1.276 +</pre>
   1.277 +<p>
   1.278 +	Es gibt verschiedene Möglichkeiten, mehrere Pakete mit einem Kommando zu erzeugen:
   1.279 +	Sie können ein existierendes Paket angeben, wie es für eine Variante eines ISO-Abbildes verwendet wird,
   1.280 +	oder Sie können eine Datei angeben, die je Zeile den Namen eines Paketes enthält.
   1.281 +	Schließlich können Sie auch eine Kategorie angeben.
   1.282 +</p>
   1.283 +<pre>
   1.284 +# cooker flavor [<em>name</em>]
   1.285 +# cooker list [<em>/path/to/cooklist</em>]
   1.286 +# cooker cat [<em>category</em>]
   1.287 +</pre>
   1.288 +<p>
   1.289 +	„Cooker“ ermöglicht es auch, einen bestimmten Änderungsstand aus einem Mercurial-Depot anzugeben.
   1.290 +	Das ist nützlich, wenn der Kompilierungsautomat bei der Paketerzeugung unterbrochen wurde: Sie
   1.291 +	können dann bestimmte Pakete manuell erzeugen:
   1.292 +</p>
   1.293 +<pre>
   1.294 +# cooker rev 9496
   1.295 +</pre>
   1.296 +
   1.297 +<h3 id="blocked">Gesperrte Pakete</h3>
   1.298 +<p>
   1.299 +	„Cook“ und „Cooker“ benutzen eine Datei, die eine Liste gesperrter Pakete enthält, die nicht erzeugt
   1.300 +	werden, wenn Übergaben erfolgen oder eine Liste zu erzeugender Pakete verwendet wird.
   1.301 +	Dies ist sehr nützlich, wenn ein Kompilierungsautomat „Cooker“ in einer Produktivumgebung eingesetzt
   1.302 +	wird. Beim Sperren oder Entsperren eines Paketes kann eine Bemerkung angegeben werden.
   1.303 +	Beispiel:
   1.304 +</p>
   1.305 +<pre>
   1.306 +# cook <em>pkgname</em> --block
   1.307 +# cooker block <em>pkgname</em>
   1.308 +# cooker -n "<em>pkgname</em> gesperrt, weil..."
   1.309 +</pre>
   1.310 +<p>
   1.311 +	Eine Liste der gesperrten Pakete kann auch in der Web-Oberfläche von „Cooker“ angezeigt werden.
   1.312 +	Zum Entsperren eines Paketes kann <code>cooker unblock</code> oder <code>cook --unblock</code>
   1.313 +	verwendet werden:
   1.314 +</p>
   1.315 +<pre>
   1.316 +# cook <em>pkgname</em> --unblock
   1.317 +# cooker unblock <em>pkgname</em>
   1.318 +</pre>
   1.319 +
   1.320 +<h3>„Cooker“-Web-Oberfläche</h3>
   1.321 +<p>
   1.322 +	Mit der „Cooker“-Web-Oberfläche können Protokolldateien	farbig aufbereitet angesehen,
   1.323 +	Aktivitäten verfolgt und Fehler gesucht werden.
   1.324 +	Die dazu benötigten Dateien befinden sich im Verzeichnis <code>/var/www/cooker</code>.
   1.325 +	Wenn Sie keine „chroot“-Umgebung verwenden und der Busybox-Webserver <code>httpd</code>
   1.326 +	läuft, kann die Web-Oberfläche ohne weitere Konfigurierung verwendet werden und sollte über
   1.327 +	<a href="http://localhost/cooker/cooker.cgi">http://localhost/cooker/cooker.cgi</a>
   1.328 +	erreichbar sein. 
   1.329 +</p>
   1.330 +<p>
   1.331 +	Wenn Sie eine „chroot“-Umgebung verwenden, sollten Sie <code>cookutils</code> ebenfalls auf
   1.332 +	Ihrem Rechner installieren und die Pfadvariable SLITAZ anpassen. Ein Standardverfahren ist es,
   1.333 +	eine chroot-Umgebung in:
   1.334 +<pre>
   1.335 +/home/slitaz/cooking/chroot
   1.336 +</pre>
   1.337 +	zu haben und <code>/etc/slitaz/cook.conf</code> wie folgt zu ändern:
   1.338 +</p>
   1.339 +<pre>
   1.340 +SLITAZ="/home/slitaz/cooking/chroot/home/slitaz"
   1.341 +</pre>
   1.342 +<p>
   1.343 +	Beachten Sie: Um die Web-Oberfläche zu verwenden ist es nicht erforderlich, <code>cookutils</code>
   1.344 +	auf Ihrem Rechner zu installieren.
   1.345 +	Wenn Sie Lighttpd verwenden, können Sie die Dateien <code>cooker.cgi</code> und
   1.346 +	<code>style.css</code> beispielsweise in Ihr Verzeichnis ~/Public kopieren und eine eigene
   1.347 +	Datei <code>cook.conf</code> dafür verwenden. Die Installation von <code>cookutils</code> auf Ihrem
   1.348 +	Rechner hat den Vorteil, dass Sie über die Paketverwaltung Tazpkg regelmäßig Aktualisierungen
   1.349 +	erhalten. Wenn Sie <code>cookutils</code> aus einem Mercurial-Depot dupliziert oder aus einem
   1.350 +	Paket-Depot transferiert haben:
   1.351 +</p>
   1.352 +<pre>
   1.353 +$ cp -a cookutils/web ~/Public/cgi-bin/cooker
   1.354 +$ cp -f cookutils/cook.conf ~/Public/cgi-bin/cooker
   1.355 +</pre>
   1.356 +<p>
   1.357 +	Ändern Sie in der Konfigurationsdatei <code>~/Public/cgi-bin/cooker/cook.conf</code> in der Variablen
   1.358 +	SLITAZ den Pfad und alles ist erledigt!
   1.359 +</p>
   1.360 +
   1.361 +<h3>Erzeugungsnotizen</h3>
   1.362 +<p>
   1.363 +	Die Notizfunktion ermöglicht es, kleine persönliche Bemerkungen über die Paketerzeugung
   1.364 +	zu hinterlegen und nutzt der Zusammenarbeit mit anderen Entwicklern.
   1.365 +	Diese Funktion ist implementiert worden, um Informationen zwischen den Betreuern des
   1.366 +	Kompilierungsautomaten „Cooker“ und Entwicklern	auszutauschen.
   1.367 +	„Cooker“ kann ein Paket sperren, so dass es nicht mehr erzeugt wird. Dann ist es hilfreich, beim
   1.368 +	Sperren eine Notiz zu hinterlegen, warum das Paket gesperrt wurde.
   1.369 +	Die Erzeugungsnotizen werden an der Web-Oberfläche angezeigt und können per Kommando erstellt und
   1.370 +	abgerufen werden:
   1.371 +</p>
   1.372 +<pre>
   1.373 +# cooker note "<em>pkgname</em> wegen hoher CPU-Last gesperrt"
   1.374 +# cooker notes
   1.375 +</pre>
   1.376 +
   1.377 +<h3>„Cooker“ als Kompilierungsautomat</h3>
   1.378 +<p>
   1.379 +	„Cooker“ ist als Kompilierungsautomat für SliTaz gestaltet, das heißt er überwacht
   1.380 +	zwei Woks, aktualisiert den Mercurial-Wok, stellt die Unterschiede fest und erzeugt alle
   1.381 +	übergebenen Pakete. Die sicherere und sauberere Art, „Cooker“ als Kompilierungsautomat einzusetzen,
   1.382 +	stellt die Nutzung einer „chroot“-Umgebung dar; aber auch der direkte Ablauf auf Ihrem Rechner ist
   1.383 +	möglich.
   1.384 +</p>
   1.385 +<p>
   1.386 +	Mit <code>cron</code> in der „chroot“-Umgebung kann „Cooker“ automatisch gestartet werden, indem in
   1.387 +	die Datei <code>/var/spool/cron/crontabs/root</code> eine entsprechende Zeile eingefügt wird. Wenn
   1.388 +	„Cooker“ alle zwei Stunden gestartet werden soll zum Beispiel:
   1.389 +</p>
   1.390 +<pre>
   1.391 +* */2 * * * /usr/bin/cooker
   1.392 +</pre>
   1.393 +
   1.394 +<h3>„Cooker“-Kompilierungsautomat bei der Systemeinleitung starten</h3>
   1.395 +<p>
   1.396 +	Bei der Systemeinleitung kann die Umgebung für „Cooker“ eingerichtet werden und der cron-Prozess
   1.397 +	gestartet werden. Damit dies richtig funktioniert, muss das Paket <code>cookutils-daemon</code>
   1.398 +	installiert sein und eine Standard-SliTaz-Installation verwendet werden (die Paketerzeugung spielt sich
   1.399 +	in <code>/home/slitaz/cooking</code> ab). Die Kommandoprozedur von <code>cookutils-daemon</code>
   1.400 +	hängt alle benötigten virtuellen Dateisysteme ein wie auch <code>source</code> und <code>packages</code>.
   1.401 +	Quelldateien befinden sich im Verzeichnis <code>/home/slitaz/src</code> und werden in die
   1.402 +	„chroot“-Umgebung eingebunden, so dass Paketquellen in verschiedenen Versionen (stabil, Entwicklung,
   1.403 +	inoffiziell) gemeinsam benutzt werden können. So wird <code>cookutils-daemon</code> installiert:
   1.404 +</p>
   1.405 +<pre>
   1.406 +# tazpkg get-install cookutils-daemon
   1.407 +</pre>
   1.408 +<p>
   1.409 +	Damit der Hintergrundprozess gestartet werden kann, muss in der „chroot“-Umgebung eine cron-Datei
   1.410 +	für root vorhanden sein. Die Kommandoprozedur funktioniert wie die aller anderen Hintergrundprozesse
   1.411 +	und wird aufgerufen mit:
   1.412 +</p>
   1.413 +<pre>
   1.414 +# /etc/init.d/cooker [start|stop|restart]
   1.415 +</pre>
   1.416 +
   1.417 +<!-- End content -->
   1.418 +</div>
   1.419 +
   1.420 +<footer>
   1.421 +	Copyright © <span class="year"></span> <a href="http://www.slitaz.org/">SliTaz GNU/Linux</a>
   1.422 +</footer>
   1.423 +
   1.424 +</body>
   1.425 +</html>