# HG changeset patch # User Paul Issott # Date 1304763527 -3600 # Node ID 99f1b17a5659bde8c00137bd3a2b0a59b6763a25 # Parent d5ac94ecfdf00916803d75a6cd4246255d46e0fa Edit en.html diff -r d5ac94ecfdf0 -r 99f1b17a5659 doc/cookutils.en.html --- a/doc/cookutils.en.html Sat May 07 12:11:33 2011 +0200 +++ b/doc/cookutils.en.html Sat May 07 11:18:47 2011 +0100 @@ -17,74 +17,74 @@

SliTaz Cook & Cooker

- The SliTaz Cookutils provide tools and utils to build SliTaz packages. They + The SliTaz Cookutils provide tools and utils to help build SliTaz packages. They are easy to use and learn, fast and light. You will be able to create SliTaz - in a few commands. The cookutils provide the 'cook' utility and the + packages in a few commands. The cookutils provide the 'cook' utility and the Cooker.

- Cook let you compile and create a package, provide a log file and check + Cook lets you compile and create a package, provide a log file and check the receipt/package quality. The Cooker is a build bot with more automation - and can be used as a frontend to cook, since it provide a CGI/web interface - who let you view cook logs in a nice and colored way. Cook and the Cooker - use the same DB files and wok, ther share blocked - and broken packages as well as activity. + and can be used as a frontend to cook, since it provides a CGI/web interface + which lets you view cook logs in a nice and colored way. Cook and the Cooker + use the same DB files and wok, they share blocked + and broken packages as well as any activity.

Cook usage

- Cook provide a small built-in help usage that you can display with the - command 'usage'. It also have some options to perform special task on - a package, rater before cooking it or after. To get help and usage: + Cook provides a small built-in help usage that you can display with the + command 'usage'. It also has some options to perform special tasks on + a package before cooking it or after. To get help and usage:

 # cook usage
 
-

Howto work

+

Howto

- The first thing you will have to do before building packages is to setup - your environment. These 2 recommended way to work: cook directly on host + The first thing you will have to do before building packages is setup + your environment. The 2 recommended ways of working: cook directly on host or cook in chroot to protect your host. In the case you want to work in a - chroot you can install and use Tazdev to create one and chroot in it: + chroot you can install and use Tazdev to create one and chroot into it:

 # tazdev gen-chroot && tazdev chroot
 

- By default Tazdev create a chroot in /home/slitaz/cooking/chroot but you - can specify a custome path in argument. The chroot location is not + By default Tazdev creates a chroot in /home/slitaz/cooking/chroot but you + can specify a custom path in the argument. The chroot location is not important, when you will be in the chroot you will use standard SliTaz - path such as /home/slitaz/wok for the wok directory or /home/slitaz/log + paths such as /home/slitaz/wok for the wok directory or /home/slitaz/log for all the cook logs. As usual you can diplay tazdev help usage with: tazdev usage.

- When you use a chroot they is 2 special directories mounted with the bind + When you use a chroot there are 2 special directories mounted with the bind option: src and packages. The sources for all packages are stored by default in /home/slitaz/src, this directory is mounted into the chroot so the utils - can use them. This method let you share sources between many chroots such + can use them. This method lets you share sources between many chroots such as one for cooking and one for stable. The packages directory default location is: /home/slitaz/[version]/packages so they are not in the chroot - and safe in case the chroot is removed by error. + and are safe in case the chroot is removed by error.

Getting started

- So you decided the way you want to work, so let prepare the cook environement. - Cook use cook.conf configuration file, if you want to use custom path for - SliTaz directories and files, you have to modify it. The setup will create - some directories and files to keep trace on activity and error, all files + So you have decided the way you want to work, so lets prepare the cook environment. + Cook uses the cook.conf configuration file, if you want to use custom paths for + SliTaz directories and files, you'll have to modify it. The setup will create + some directories and files to keep trace of activity and errors, all files are pure plain text files that you can open in a text editor. To prepare - you environment: + your environment:

 # cook setup
 

