Pacbuild
From ArchWiki
Pacbuild is a distributed building daemon that can be used to build packages automatically and search for problems in packages. More information can be had here: http://xentac.net/~jchu/blog/static/pacbuild
If you are interested in offering a machine to build on (any architecture is welcome, but i686 is the most prevalent), contact Jason Chu (jason@archlinux.org) and he will give you a username and password.
Then, install the pacbuild package and edit /etc/strawberryConfig.py.
For i686, you want it to look like this, where <username> is your username and <password> is your password:
#
# strawberryConfig - Config file for strawberry daemon
# Copyright (C) 2005 Jason Chu <jason@archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
from sqlobject import *
import os, os.path
user = '<username>'
password = '<password>'
url = 'http://xentac.net:8888'
buildDir = '/mnt/temp/wakachroot'
maxBuilds = 1
DBdir = '/var/lib/pacbuild'
if not os.path.isdir(DBdir):
os.makedirs(DBdir)
database = connectionForURI("sqlite://%s/strawberry.db"%DBdir)
sleeptime = 600
currentUrl = "ftp://ftp.archlinux.org/current/os/${CARCH}"
extraUrl = "ftp://ftp.archlinux.org/extra/os/${CARCH}"
pacmanConf = """
[options]
LogFile = /var/log/pacman.log
NoUpgrade = etc/passwd etc/group etc/shadow etc/sudoers
NoUpgrade = etc/fstab etc/raidtab etc/ld.so.conf
NoUpgrade = etc/rc.conf etc/rc.local
NoUpgrade = etc/modprobe.conf etc/modules.conf
NoUpgrade = etc/lilo.conf boot/grub/menu.lst
HoldPkg = pacman glibc
[current]
Server = ftp://ftp.archlinux.org/current/os/i686
[extra]
Server = ftp://ftp.archlinux.org/extra/os/i686
"""
Once you've saved the config file, add strawberry to the DAEMONS variable in /etc/rc.conf. If you want the daemon to start before you reboot run /etc/rc.d/strawberry startas root.
Then just sit back and relax. That's all you need to do to help out with pacbuild.
[edit] See Also
[edit] TODO
Left to do before 0.4:
- unionfs support for image building [Simo]
-
strawberry knows what arch it's building for[Jason] -
builders aren't tied to an arch[Jason] -
submitters can submit for any arch[Jason] -
build profiles are arch specific[Jason] -
paging for peach.py(Could be better, but it's good enough for now) -
separate builds by architecture (or have them all in one) in peach.py