aboutsummaryrefslogtreecommitdiff
path: root/README
blob: ddf981e67af39ec8ac84a48de205288b8d3b03df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
=====================
= Gentoaster README =
=====================

Foreword
=======
Right now I'm developing this on Ubuntu/Debian, so the following instructions are for those platforms. This will eventually run on Gentoo, of course.


Prerequisites
=============

php5-cli
php5-dev
php5-mysql
gearman-job-server
gearman-php-ext
qemu-utils
extlinux
sfdisk
git

There might be more, I'll update this list at some point. Install these as follows: sudo apt-get install php5-cli php5-dev php5-mysql gearman-job-server qemu-utils extlinux sfdisk git

The Gearman PHP extension has to be installed manually, as follows:

wget http://pecl.php.net/get/gearman-0.7.0.tgz
tar xvf gearman-0.7.0.tgz
cd gearman-0.7.0
phpize
./configure
make
sudo make install

Add "extension=gearman.so" to your php.ini (probably /etc/php5/cli/php.ini)

Installation
============

cd /usr/share
git clone http://git.overlays.gentoo.org/gitroot/proj/gentoaster.git


Running
=======

There's no init script for the daemon yet, so simply run as follows:

sudo php5 /usr/share/gentoaster/daemon.php &

Note the use of sudo, the daemon MUST be ran as root for it to work, otherwise all builds will fail.

Now that the daemon is running, you can try a build, using the sample client:

php5 /usr/share/gentoaster/client.php /usr/share/gentoaster/configs/minimal.ini

This will give you some output similar to the following:

Job sent, handle was H:lucidity:3 - hash 6085655f187a8442f82c43ebf98e5fdb

You can check on the status of that build by running the following:

php5 /usr/share/gentoaster/status.php <handle hash>

Where <handle hash> is the hash returned by client.php (for example 6085655f187a8442f82c43ebf98e5fdb)

If the build is still running, you'll get a progress percentage. If it's finished, the return code and result message will be shown.