- The setup command have a --wok option who let you clone SliTaz wok while - setting up your cook environment. Even if you not yet an official developers - you can clone it and use existing packages as example to create your own. + The setup command has a --wok option which lets you clone a SliTaz wok while + setting up your cook environment. Even if you not yet an official developer + you can clone it and use existing packages as an example to create your own. To setup and clone the wok:

@@ -93,9 +93,9 @@
 
 

Test your environment

- Cook provide a test command who will create a package and cook it. This let - you see if your enviroment and by the it provide and example package with - a receipt. The create package is named 'cooktest' and can be removed after + Cook provides a test command which will create a package and cook it. This lets + you see if your enviroment is working and it provides an example package with + a receipt. The dummy package is named 'cooktest' and can be removed after testing. To cook the cooktest:

@@ -111,7 +111,7 @@
 # cook new pkgname
 

- If you just created a new package, you have to edit the receipt with your + If you have just created a new package, you'll have to edit the receipt with your favorite text editor. When the receipt is ready or if you have existing packages, you can cook it:

@@ -119,8 +119,8 @@ # cook pkgname

- If all went well you will find your packages in $SLITAZ/packages - directory and produced files in $SLITAZ/wok/pkgname. + If all went well you will find your packages in the $SLITAZ/packages + directory and any produced files in $SLITAZ/wok/pkgname.

Cook and install

@@ -133,8 +133,8 @@

Get sources

- If you want or need to download only the sources of a package but without - building it, you can use the option --getsrc as bellow: + If you want or need to download only the source of a package without + building it, you can use the option --getsrc as below:

 # cook pkgname --getsrc
@@ -142,7 +142,7 @@
 
 

Clean packages

- After compilation and packaging ther is several files in the wok that take + After compilation and packaging there are several files in the wok that take up disk space. To clean a single package:

@@ -157,18 +157,18 @@
 # cook clean-src
 
-

Packages lists

+

Packages list

