cookutils annotate doc/cookutils.de.html @ rev 935
Fix previous commit.
But we can - not remove packages at all - while we working inside aufs chroot.
Only several packages builds not using aufs (and that builds almost always are buggy).
But we can - not remove packages at all - while we working inside aufs chroot.
Only several packages builds not using aufs (and that builds almost always are buggy).
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Sun Jun 18 23:27:33 2017 +0300 (2017-06-18) |
parents | |
children |
rev | line source |
---|---|
Hans-Günter@896 | 1 <!DOCTYPE html> |
Hans-Günter@896 | 2 <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> |
Hans-Günter@896 | 3 <head> |
Hans-Günter@896 | 4 <meta charset="utf-8" /> |
Hans-Günter@896 | 5 <title>Kochwerkzeuge-Handbuch</title> |
Hans-Günter@896 | 6 <link rel="stylesheet" type="text/css" href="../slitaz-doc.css" /> |
Hans-Günter@896 | 7 <script type="text/javascript" src="../slitaz-doc.js"></script> |
Hans-Günter@896 | 8 </head> |
Hans-Günter@896 | 9 <body> |
Hans-Günter@896 | 10 |
Hans-Günter@896 | 11 <header> |
Hans-Günter@896 | 12 <h1>Kochwerkzeuge-Handbuch</h1> |
Hans-Günter@896 | 13 </header> |
Hans-Günter@896 | 14 |
Hans-Günter@896 | 15 <!-- Start content --> |
Hans-Günter@896 | 16 <div id="content"> |
Hans-Günter@896 | 17 |
Hans-Günter@896 | 18 <h2>SliTaz „Cook“ & „Cooker“</h2> |
Hans-Günter@896 | 19 |
Hans-Günter@896 | 20 <p> |
Hans-Günter@896 | 21 Die SliTaz-Kochwerkzeuge dienen zum Erzeugen von Paketen im SliTaz-eigenen Format. Sie |
Hans-Günter@896 | 22 sind schnell, genügsam, leicht zu erlernen und zu benutzen. Das Erstellen von Paketen für SliTaz |
Hans-Günter@896 | 23 erfordert nur wenige Kommandos. Die Kochwerkzeuge enthalten „Cook“ und |
Hans-Günter@896 | 24 <a href="#cooker">„Cooker“</a>. |
Hans-Günter@896 | 25 </p> |
Hans-Günter@896 | 26 <p> |
Hans-Günter@896 | 27 Mit <code>cook</code> kann ein Paket aus den Quellen übersetzt und gepackt werden; dabei wird eine |
Hans-Günter@896 | 28 Protokolldatei erstellt. Die Qualität des Rezeptes und des Paketes kann geprüft werden. |
Hans-Günter@896 | 29 „Cooker“ ist ein Kompilierungsautomat, der als Benutzerschnittstelle mit einer Weboberfläche |
Hans-Günter@896 | 30 für <code>cook</code> verwendet werden kann. Damit können auch die Protokolldateien |
Hans-Günter@896 | 31 farbig aufbereitet angesehen werden. „Cook“ und „Cooker“ |
Hans-Günter@896 | 32 greifen auf dieselben Datenbankdateien und denselben Wok zu, sie haben <a href="#blocked">gesperrte</a> |
Hans-Günter@896 | 33 und defekte Pakete wie auch alle Aktivitäten gemeinsam. |
Hans-Günter@896 | 34 </p> |
Hans-Günter@896 | 35 <p> |
Hans-Günter@896 | 36 Technische Details, wie etwa die Programmierung usw., sind in der Datei |
Hans-Günter@896 | 37 <code>/usr/share/doc/cookutils/README</code> beschrieben. |
Hans-Günter@896 | 38 </p> |
Hans-Günter@896 | 39 |
Hans-Günter@896 | 40 <h3>„Cook“-Anwendung</h3> |
Hans-Günter@896 | 41 <p> |
Hans-Günter@896 | 42 „Cook“ enthält eine Kurzanleitung, die mit |
Hans-Günter@896 | 43 <code>cook usage</code> ausgegeben werden kann. Es können auch Optionen angegeben werden, mit |
Hans-Günter@896 | 44 denen besondere Arbeiten vor oder nach der Paketerzeugung ausgeführt werden. |
Hans-Günter@896 | 45 Anzeige der Kurzanleitung: |
Hans-Günter@896 | 46 </p> |
Hans-Günter@896 | 47 <pre> |
Hans-Günter@896 | 48 # cook usage |
Hans-Günter@896 | 49 </pre> |
Hans-Günter@896 | 50 |
Hans-Günter@896 | 51 <h3>Praktische Anleitung</h3> |
Hans-Günter@896 | 52 <p> |
Hans-Günter@896 | 53 Bevor Pakete erzeugt werden können, muss zunächst die Umgebung dafür eingerichtet werden. |
Hans-Günter@896 | 54 Es gibt zwei Möglichkeiten für die Paketerzeugung: direkt auf dem Rechner, an dem Sie |
Hans-Günter@896 | 55 angemeldet sind oder in einer „chroot“-Umgebung zum Schutz der Dateien Ihres Rechners vor |
Hans-Günter@896 | 56 ungewollten Veränderungen. Wenn Sie in einer „chroot“-Umgebung arbeiten wollen, |
Hans-Günter@896 | 57 können Sie <code>tazdev</code> installieren und benutzen: |
Hans-Günter@896 | 58 </p> |
Hans-Günter@896 | 59 <pre> |
Hans-Günter@896 | 60 # tazdev gen-chroot && tazdev chroot |
Hans-Günter@896 | 61 </pre> |
Hans-Günter@896 | 62 <p> |
Hans-Günter@896 | 63 Standardmäßig erzeugt tazdev eine „chroot“-Umgebung in <code>/home/slitaz/cooking/chroot</code>, |
Hans-Günter@896 | 64 aber Sie können auch einen Pfad als Parameter angeben. Der Ort für die „chroot“-Umgebung ist |
Hans-Günter@896 | 65 unwichtig; wenn in die „chroot“-Umgebung gewechselt wurde, werden Standard-SliTaz-Pfade |
Hans-Günter@896 | 66 wie z.B. <code>/home/slitaz/wok</code> für den Wok oder <code>/home/slitaz/log</code> |
Hans-Günter@896 | 67 für die Generierungsprotokolle verwendet. Wie üblich kann eine Kurzanleitung ausgegeben werden mit: |
Hans-Günter@896 | 68 <pre> |
Hans-Günter@896 | 69 $ tazdev usage |
Hans-Günter@896 | 70 </pre> |
Hans-Günter@896 | 71 </p> |
Hans-Günter@896 | 72 <p> |
Hans-Günter@896 | 73 Wenn Sie eine „chroot“-Umgebung verwenden, gibt es zwei besondere Verzeichnisse, die mit der |
Hans-Günter@896 | 74 bind-Option eingehängt sind: <code>src</code> und <code>packages</code>. Die Quellarchive aller Pakete |
Hans-Günter@896 | 75 werden standardmäßig im Verzeichnis <code>/home/slitaz/src</code> abgelegt. Dieses Verzeichnis |
Hans-Günter@896 | 76 wird in der „chroot“-Umgebung eingehängt, so dass die Programme darauf zugreifen können. |
Hans-Günter@896 | 77 Dadurch können Quellprogramme von mehreren „chroot“-Umgebungen gemeinsam benutzt werden, |
Hans-Günter@896 | 78 etwa einer für die Entwicklungsversion und einer für die stabile Version. Das Verzeichnis für die |
Hans-Günter@896 | 79 fertigen Pakete ist standardmäßig <code>/home/slitaz/[version]/packages</code>, also nicht in einer |
Hans-Günter@896 | 80 „chroot“-Umgebung, wo sie sicher aufbewahrt sind für den Fall, dass die „chroot“-Umgebung |
Hans-Günter@896 | 81 versehentlich verlassen wird. |
Hans-Günter@896 | 82 </p> |
Hans-Günter@896 | 83 |
Hans-Günter@896 | 84 <h3>Einrichten der Umgebung</h3> |
Hans-Günter@896 | 85 <p> |
Hans-Günter@896 | 86 Wenn Sie sich für eine der Möglichkeiten entschieden haben, kann die Umgebung für <code>cook</code> |
Hans-Günter@896 | 87 eingerichtet werden. |
Hans-Günter@896 | 88 „Cook“ verwendet die Konfigurationsdatei <code>cook.conf</code>. Wenn andere als die Standardpfade |
Hans-Günter@896 | 89 der Verzeichnisse und Dateien verwendet werden sollen, müssen diese dort eingetragen werden. |
Hans-Günter@896 | 90 Mit <code>setup</code> werden einige Verzeichnisse und Dateien erzeugt, |
Hans-Günter@896 | 91 in denen Aktivitäten und Fehler festgehalten werden. Alle Dateien sind einfache Textdateien, |
Hans-Günter@896 | 92 die mit einem Texteditor betrachtet werden können. Die Umgebung wird eingerichtet mit: |
Hans-Günter@896 | 93 </p> |
Hans-Günter@896 | 94 <pre> |
Hans-Günter@896 | 95 # cook setup |
Hans-Günter@896 | 96 </pre> |
Hans-Günter@896 | 97 <p> |
Hans-Günter@896 | 98 Bei <code>setup</code> kann mit der Option <code>--wok</code> bestimmt werden, dass beim Einrichten |
Hans-Günter@896 | 99 der Umgebung der Wok <code>wok</code> aus dem SliTaz-Mercurial-Depot dupliziert werden soll. |
Hans-Günter@896 | 100 Auch wenn Sie kein offizieller Entwickler sind, können Sie den Wok duplizieren und darin |
Hans-Günter@896 | 101 enthaltene Pakete als Muster für Ihre eigenen Pakete verwenden. |
Hans-Günter@896 | 102 Mit den folgenden Kommandos wird die Umgebung eingerichtet und der Entwicklungswok bzw. der |
Hans-Günter@896 | 103 inoffizielle Wok dupliziert: |
Hans-Günter@896 | 104 </p> |
Hans-Günter@896 | 105 <pre> |
Hans-Günter@896 | 106 # cook setup --wok |
Hans-Günter@896 | 107 # cook setup --undigest |
Hans-Günter@896 | 108 </pre> |
Hans-Günter@896 | 109 |
Hans-Günter@896 | 110 <h3>Testen der Umgebung</h3> |
Hans-Günter@896 | 111 <p> |
Hans-Günter@896 | 112 „Cook“ bietet die Möglichkeit, die Umgebung zu testen, indem ein Paket erzeugt wird. Damit können |
Hans-Günter@896 | 113 Sie feststellen, ob Ihre Umgebung funktionsfähig ist, und Sie haben ein Beispielpaket mit einem |
Hans-Günter@896 | 114 Rezept. Dieses Pseudo-Paket heisst <code>cooktest</code> und kann nach dem Test entfernt werden. |
Hans-Günter@896 | 115 Der Test wird ausgeführt mit: |
Hans-Günter@896 | 116 </p> |
Hans-Günter@896 | 117 <pre> |
Hans-Günter@896 | 118 # cook test |
Hans-Günter@896 | 119 </pre> |
Hans-Günter@896 | 120 |
Hans-Günter@896 | 121 <h3>Paket erzeugen</h3> |
Hans-Günter@896 | 122 <p> |
Hans-Günter@896 | 123 Wenn die Umgebung korrekt eingerichtet ist, können neue Pakete für SliTaz aus dem Wok erzeugt werden. |
Hans-Günter@896 | 124 Mit dem folgenden Kommando wird ein neues Paket mit einem leeren Rezept definiert: |
Hans-Günter@896 | 125 <pre> |
Hans-Günter@896 | 126 # cook new <em>pkgname</em> |
Hans-Günter@896 | 127 </pre> |
Hans-Günter@896 | 128 Mit dem folgenden Kommando wird ein neues Paket definiert, wobei das Rezept interaktiv erstellt wird: |
Hans-Günter@896 | 129 <pre> |
Hans-Günter@896 | 130 # cook new <em>pkgname</em> --interactive |
Hans-Günter@896 | 131 </pre> |
Hans-Günter@896 | 132 </p> |
Hans-Günter@896 | 133 <p> |
Hans-Günter@896 | 134 Wenn Sie ein neues Paket mit leerem Rezept definiert haben, muss das Rezept mit einem Texteditor |
Hans-Günter@896 | 135 bearbeitet werden. Wenn das Rezept fertig ist, oder wenn das Paket schon existierte, kann es |
Hans-Günter@896 | 136 anschließend erstellt werden: |
Hans-Günter@896 | 137 </p> |
Hans-Günter@896 | 138 <pre> |
Hans-Günter@896 | 139 # cook <em>pkgname</em> |
Hans-Günter@896 | 140 </pre> |
Hans-Günter@896 | 141 <p> |
Hans-Günter@896 | 142 Wenn alles gut ging, befindet sich das Paket im Verzeichnis <code>$SLITAZ/packages</code> |
Hans-Günter@896 | 143 und weitere erzeugte Dateien im Verzeichnis <code>$SLITAZ/wok/<em>pkgname</em></code>. |
Hans-Günter@896 | 144 </p> |
Hans-Günter@896 | 145 |
Hans-Günter@896 | 146 <h3>Paket erzeugen und installieren</h3> |
Hans-Günter@896 | 147 <p> |
Hans-Günter@896 | 148 Wenn das Paket erzeugt und anschließend auch installiert werden soll, geht das mit: |
Hans-Günter@896 | 149 </p> |
Hans-Günter@896 | 150 <pre> |
Hans-Günter@896 | 151 # cook <em>pkgname</em> --install |
Hans-Günter@896 | 152 </pre> |
Hans-Günter@896 | 153 |
Hans-Günter@896 | 154 <h3>Paketquellen transferieren</h3> |
Hans-Günter@896 | 155 <p> |
Hans-Günter@896 | 156 Wenn Sie nur die Quelldateien eines Paketes benötigen, aber das Paket nicht erstellen wollen, |
Hans-Günter@896 | 157 können Sie die Option <code>getsrc</code> verwenden: |
Hans-Günter@896 | 158 </p> |
Hans-Günter@896 | 159 <pre> |
Hans-Günter@896 | 160 # cook <em>pkgname</em> --getsrc |
Hans-Günter@896 | 161 </pre> |
Hans-Günter@896 | 162 |
Hans-Günter@896 | 163 <h3>Wok aufräumen</h3> |
Hans-Günter@896 | 164 <p> |
Hans-Günter@896 | 165 Nach dem Erzeugen und Packen eines Paketes enthält der Wok verschiedene Dateien, die |
Hans-Günter@896 | 166 Plattenplatz belegen. Diese Dateien eines einzelnen Paketes können gelöscht werden mit: |
Hans-Günter@896 | 167 </p> |
Hans-Günter@896 | 168 <pre> |
Hans-Günter@896 | 169 # cook <em>pkgname</em> --clean |
Hans-Günter@896 | 170 </pre> |
Hans-Günter@896 | 171 <p> |
Hans-Günter@896 | 172 Es können auch die Dateien aller Pakete aus dem Wok entfernt werden, oder nur die Quelldateien: |
Hans-Günter@896 | 173 </p> |
Hans-Günter@896 | 174 <pre> |
Hans-Günter@896 | 175 # cook clean-wok |
Hans-Günter@896 | 176 # cook clean-src |
Hans-Günter@896 | 177 </pre> |
Hans-Günter@896 | 178 |
Hans-Günter@896 | 179 <h3>Suchen im Wok</h3> |
Hans-Günter@896 | 180 <p> |
Hans-Günter@896 | 181 „Cook“ bietet auch eine einfache Suchfunktion, um schnell ein Paket im Wok zu finden. |
Hans-Günter@896 | 182 Diese verwendet <code>grep</code> und unterstützt damit reguläre Ausdrücke: |
Hans-Günter@896 | 183 </p> |
Hans-Günter@896 | 184 <pre> |
Hans-Günter@896 | 185 # cook search busybox |
Hans-Günter@896 | 186 </pre> |
Hans-Günter@896 | 187 |
Hans-Günter@896 | 188 <h3>Rezept-Funktionen</h3> |
Hans-Günter@896 | 189 <p> |
Hans-Günter@896 | 190 Viele Pakete, so wie die *-dev-Pakete, enthalten gleichartige Dateien wie |
Hans-Günter@896 | 191 statische Bibliotheken, pkgconfig-Dateien und include-Dateien. Dafür bietet <code>cook</code> |
Hans-Günter@896 | 192 eine Funktion, die im Rezept verwendet werden kann: |
Hans-Günter@896 | 193 </p> |
Hans-Günter@896 | 194 <pre> |
Hans-Günter@896 | 195 get_dev_files : Install /usr/lib/{lib.*a,pkgconfig} /usr/include |
Hans-Günter@896 | 196 </pre> |
Hans-Günter@896 | 197 |
Hans-Günter@896 | 198 <h3>Liste der Paket-Datenbank</h3> |
Hans-Günter@896 | 199 <p> |
Hans-Günter@896 | 200 „Cook“ kann eine Liste der Pakete im Wok ausgeben, und zwar in einem für Tazpkg geeigneten Format. |
Hans-Günter@896 | 201 Damit kann sehr einfach ein lokales Paket-Depot erstellt werden; damit wird auch die offizielle |
Hans-Günter@896 | 202 SliTaz-Paketliste aller Spiegel-Depots erstellt. |
Hans-Günter@896 | 203 Eine Liste der Pakete im aktuellen Wok erhält auch ein nicht privilegierter Benutzer mit: |
Hans-Günter@896 | 204 </p> |
Hans-Günter@896 | 205 <pre> |
Hans-Günter@896 | 206 $ cook list-wok |
Hans-Günter@896 | 207 </pre> |
Hans-Günter@896 | 208 <p> |
Hans-Günter@896 | 209 Wenn die Paket-Datenbank erstellt wird, prüft <code>cook</code>, ob ein Varianten-Depot im |
Hans-Günter@896 | 210 Verzeichnis <code>/home/slitaz/flavors</code> vorhanden ist. Ist dies der Fall, so werden alle |
Hans-Günter@896 | 211 Varianten gemäß der letzten verfügbaren Paketliste gepackt. Das Kommando dafür ist: |
Hans-Günter@896 | 212 </p> |
Hans-Günter@896 | 213 <pre> |
Hans-Günter@896 | 214 # cook pkgdb |
Hans-Günter@896 | 215 </pre> |
Hans-Günter@896 | 216 |
Hans-Günter@896 | 217 <h3 id="cooker">„Cooker“</h3> |
Hans-Günter@896 | 218 <p> |
Hans-Günter@896 | 219 „Cooker“ ist ein Kompilierungsautomat, der zunächst nach Übergaben in einem Wok sucht, |
Hans-Günter@896 | 220 eine geordnete Liste zu erzeugender Pakete erstellt und schließlich alle geänderten Pakete erzeugt. |
Hans-Günter@896 | 221 „Cooker“ kann auch als Benutzeroberfläche für <code>cook</code> verwendet werden, da beide |
Hans-Günter@896 | 222 dieselben Dateien benutzen. „Cooker“ kann auch eine lange Liste von Paketen abarbeiten, |
Hans-Günter@896 | 223 wie etwa alle Pakete einer Variante. „Cooker“ bietet eine gefällige Web-Oberfläche, die |
Hans-Günter@896 | 224 standardmäßig auf jedem SliTaz verwendet werden kann, da die benötigte CGI-Unterstützung von dem |
Hans-Günter@896 | 225 Busybox-Webserver <code>httpd</code> bereitgestellt wird. |
Hans-Günter@896 | 226 </p> |
Hans-Günter@896 | 227 <p> |
Hans-Günter@896 | 228 „Cooker“ enthält eine Kurzanleitung, die mit folgenden Kommandos ausgegeben werden kann: |
Hans-Günter@896 | 229 </p> |
Hans-Günter@896 | 230 <pre> |
Hans-Günter@896 | 231 # cooker usage |
Hans-Günter@896 | 232 # cooker -u |
Hans-Günter@896 | 233 </pre> |
Hans-Günter@896 | 234 |
Hans-Günter@896 | 235 <h3>„Cooker“-Einrichtung</h3> |
Hans-Günter@896 | 236 <p> |
Hans-Günter@896 | 237 Wie „Cook“ benötigt auch „Cooker“ eine Arbeitsumgebung für seinen Einsatz. |
Hans-Günter@896 | 238 Der wesentliche Unterschied zur Umgebung von „Cook“ ist, dass „Cooker“ zwei Woks benötigt. |
Hans-Günter@896 | 239 Ein sauberer, aus einem Mercurial-Depot duplizierter Wok als Referenz und einen Wok für die |
Hans-Günter@896 | 240 Paketerzeugung. Damit ist es einfach, beide Woks zu vergleichen und Änderungen festzustellen. |
Hans-Günter@896 | 241 Wenn schon eine Umgebung für <code>cook</code> vorhanden ist, muss der Wok umbenannt werden, |
Hans-Günter@896 | 242 bevor die Umgebung für „Cooker“ eingerichtet wird, sonst meckert „Cooker“. Bei der Einrichtung wird |
Hans-Günter@896 | 243 auch eine Reihe von Entwickler-Paketen installiert, die über die Variable <code>SETUP_PKGS</code> in der |
Hans-Günter@896 | 244 Konfigurationsdatei <code>cook.conf</code> angegeben werden können. |
Hans-Günter@896 | 245 Das Kommando lautet: |
Hans-Günter@896 | 246 </p> |
Hans-Günter@896 | 247 <pre> |
Hans-Günter@896 | 248 # cooker setup |
Hans-Günter@896 | 249 </pre> |
Hans-Günter@896 | 250 <p> |
Hans-Günter@896 | 251 Wenn alles gut gegangen ist, sind jetzt zwei Woks vorhanden, die Basis-Entwickler-Pakete installiert |
Hans-Günter@896 | 252 und alle benötigten Dateien erstellt. Da zunächst nach Übergaben in einem Wok gesucht wird, |
Hans-Günter@896 | 253 können Sie testweise eingeben: |
Hans-Günter@896 | 254 </p> |
Hans-Günter@896 | 255 <pre> |
Hans-Günter@896 | 256 # cooker |
Hans-Günter@896 | 257 </pre> |
Hans-Günter@896 | 258 |
Hans-Günter@896 | 259 <h3>„Cooker“-Paketerzeugung</h3> |
Hans-Günter@896 | 260 <p> |
Hans-Günter@896 | 261 Auch hier gibt es wieder zwei Möglichkeiten: Änderungen in dem sauberen, aus einem Mercurial-Depot |
Hans-Günter@896 | 262 duplizierten Wok vornehmen und „Cooker“ ohne Parameter starten oder Pakete manuell erzeugen. |
Hans-Günter@896 | 263 Mit „Cooker“ können ein einzelnes Paket oder alle Pakete einer Kategorie oder einer Variante erzeugt |
Hans-Günter@896 | 264 werden. Sie können auch versuchen, alle noch nicht erzeugten Pakete zu erzeugen. Beachten Sie aber, |
Hans-Günter@896 | 265 dass „Cooker“ nicht dafür eingerichtet ist, tausende von Paketen zu verarbeiten. |
Hans-Günter@896 | 266 </p> |
Hans-Günter@896 | 267 <p> |
Hans-Günter@896 | 268 Ein einzelnes Paket wird (wie mit <code>cook <em>pkgname</em></code>, aber mit erweiterter |
Hans-Günter@896 | 269 Protokollierung) erzeugt mit: |
Hans-Günter@896 | 270 </p> |
Hans-Günter@896 | 271 <pre> |
Hans-Günter@896 | 272 # cooker pkg <em>pkgname</em> |
Hans-Günter@896 | 273 </pre> |
Hans-Günter@896 | 274 <p> |
Hans-Günter@896 | 275 Es gibt verschiedene Möglichkeiten, mehrere Pakete mit einem Kommando zu erzeugen: |
Hans-Günter@896 | 276 Sie können ein existierendes Paket angeben, wie es für eine Variante eines ISO-Abbildes verwendet wird, |
Hans-Günter@896 | 277 oder Sie können eine Datei angeben, die je Zeile den Namen eines Paketes enthält. |
Hans-Günter@896 | 278 Schließlich können Sie auch eine Kategorie angeben. |
Hans-Günter@896 | 279 </p> |
Hans-Günter@896 | 280 <pre> |
Hans-Günter@896 | 281 # cooker flavor [<em>name</em>] |
Hans-Günter@896 | 282 # cooker list [<em>/path/to/cooklist</em>] |
Hans-Günter@896 | 283 # cooker cat [<em>category</em>] |
Hans-Günter@896 | 284 </pre> |
Hans-Günter@896 | 285 <p> |
Hans-Günter@896 | 286 „Cooker“ ermöglicht es auch, einen bestimmten Änderungsstand aus einem Mercurial-Depot anzugeben. |
Hans-Günter@896 | 287 Das ist nützlich, wenn der Kompilierungsautomat bei der Paketerzeugung unterbrochen wurde: Sie |
Hans-Günter@896 | 288 können dann bestimmte Pakete manuell erzeugen: |
Hans-Günter@896 | 289 </p> |
Hans-Günter@896 | 290 <pre> |
Hans-Günter@896 | 291 # cooker rev 9496 |
Hans-Günter@896 | 292 </pre> |
Hans-Günter@896 | 293 |
Hans-Günter@896 | 294 <h3 id="blocked">Gesperrte Pakete</h3> |
Hans-Günter@896 | 295 <p> |
Hans-Günter@896 | 296 „Cook“ und „Cooker“ benutzen eine Datei, die eine Liste gesperrter Pakete enthält, die nicht erzeugt |
Hans-Günter@896 | 297 werden, wenn Übergaben erfolgen oder eine Liste zu erzeugender Pakete verwendet wird. |
Hans-Günter@896 | 298 Dies ist sehr nützlich, wenn ein Kompilierungsautomat „Cooker“ in einer Produktivumgebung eingesetzt |
Hans-Günter@896 | 299 wird. Beim Sperren oder Entsperren eines Paketes kann eine Bemerkung angegeben werden. |
Hans-Günter@896 | 300 Beispiel: |
Hans-Günter@896 | 301 </p> |
Hans-Günter@896 | 302 <pre> |
Hans-Günter@896 | 303 # cook <em>pkgname</em> --block |
Hans-Günter@896 | 304 # cooker block <em>pkgname</em> |
Hans-Günter@896 | 305 # cooker -n "<em>pkgname</em> gesperrt, weil..." |
Hans-Günter@896 | 306 </pre> |
Hans-Günter@896 | 307 <p> |
Hans-Günter@896 | 308 Eine Liste der gesperrten Pakete kann auch in der Web-Oberfläche von „Cooker“ angezeigt werden. |
Hans-Günter@896 | 309 Zum Entsperren eines Paketes kann <code>cooker unblock</code> oder <code>cook --unblock</code> |
Hans-Günter@896 | 310 verwendet werden: |
Hans-Günter@896 | 311 </p> |
Hans-Günter@896 | 312 <pre> |
Hans-Günter@896 | 313 # cook <em>pkgname</em> --unblock |
Hans-Günter@896 | 314 # cooker unblock <em>pkgname</em> |
Hans-Günter@896 | 315 </pre> |
Hans-Günter@896 | 316 |
Hans-Günter@896 | 317 <h3>„Cooker“-Web-Oberfläche</h3> |
Hans-Günter@896 | 318 <p> |
Hans-Günter@896 | 319 Mit der „Cooker“-Web-Oberfläche können Protokolldateien farbig aufbereitet angesehen, |
Hans-Günter@896 | 320 Aktivitäten verfolgt und Fehler gesucht werden. |
Hans-Günter@896 | 321 Die dazu benötigten Dateien befinden sich im Verzeichnis <code>/var/www/cooker</code>. |
Hans-Günter@896 | 322 Wenn Sie keine „chroot“-Umgebung verwenden und der Busybox-Webserver <code>httpd</code> |
Hans-Günter@896 | 323 läuft, kann die Web-Oberfläche ohne weitere Konfigurierung verwendet werden und sollte über |
Hans-Günter@896 | 324 <a href="http://localhost/cooker/cooker.cgi">http://localhost/cooker/cooker.cgi</a> |
Hans-Günter@896 | 325 erreichbar sein. |
Hans-Günter@896 | 326 </p> |
Hans-Günter@896 | 327 <p> |
Hans-Günter@896 | 328 Wenn Sie eine „chroot“-Umgebung verwenden, sollten Sie <code>cookutils</code> ebenfalls auf |
Hans-Günter@896 | 329 Ihrem Rechner installieren und die Pfadvariable SLITAZ anpassen. Ein Standardverfahren ist es, |
Hans-Günter@896 | 330 eine chroot-Umgebung in: |
Hans-Günter@896 | 331 <pre> |
Hans-Günter@896 | 332 /home/slitaz/cooking/chroot |
Hans-Günter@896 | 333 </pre> |
Hans-Günter@896 | 334 zu haben und <code>/etc/slitaz/cook.conf</code> wie folgt zu ändern: |
Hans-Günter@896 | 335 </p> |
Hans-Günter@896 | 336 <pre> |
Hans-Günter@896 | 337 SLITAZ="/home/slitaz/cooking/chroot/home/slitaz" |
Hans-Günter@896 | 338 </pre> |
Hans-Günter@896 | 339 <p> |
Hans-Günter@896 | 340 Beachten Sie: Um die Web-Oberfläche zu verwenden ist es nicht erforderlich, <code>cookutils</code> |
Hans-Günter@896 | 341 auf Ihrem Rechner zu installieren. |
Hans-Günter@896 | 342 Wenn Sie Lighttpd verwenden, können Sie die Dateien <code>cooker.cgi</code> und |
Hans-Günter@896 | 343 <code>style.css</code> beispielsweise in Ihr Verzeichnis ~/Public kopieren und eine eigene |
Hans-Günter@896 | 344 Datei <code>cook.conf</code> dafür verwenden. Die Installation von <code>cookutils</code> auf Ihrem |
Hans-Günter@896 | 345 Rechner hat den Vorteil, dass Sie über die Paketverwaltung Tazpkg regelmäßig Aktualisierungen |
Hans-Günter@896 | 346 erhalten. Wenn Sie <code>cookutils</code> aus einem Mercurial-Depot dupliziert oder aus einem |
Hans-Günter@896 | 347 Paket-Depot transferiert haben: |
Hans-Günter@896 | 348 </p> |
Hans-Günter@896 | 349 <pre> |
Hans-Günter@896 | 350 $ cp -a cookutils/web ~/Public/cgi-bin/cooker |
Hans-Günter@896 | 351 $ cp -f cookutils/cook.conf ~/Public/cgi-bin/cooker |
Hans-Günter@896 | 352 </pre> |
Hans-Günter@896 | 353 <p> |
Hans-Günter@896 | 354 Ändern Sie in der Konfigurationsdatei <code>~/Public/cgi-bin/cooker/cook.conf</code> in der Variablen |
Hans-Günter@896 | 355 SLITAZ den Pfad und alles ist erledigt! |
Hans-Günter@896 | 356 </p> |
Hans-Günter@896 | 357 |
Hans-Günter@896 | 358 <h3>Erzeugungsnotizen</h3> |
Hans-Günter@896 | 359 <p> |
Hans-Günter@896 | 360 Die Notizfunktion ermöglicht es, kleine persönliche Bemerkungen über die Paketerzeugung |
Hans-Günter@896 | 361 zu hinterlegen und nutzt der Zusammenarbeit mit anderen Entwicklern. |
Hans-Günter@896 | 362 Diese Funktion ist implementiert worden, um Informationen zwischen den Betreuern des |
Hans-Günter@896 | 363 Kompilierungsautomaten „Cooker“ und Entwicklern auszutauschen. |
Hans-Günter@896 | 364 „Cooker“ kann ein Paket sperren, so dass es nicht mehr erzeugt wird. Dann ist es hilfreich, beim |
Hans-Günter@896 | 365 Sperren eine Notiz zu hinterlegen, warum das Paket gesperrt wurde. |
Hans-Günter@896 | 366 Die Erzeugungsnotizen werden an der Web-Oberfläche angezeigt und können per Kommando erstellt und |
Hans-Günter@896 | 367 abgerufen werden: |
Hans-Günter@896 | 368 </p> |
Hans-Günter@896 | 369 <pre> |
Hans-Günter@896 | 370 # cooker note "<em>pkgname</em> wegen hoher CPU-Last gesperrt" |
Hans-Günter@896 | 371 # cooker notes |
Hans-Günter@896 | 372 </pre> |
Hans-Günter@896 | 373 |
Hans-Günter@896 | 374 <h3>„Cooker“ als Kompilierungsautomat</h3> |
Hans-Günter@896 | 375 <p> |
Hans-Günter@896 | 376 „Cooker“ ist als Kompilierungsautomat für SliTaz gestaltet, das heißt er überwacht |
Hans-Günter@896 | 377 zwei Woks, aktualisiert den Mercurial-Wok, stellt die Unterschiede fest und erzeugt alle |
Hans-Günter@896 | 378 übergebenen Pakete. Die sicherere und sauberere Art, „Cooker“ als Kompilierungsautomat einzusetzen, |
Hans-Günter@896 | 379 stellt die Nutzung einer „chroot“-Umgebung dar; aber auch der direkte Ablauf auf Ihrem Rechner ist |
Hans-Günter@896 | 380 möglich. |
Hans-Günter@896 | 381 </p> |
Hans-Günter@896 | 382 <p> |
Hans-Günter@896 | 383 Mit <code>cron</code> in der „chroot“-Umgebung kann „Cooker“ automatisch gestartet werden, indem in |
Hans-Günter@896 | 384 die Datei <code>/var/spool/cron/crontabs/root</code> eine entsprechende Zeile eingefügt wird. Wenn |
Hans-Günter@896 | 385 „Cooker“ alle zwei Stunden gestartet werden soll zum Beispiel: |
Hans-Günter@896 | 386 </p> |
Hans-Günter@896 | 387 <pre> |
Hans-Günter@896 | 388 * */2 * * * /usr/bin/cooker |
Hans-Günter@896 | 389 </pre> |
Hans-Günter@896 | 390 |
Hans-Günter@896 | 391 <h3>„Cooker“-Kompilierungsautomat bei der Systemeinleitung starten</h3> |
Hans-Günter@896 | 392 <p> |
Hans-Günter@896 | 393 Bei der Systemeinleitung kann die Umgebung für „Cooker“ eingerichtet werden und der cron-Prozess |
Hans-Günter@896 | 394 gestartet werden. Damit dies richtig funktioniert, muss das Paket <code>cookutils-daemon</code> |
Hans-Günter@896 | 395 installiert sein und eine Standard-SliTaz-Installation verwendet werden (die Paketerzeugung spielt sich |
Hans-Günter@896 | 396 in <code>/home/slitaz/cooking</code> ab). Die Kommandoprozedur von <code>cookutils-daemon</code> |
Hans-Günter@896 | 397 hängt alle benötigten virtuellen Dateisysteme ein wie auch <code>source</code> und <code>packages</code>. |
Hans-Günter@896 | 398 Quelldateien befinden sich im Verzeichnis <code>/home/slitaz/src</code> und werden in die |
Hans-Günter@896 | 399 „chroot“-Umgebung eingebunden, so dass Paketquellen in verschiedenen Versionen (stabil, Entwicklung, |
Hans-Günter@896 | 400 inoffiziell) gemeinsam benutzt werden können. So wird <code>cookutils-daemon</code> installiert: |
Hans-Günter@896 | 401 </p> |
Hans-Günter@896 | 402 <pre> |
Hans-Günter@896 | 403 # tazpkg get-install cookutils-daemon |
Hans-Günter@896 | 404 </pre> |
Hans-Günter@896 | 405 <p> |
Hans-Günter@896 | 406 Damit der Hintergrundprozess gestartet werden kann, muss in der „chroot“-Umgebung eine cron-Datei |
Hans-Günter@896 | 407 für root vorhanden sein. Die Kommandoprozedur funktioniert wie die aller anderen Hintergrundprozesse |
Hans-Günter@896 | 408 und wird aufgerufen mit: |
Hans-Günter@896 | 409 </p> |
Hans-Günter@896 | 410 <pre> |
Hans-Günter@896 | 411 # /etc/init.d/cooker [start|stop|restart] |
Hans-Günter@896 | 412 </pre> |
Hans-Günter@896 | 413 |
Hans-Günter@896 | 414 <!-- End content --> |
Hans-Günter@896 | 415 </div> |
Hans-Günter@896 | 416 |
Hans-Günter@896 | 417 <footer> |
Hans-Günter@896 | 418 Copyright © <span class="year"></span> <a href="http://www.slitaz.org/">SliTaz GNU/Linux</a> |
Hans-Günter@896 | 419 </footer> |
Hans-Günter@896 | 420 |
Hans-Günter@896 | 421 </body> |
Hans-Günter@896 | 422 </html> |