tazwok view doc/tazwok.en.html @ rev 558
Remove ashism ==
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Tue Feb 26 08:31:13 2019 +0100 (2019-02-26) |
parents | f32580f50847 |
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="en" lang="en">
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="2008-07-18 20:30: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>NAME</h2>
34 <p>
35 Tazwok - SliTaz sources and packages cooker.
36 </p>
38 <h2>SYNTAX</h2>
39 <pre> tazwok [command] [package|list|category|dir] [--option]
40 </pre>
41 <h2>WARNING</h2>
42 <p>
43 This version of tazwok (tazwok-3.9 .*) is currently subject to active development and parts of program have
44 not yet been completely revised and corrected. In its current state, however you should not encounter major
45 problems during use. Any suggestions/comments/contributions are welcome: you will find the email
46 address of the maintainer at the end of this document.
47 </p>
48 <h2>DESCRIPTION</h2>
49 <p>
50 Tazwok is a command line tool to configure and compile a package from source. Tazwok can also create packages
51 ready to be used by Tazpkg, the SliTaz package manager. To work, Tazwok uses a directory containing
52 the receipt and any necessary information (stuff) for the construction of the package. This receipt is also used by
53 Tazpkg and consists of different variables and functions. Tazwok uses a configuration file (/etc/tazwok.conf)
54 to find the path to the wok, the package sources, and any generated .tazpkg packages. Tazwok can also generate
55 a list of packages with their md5, create packages interactively, search for packages in the wok, clean generated files and even
56 cook several packages at once (See available commands). Tazwok can be used to recompile SliTaz entirely from source.
57 </p>
58 <p>
59 Tazwok is entirely built from scratch using SHell script, compatible with Bash; it runs under Ash -
60 part of the Busybox project. Tazwok is distributed under the free GNU license GPL V3. The SliTaz
61 Cookbook also provides documentation about Tazwok and the package receipts.
62 </p>
64 <h2>GENERAL OPTIONS</h2>
65 <p>
66 Three options can be used with almost all orders tazwok. They are used to define the deposit to
67 which to apply the command, ie the folder containing subfolders clean-wok, wok, packages,
68 packages, incoming, src, log, optionally chroot. They are: SLITAZ_DIR: the directory in which are
69 deposits (default: /home/slitaz as defined in /etc/slitaz/slitaz.conf) SLITAZ_VERSION name of
70 the reference version, such stable cooking, ... (default: version that you use as defined
71 in /etc/slitaz-release) undigest: Indicates the use of a secondary deposit, for which
72 the reference is SLITAZ_VERSION.
73 </p>
74 <p>
75 In the absence of the option undigest, the address used will be depositing
76 $SLITAZ_DIR/$SLITAZ_VERSION (example would be /home/slitaz/cooking by default
77 if you use cooking) undigest If the option is present, it will $SLITAZ_DIR/$undigest
78 undigest option is important for some commands (eg configure-chroot build-depends, etc..),
79 when packets are missing from the secondary deposit, or information concerning them must be
80 found in the deposit reference. In other cases the use of or undigest SLITAZ_VERSION gives the same result.
81 </p>
82 <pre> # tazwok build-depends linux --SLITAZ_DIR=/home/pas-slitaz --SLITAZ_VERSION=cooking --undigest=undigest
83 </pre>
84 <h2>COMMANDS</h2>
85 <a name="usage"></a>
86 <h3><font color="#6c0023">usage</font></h3>
87 <p>
88 Usage displays a summary of available commands with a short description in English:
89 </p>
90 <pre> # tazwok usage
91 </pre>
92 <a name="stats"></a>
93 <h3><font color="#6c0023">stats</font></h3>
94 <p>
95 Stats displays information contained in the configuration file and the number of packages
96 available in the wok:
97 </p>
98 <pre> # tazwok stats
99 </pre>
100 <a name="list"></a>
101 <h3><font color="#6c0023">list</font></h3>
102 <p>
103 List allows you to list all the packages contained in the wok or the default categories
104 (you can create your own). It can also list packages by category:
105 </p>
106 <pre> # tazwok list
107 # tazwok list category
108 </pre>
109 <a name="info"></a>
110 <h3><font color="#6c0023">info</font></h3>
111 <p>
112 This command provides information on the package - name, version, etc. Info on the basic package receipt
113 is the same as displayed by Tazpkg and the installed packages:
114 </p>
115 <pre> # tazwok info package
116 </pre>
117 <a name="check-log"></a>
118 <h3><font color="#6c0023">check-log</font></h3>
119 <p>
120 When compiling a binary source, Tazwok generates a few messages stored in the file
121 'process.log'. To view:
122 </p>
123 <pre> # tazwok check-log package
124 </pre>
125 <a name="search"></a>
126 <h3><font color="#6c0023">search</font></h3>
127 <p>
128 Search allows you to search for packages in the wok. You can specify a term or package name:
129 </p>
130 <pre> # tazwok search name
131 </pre>
132 <a name="compile"></a>
133 <h3><font color="#6c0023">compile</font></h3>
134 <p>
135 This command uses the compilation rules (compile_rules) specified in the receipt for the package in
136 question to compile the sources. Note compilation rules are not always necessary - packages
137 generated by 'genpkg' and 'cook' can also compile sources and generate the binary package.
138 Example:
139 </p>
140 <pre> # tazwok compile package
141 </pre>
142 <a name="genpkg"></a>
143 <h3><font color="#6c0023">genpkg</font></h3>
144 <p>
145 Genpkg will generate the .tazpkg package using the 'genpkg_rules' found in the receipt.
146 Once the package is generated, it's stored in the repository of packages specified in the configuration
147 file ('tazwok stats' to view). The package can be used by Tazpkg or Tazlito to generate a LiveCD
148 distribution. Note that the standard files such as local, pixmap or name.desktop are automatically copied
149 to $fs/usr/share, provided the paths are standard or if the file exists in /stuff. Example using 'genpkg':
150 </p>
151 <pre> # tazwok genpkg package
152 </pre>
153 <a name="cook"></a>
154 <h3><font color="#6c0023">cook</font></h3>
155 <p>
156 Cook will simply compile and generate the package:
157 </p>
158 <pre> # tazwok cook package
159 </pre>
160 <a name="cook-list"></a>
161 <h3><font color="#6c0023">cook-list</font></h3>
162 <p>
163 This command will launch 'tazwok cook' on all packages in the list specified as an argument, and
164 their dependencies cooking if they are missing or need updating. Cook-list is used, for example,
165 to cook the base system, core applications, the X, packets of flavor, etc.. Cooklist can also be
166 used on a single package with the option - pkg. The option - Forced can be used to anneal all the
167 dependencies required cooking, even if they are already available and current, example toolchain
168 (see SLITAZ_TOOLCHAIN in /etc/slitaz/tazwok.conf). Without argument, cook-list uses the
169 default list of cooking, located in the folder 'package '.
170 </p>
171 <pre> # tazwok cook-list
172 # tazwok cook-list packages.cooklist --forced
173 # tazwok cook-list --pkg=firefox
174 </pre>
175 <a name="cook-commit"></a>
176 <h3><font color="#6c0023">cook-commit</font></h3>
177 <p>
178 The command 'cook-commit' to look for packages with revenue /stuff/descriptions were modified and updated
179 using cook. The research uses data changes md5 (identification by measuring different characteristics
180 of files) elements used in the previous cooking packages. This information is stored in the wok, if
181 they are absent they are derived from packages already prepared. The option - Forced commit forces to
182 check md5 use data from the packages, which is useful for retrieving consistent information if you
183 changed the lists commit/cooklist manually (rare). Default check-commit targets only those packages
184 which are already present in the package pools. The option - missing can scan the entire wok and
185 add all the packages that have not been cooked to the list.
186 </p>
187 <pre> # tazwok cook-commit # cook packages that need updating
188 # tazwok cook-commit --forced # Same, correting any inconsistencies in the data
189 # tazwok cook-commit --missing # Cook packages that need updating + the missing packets
190 # tazwok cook-commit --missing --forced
191 </pre>
192 <a name "cook-all"></a>
193 <h3><font color="#6c0023">cook-all</font></h3>
194 <p>
195 The command 'cook-all ' anneal allows all packets from wok. Without options, it is identical to cook-commit:
196 annealing only packets with receipts / description.txt / stuffs have been modified. The option - missing
197 also has the same effect as in cook-commit: add all the packages that have not yet been prepared.
198 The difference lies in the - Forced: here it means anneal all packets, even if they have not been
199 updated since the last firing. As explained below, the core of the tool chain will never be annealed
200 by this command.
201 </p>
202 <pre> # tazwok cook-all # identical to tazwok cook-commit
203 # tazwok cook-all --missing # identical to tazwok cook-commit --missing
204 # tazowk cook-all --forced # annealing all existing packages in your repository except the toolchain
205 # tazwok cook-all --forced --missing # annealing all packages of the wok execpt the toolchain
206 </pre>
207 <a name="cook-toolchain"></a>
208 <h3><font color="#6c0023">cook-toolchain</font></h3>
209 <p> Cook-toolchain is dedicated to controlling the firing of packages that allow all other preparations.
210 Indeed, the packets in the heart of the tool chain (for SliTaz linux-api-headers/glibc/binutils/gcc)
211 can not / should not be cooked differently in SliTaz. The preparation process of the tool chain is
212 unique, and uses the script 'cook-toolchain' from 'tazchroot'. The method used is an adaptation of
213 that presented in the book Linux From Scratch: a first toolchain temporary and unrelated to the
214 equipment / system used is prepared and used in cooking packages from the "real" chain tools. It
215 should be noted that this operation is quite long (several hours to several tens of hours depending
216 on hardware). This is the first step to fully realize SliTaz to compile from source.
217 </p>
218 <pre> # tazwok cook-toolchain
219 </pre>
220 <a name="clean"></a>
221 <h3><font color="#6c0023">clean</font></h3>
222 <p>
223 Clean can simply delete all files generated by compiling and packaging:
224 </p>
225 <pre> # tazwok clean package
226 </pre>
227 <a name="new-tree"></a>
228 <h3><font color="#6c0023">new-tree</font></h3>
229 <p>
230 The 'new-tree' command can create a new package in the wok and can be used interactively. It
231 will create a directory of the package and a receipt that can then be edited with your favorite
232 text editor. The receipt can also be configured using the '--interactive' option. For help you can look at existing
233 receipts or read the documentation in the Cookbook. Example:
234 </p>
235 <pre> # tazwok new-tree package
236 # tazwok new-tree package --interactive
237 </pre>
238 <a name="gen-list"></a>
239 <h3><font color="#6c0023">gen-list</font></h3>
240 <p>
241 The 'gen-list' command can generate a list of packages (packages.list), their md5 (packages.md5) and a list
242 of options containing information (packages.txt). The lists are created on the basis of packages
243 contained in a directory. The list in text format is built using a receipt contained in a wok. The default
244 packages directory is the one specified in the configuration file, you can also specify the directory on the
245 command line. Examples:
246 </p>
247 <pre> # tazwok gen-list
248 # tazwok gen-list --text
249 # tazwok gen-list /path/to/repository
250 </pre>
251 <a name="check-list"></a>
252 <h3><font color="#6c0023">check-list</font></h3>
253 <p>
254 The command 'checklist' fulfills the same function as 'gen-list', but it looks for packages that information
255 must be updated. For this reason it is generally faster, particularly when few packets have been modified.
256 Commands automatically use the cook. As for 'gen-list', if you do not specify a target, 'packages'and
257 'packages-incoming' will both be updated.
258 </p>
259 <pre> # tazwok check-list
260 # tazwok check-list /path/to/repository
261 </pre>
262 <a name="gen-wok-db"></a>
263 <h3><font color="#6c0023">gen-wok-db</font></h3>
264 <p>
265 'wok-db' means files used to quickly obtain the dependency relationships between revenue. This information is usually
266 added whenever necessary, and automatically, by tazwok. 'gen-wok-db ' is used to re-generate them in case of file corruption
267 (eg you killed tazwok while automatically generating these files).
268 </p>
269 <pre> # tazwok gen-wok-db
270 </pre>
271 <a name="report"></a>
272 <h3><font color="#6c0023">report</font></h3>
273 <p>Displays the contents of lists: commit / cooklist / broken / blocked, or only the requested list argument.
274 </p>
275 <pre> # tazwok report
276 # tazwok report cooklist
277 </pre>
278 <a name="gen-clean-wok"></a>
279 <h3><font color="#6c0023">gen-clean-wok and clean-wok</font></h3>
280 <p>
281 The 'gen-clean-wok' command can create a new wok, this is useful to save a version of the wok, or create a new wok
282 to test with another. Running 'clean-wok' will clean all packages in the current wok and delete any generated
283 files. To generate a clean wok or clean the current wok:
284 </p>
285 <pre> # tazwok gen-clean-wok path/to/new-wok
286 # tazwok clean-wok
287 </pre>
288 <a name="remove"></a>
289 <h3><font color="#6c0023">remove</font></h3>
290 <p>
291 Removes the package specified from the wok, including the receipt, stuff, all files, etc:
292 </p>
293 <pre> # tazwok remove package
294 </pre>
295 <a name="build-depends"></a>
296 <h3><font color="#6c0023">build-depends</font></h3>
297 <p>
298 Build-depends generates a list of packages to build a wok:
299 </p>
300 <pre> # tazwok build-depends
301 </pre>
302 <a name="cmp"></a>
303 <h3><font color="#6c0023">cmp|compare</font></h3>
304 <p>
305 Compares the wok and the cooked packages and generates a report.
306 Obsolete packages can be deleted with the --remove option.
307 The --cook option compiles the packages. Examples:
308 </p>
309 <pre> # tazwok compare
310 # tazwok compare --remove
311 # tazwok compare --cook
312 </pre>
313 <a name="check-commit"></a>
314 <h3><font color="#6c0023">check-commit</font></h3>
315 <p>
316 'check-commit' scans the wok to find recipes that have been modified and added to the cooklist default.
317 Options --forced and --missing here play the same role for cook-commit.
318 </p>
319 <pre> # tazwok check-commit
320 # tazwok check-commit --forced
321 # tazwok check-commit --missing
322 </pre>
323 <a name="check"></a>
324 <h3><font color="#6c0023">check</font></h3>
325 <p>
326 Checks the receipts for common errors:
327 </p>
328 <pre> # tazwok check
329 </pre>
330 <a name="update-wok"></a>
331 <h3><font color="#6c0023">update-wok</font></h3>
332 <p>
333 'update-wok' downloads or updates the contents in the wok-wok clean record of the deposit. Then it copies
334 the new elements in the cooking wok (wok folder) and remove those that no longer exist in the new version.
335 The addresses and the method (or tarball hg) used by this command are defined in tazwok.conf. The --local
336 option allows for only the second operation (copy files to the wok). This is useful if you have make changes
337 in the local clean-wok and want to add to wok cooking. This is especially useful for users of
338 mercurial (hg), since this tool is much faster with a wok that contains no files associated with the
339 compilation. In this case, make changes in the clean-wok then: tazwok update-wok --local.
340 </p>
341 <pre> # tazwok update-wok
342 # tazwok update-wok --local
343 </pre>
344 <a name="webserver"></a>
345 <h3><font color="#6c0023">webserver</font></h3>
346 <p>
347 'webserver' is the command that creates a PHP interface that provides information about the status
348 of deposits. Several deposits can be added/removed by using the options --SLITAZ_VERSION/--undigest.
349 The argument 'on ' you can add a deposit to the web interface, while the 'off' withdraw (in each case).
350 Using the default configuration, the interface will be available in your browser address
351 http://localhost/vhosts/bb/. Package 'php' should be installed to use this command.
352 </p>
353 <pre> # tazwok webserver on
354 # tazwok webserver off
355 </pre>
356 <h3><font color="#6c0023">chroot</font></h3>
357 <p>
358 Gen and Chroot into /home/slitaz/VERSION/chroot for building packages
359 </p>
360 <pre> # tazwok chroot
361 </pre>
362 <h2>MAINTAINER</h2>
363 <p>
364 Christophe Lincoln <pankso at slitaz.org>
365 </p>
367 <!-- End content -->
368 </div>
370 </body>
371 </html>