Installation @ SLC4
Installation process goes in few steps. First is installation on 3 machines : server, builder and client. Next we have to configure all machines (writing configuration files and exchange of certificates and keys).
- prerequisites -- check if following packages are present in system
createrepo >= 0.4.3
mock >= 0.3
- check out latest stable version from Fedora CVS:
mkdir
cd
export CVSROOT=:pserver:anonymous@cvs.fedora.redhat.com:/cvs/fedora
cvs login (press enter)
cvs checkout -r STABLE_0_4 extras-buildsys
- read documentation in README
- build and install rpm packages
cd extras-buildsys
make rpm
cd dist/noarch
yum install *rpm
Certificates
mkdir builder1
cp ca/index.txt.old ca/index.txt
cp ca/serial.old ca/serial
/usr/bin/plague-certhelper.py normal --outdir=builder1 --name=builder1 --cadir=ca --caname=my_ca
All fields should be the same as during generation of CA certificate (espessialy Common Name and Email Address).
On builder1 machine (replace HOSTNAME by hostname of builder machine):
cp -r ca/ /etc/plague/ca/
cp builder1/builder1_key_and_cert.pem /etc/plague/builder/certs/
cp builder1/builder1_key_and_cert.pem /etc/plague/builder/certs/HOSTNAME.pem
On server machine:
cp -r ca/ /etc/plague/ca/
cp server/server_key_and_cert.pem /etc/plague/server/certs/
Builder configuration
- By default I got error message:
Job failed due to build errors! Please see build logs.
I checked that ls -al /var/lib/ | grep mock
gives : drwxr-xr-x 2 root mock 4096 Dec 26 2005 mock
User mock dont have access to write files in /var/lib/mock. So easy way to correct it it to put: chmod 775 /var/lib/mock
Server configuration
- Copy following lines to /etc/plague/server/plague-server.cfg
[mysql Engine]
host = localhost
password =
user = plague
database = plague
[Database]
engine = mysql
[Directories]
repo_dir = /usr/local/repodir
server_work_dir = /usr/local/rpmbuild
target_configs_dir = /etc/plague/targets
tmpdir = /tmp
[CVS]
use_cvs = no
[General]
hostname = HOSTNAME
[SSL]
server_key_and_cert = /etc/plague/server/certs/server_key_and_cert.pem
ca_cert = /etc/plague/ca/my_ca_ca_cert.pem
[UI]
use_ssl = yes
log_url = http://127.0.0.1/logs/
guest_allowed = yes
port = 8887
client_ca_cert = /etc/plague/server/certs/ui_ca_cert.pem
[pgdb Engine]
host = localhost
password =
user = plague
database = plague
[sqlite Engine]
timeout = 3
database = /etc/plague/server/jobdb
[Builders]
use_ssl = yes
builders = BUILDER-HOSTNAME:30000
[Email]
success_emails =
email_from = buildsys@foo.com
admin_emails =
Copy to /etc/plague/targets/fedora-4-i386-core.cfg :
[General]
distro = fedora
target = 4
basearch = i386
repo = core
testing = yes
repo_script =
[Arches]
# when a package is submitted for this target, build it for the following architectures
base_arches = i386
optional_arches = noarch
[Aliases]
cvs_alias =
# user_aliases are used for referring to this target
# ex: plague-client build package package-0.1-1.src.rpm fc4 <--- 'fc4' is the target
user_aliases = fc4
[Additional Packages Arches]
kernel = i386
[CVS]
cvs_root =
cvs_rsh =
Client configuration
- Copy SERVER:/etc/plague/ca/my_ca_ca_cert.pem to CLIENT:~/.server-ca-cert.pem
Sample use
--
LeszekGrzanka - 27 Nov 2006