# HG changeset patch # User Christophe Lincoln # Date 1245449780 -7200 # Node ID 130f26e8130deaa1220fb82c507aed08ff21ec35 # Parent 7a4bd9bced35edf57b3bd93556d2df4e4daa747b Add Cookbook page about SliTaz Build Bot (tazbb) diff -r 7a4bd9bced35 -r 130f26e8130d en/doc/cookbook/build-bot.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/en/doc/cookbook/build-bot.html Sat Jun 20 00:16:20 2009 +0200 @@ -0,0 +1,180 @@ + + + + SliTaz Cookbook (en) - Build Bot + + + + + + + + + + + + + + + +
+
+ +

Build Bot (tazbb)

+ +

+The goal of Tazbb is to automate, test and report packages building from a +wok. Run tazbb usage for the list of available commands with +a short description. Status of Tank Build Bot via Tazbb web interface at +bb.slitaz.org and for collaboration: +Tazbb Wiki. +

+ + + + +

How it works

+

+Tazbb can be run by a cron job and check the last commit done by contributors +and then cook modified packages. Runnning 'tazbb cook-commit' will just +rebuild last modified packages, to rebuild all missing, modified or unbuilt +packages you must use 'tazbb cook-all'. +

+

+Generating report will source all receipt in the wok and check if the package +file exist, if not we add the package name in the current cooklist. For +existing packages we compare all files date in the Hg wok (receipt, stuff) +to the package.tazpkg file date, if it differ we add the package to the cooklist. +

+

+Tazbb must also look in the chroot wok to check if the package is built, there +should be a taz/ directory, if none we log and add it also to the cooklist. +All package are cooked with 'script', log for cooked packages are stored in +$LOG_DIR and a link exist for the web interface so developers can easily check +the bug. +

+

+When run with the option 'cook' Tazbb will also remove oold and corrupted packages, +and then execute 'tazwok genlist --text' to rebuild all packages lists. To work +properly Tazwok and Tazbb configured paths must match. Tazbb system wide configuration +file is: /etc/slitaz/tazbb.conf +

+ + +

Commands

+

+Tazbb can be installed on your machine and be run manualy from the command +line, just type 'tazbb usage' for a list of available functions. Tazbb can be +run in report mode and display more information with the '--verbose' option. +

+ + +

Hg and chroot Wok

+

+Tazbb use 2 wok: a clean Hg wok and a wok to build package in a chroot. +Each time Tazbb is called, the Hg wok is updated and copied to the build +wok so we avoid messing with build results and we can also modify manually +receipts or patches directly with affecting the main Hg. If configured +correctly 'tazdev update-wok' can also update the Hg wok and copy files. +

+ + +

Log files

+

+Tazbb use existing tool such as tazwok to build package but generate it own +log files and have it own database stored in text file. The log files are +available throught the web interface and the default path for the files is +naturally: /var/log/tazbb +

+ + +

Web interface

+

+Tazbb log's all his activity to log files and cooklist, these informations +can be displayed throught a nice web interface so developers can have a quick +overview of the last build results. Tazbb package provide a PHP web interface, +CSS style and images installed by default in /var/lib/tazbb/web, +a symlink is created in /var/www/vhosts by the package, it provide +easy access to the generated log files through a virtual host or you can use: +http://localhost/vhosts/bb +

+ + +

Hg hook

+

+Mercurial offers a powerful mechanism to perform automated actions in response +to events that occur in a repository. The name Mercurial uses for one of these +actions is a hook. So Tazbb can be run each time a commit is done in the wok +throught a simple hook in the .hgrc file of the repository. Example : +

+
+[hooks]
+commit = tazbb cook-commit
+
+ + +

Cron Job

+

+Tazbb can be run by a cron tab, so each new commit in the wok will cook the +correct package ech time you want, cron can also be used to refresh the report +or run a full cook. If the last cook is not yet finished or if tazbb has been +run by hand and is still running, it will exit due to a lock file in /var/lock. +Example of cron job's to cook commit each 2 hour and cook all missing, modified +or unbuilt packages each night : +

+
+*/2 * * * * /usr/bin/tazbb cook-commit
+03 02 * * * /usr/bin/tazbb cook-all
+
+ + +

Database Files

+ + + +
+ + + + +
+ Copyright © 2009 SliTaz - + GNU General Public License;
+ Documentation is under + GNU Free Documentation License + and code is valid xHTML 1.0. +
+ + + diff -r 7a4bd9bced35 -r 130f26e8130d en/doc/cookbook/index.html --- a/en/doc/cookbook/index.html Fri Jun 19 23:17:13 2009 +0200 +++ b/en/doc/cookbook/index.html Sat Jun 20 00:16:20 2009 +0200 @@ -6,7 +6,7 @@ - + @@ -33,36 +33,40 @@

About this Cookbook

-The Cookbook brings together information about the project management, operation and -development of the distribution. It talks about creating packages, receipts, the wok, -and scripts that start SliTaz. +The Cookbook brings together information about the project management, operation +and development of the distribution. It talks about creating packages, receipts, +the wok, and scripts that start SliTaz.

-At the base of the Cookbook is the Scratchbook, -this contains instructions to create your own LiveCD by describing the creation of the -first ever public version of SliTaz in March 2007. -The Cookbook is modified by the SliTaz community and steadily improved, it provides technical -instructions about the project useful to developers and advanced users. +At the base of the Cookbook is the Scratchbook, +this contains instructions to create your own LiveCD by describing the creation +of the first ever public version of SliTaz in March 2007. The Cookbook is modified +by the SliTaz community and steadily improved, it provides technical instructions +about the project useful to developers and advanced users.

-