- Cook can list packages in the wok but also create suitable packages list - for Tazpkg. That let you create a locale packages repository quiet easily - and is used to create official SliTaz packages list found on mirrors. To - list the current wok used by cook (you dont need to be root): + Cook can list packages in the wok and also create a suitable packages list + for Tazpkg. This lets you create a locale packages repository quite easily + and is used to create the official SliTaz packages list found on the mirrors. + To list the current wok used by cook (you don't need to be root):

 $ cook list-wok
 

- To create packages lists: + To create a packages list:

 # cook pkglist
@@ -177,16 +177,16 @@
 
 

The Cooker

- The Cooker is a Build Bot, it first usage is to check for commits in a wok, + The Cooker is a Build Bot, its first function is to check for commits in a wok, create an ordered cooklist and cook all modified packages. It can also be - used as a frontend to cook since they use the same files. The Cooker can - also be used to cook a big list of packages at once such has all package - of a flavor. The Cooker provide a nice CGI/Web interface that works by - default on any SliTaz system since we provide CGI support via Busybox httpd + used as a frontend to cook since they both use the same files. The Cooker can + also be used to cook a big list of packages at once such as all the packages + in a flavor. The Cooker provides a nice CGI/Web interface that works by + default on any SliTaz system since it provides CGI support via the Busybox httpd web server.

- The Cooker provide a small built-in help usage and short command switch. + The Cooker provides a small built-in help usage and short command switch. For example to display usage you can use:

@@ -196,11 +196,11 @@
 
 

Cooker setup

- Like cook, the Cooker needs a working environment before starting using it. - The main difference with the cook environment is that the Cooker needs 2 wok. - One Hg and clean wok as reference and one build wok, in this way is is easy - to compare both wok and get modifications. If you already have a cook - environement, you must move your wok before setting up the Cooker or it + Like cook, the Cooker needs a working environment before starting to use it. + The main difference with the cook environment is that the Cooker needs 2 woks. + One Hg and clean wok as a reference and one build wok. In this way it is easy + to compare both woks and get modifications. If you already have a cook + environment, you must move your wok before setting up the Cooker or it will complain. Setup will also install a set of development packages that can be configured in the cook.conf configuration file and the variable SETUP_PKGS. To setup your cooker environment: @@ -209,8 +209,8 @@ # cooker setup

- If all went well you have now 2 wok, base developement packages installed - and all needed files created. The default behavor is to check for commits, + If all went well you have now 2 woks, base developement packages installed + and all needed files created. The default behavior is to check for commits, you can run a test:

@@ -219,14 +219,14 @@
 
 

Cooker cook

- Again, 2 way to work now: make change in the clean Hg wok and launch the - cooker without any argument or cook packages manually. The cooker let you - cook a single package, all packages of a category or a flavor. You can also + Again, 2 ways to work now: make changes in the clean Hg wok and launch the + cooker without any arguments or cook packages manually. The cooker lets you + cook a single package or all packages of a category or a flavor. You can also try to build all unbuilt packages, but be aware the Cooker was not designed to handle thousand of packages.

- To cook a single package wich is the same than 'cook pkgname' but with more + To cook a single package which is the same as 'cook pkgname' but with more logs:

@@ -234,9 +234,9 @@
 

To cook more than one package at once you have different kind of choices. - You use an existing package such as used for Live flavors, you can also - use a custom list with packages name line by line. Finaly you can build - all packages of a category. + You can use an existing package such as used for Live flavors, you can also + use a custom list using the package names listed line by line. Finally you can + build all packages of a category.

 # cooker flavor [name]
@@ -247,8 +247,8 @@
 
 

Blocked packages

- Cook and the Cooker handle a file with a list of blocked package so they - not cook when commits appends or if a cooklist is used. This is very useful + Cook and the Cooker handle a file with a list of blocked package so they will + not cook when commits happen or if a cooklist is used. This is very useful for a Cooker Build Bot in production. When you block or unblock a package you can add a note to the cooknotes. Blocking packages example:

@@ -269,9 +269,9 @@

Cooker CGI/Web

- To let you view log files in a nice way, keep activity trace and help find + To let you view log files in a nice way, keep trace of activity and help find errors, you can use the Cooker Web interface located by default in the folder - /var/www/cgi-bin/cooker. If you dont use a chroot and the Busybox httpd + /var/www/cgi-bin/cooker. If you don't use a chroot and the Busybox httpd web server is running, the web interface will work without configuration and should be reachable at: http://localhost/cgi-bin/cooker/cooker.cgi @@ -285,7 +285,7 @@ /home/slitaz/cooking/chroot

- With /etc/slitaz/cook.conf modified as bellow: + With /etc/slitaz/cook.conf modified as below:

 SLITAZ="/home/slitaz/cooking/chroot/home/slitaz"
@@ -294,27 +294,27 @@
 	Note: It's not obligatory to install the cookutils on your host to use the
 	web interface, you can also copy the cooker.cgi and style.css files for
 	example in your ~/Public directory and use a custom cook.conf with it. The
-	advantage of installing cookutils on the host is to get regular update via
-	Tazpkg packages manager. Say you have cloned or downloaded the cookutils:
+	advantage of installing cookutils on the host is to get regular updates via
+	the Tazpkg packages manager. Say you have cloned or downloaded the cookutils:
 

 $ cp -a cookutils/web ~/Public/cgi-bin/cooker
 $ cp -f cookutils/cook.conf ~/Public/cgi-bin/cooker
 

- Edit the configuration file: ~/Public/cgi-bin/cooker/cook.conf to set - SLITAZ path and you all done! + Edit the configuration file: ~/Public/cgi-bin/cooker/cook.conf to set your + SLITAZ path and you're all done!

Cooknotes

- The cooknotes feature let you write small personnal notes about packaging - and is usefull for collaboration. The cooknotes was coded to let SliTaz - Cooker bot maintainer share notes between them self and other contributors. - The Cooker can block packages build or recook packages manually, for example - it's nice to make a note if a package is blocked so the maintainer know why + The cooknotes feature lets you write small personal notes about packaging + and is useful for collaboration. The cooknotes was coded to let the SliTaz + Cooker bot maintainers share notes between themselves and other contributors. + The Cooker can block a package's build or recook packages manually, for example + it's nice to make a note if a package is blocked so that the maintainer knows why admin did that. Cooknotes are displayed on the web interface and can be - checked from cmdline: + checked from a cmdline:

 # cooker note "Blocked pkgname due to heavy CPU load"