buildd.conf(5) configuration file for buildd

DESCRIPTION

buildd.conf is a Perl script which is sourced by buildd to permit configuration. It is run in a sandbox and restricted to setting a small number of variables, detailed below, which may be set to configure the behaviour of buildd. Each variable has an internal name, shown in all caps, and a perl variable showing the default setting. Note that the internal name is not accessible within buildd.conf; only the variable may be assigned. Also note that some of the defaults are set to be unique for each build, and so some of the defaults shown here are unique to the user and system used to build sbuild, and will be different for your system.

While buildd permits many aspects of its behaviour to be configured, this should not normally be required. The defaults should be adequate for most uses, and should only be changed if you are doing something more advanced, or have specialist requirements.

CONFIGURATION

Build environment

PATH
STRING type. PATH to set when running dpkg-buildpackage.
Related sbuild(1) command line options:

--use-snapshot
Default:

$path = '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games';

Build options

BUILD_ARCH
STRING type. Build architecture (Arch we are building on).
Related sbuild(1) command line options:

--arch
--build

build_arch = ...;
BUILD_PROFILES
STRING type. Build profiles. Separated by spaces.
Related sbuild(1) command line options:

--profiles
Default:

$build_profiles = '';
DISTRIBUTION
STRING type. Default distribution. By default, no distribution is defined, and the user must specify it with the -d option. However, a default may be configured here if desired. Users must take care not to upload to the wrong distribution when this option is set, for example experimental packages will be built for upload to unstable when this is not what is required.
Related sbuild(1) command line options:

-d
--dist
Default:

$distribution = undef;
DISTRIBUTIONS
ARRAY:HASH:SCALAR type. List of distributions that buildd should take packages from Example:

$distributions = [
       {

               # name of the suite to build (also used to query wanna-build)

               dist_name => ["unstable", "testing"],


               # architecture to be built (will be passed to sbuild and can be

               # used to compute wanna_build_db_name)

               built_architecture => undef,


               # host on which wanna-build is run

               wanna_build_ssh_host => "buildd.debian.org",


               # user as who we are going to connect to the host running wanna-build

               wanna_build_ssh_user => "buildd_arch",


               # SSH control socket path for ssh -S option

               wanna_build_ssh_socket => "",


               # Additional SSH options used when connecting

               wanna_build_ssh_options => [],


               # database used for wanna-build

               wanna_build_db_name => "arch/build-db",


               # Username to use for wanna-build.

               wanna_build_db_user => $Buildd::username,


               # Local queue directory where binaries are stored before uploaded

               # by dupload. You need to configure this directory in

               # @upload_queues to get packages uploaded from there.

               dupload_local_queue_dir => "upload",


               # list of packages which shouldn't be picked up by buildd

               no_auto_build => [],


               # list of packages which should only be taken if there absolutely

               # nothing else to do (probably packages included in no_auto_build

               # because they take too long)

               weak_no_auto_build => [],


               # regex used to filter out unwanted packages:

               #no_build_regex => "^(contrib/|non-free/)?non-US/",


               # regex used to filter packages to build:

               #build_regex => "",


               # mail addr of buildd admin handling packages from this distribution

               logs_mailed_to => $admin_mail,


               # schroot name (or alias) of the chrooted environment to use for

               # building (will be passed to sbuild). sbuild's default is

               # the first of $distribution-$arch-sbuild, $distribution-sbuild,

               # $distribution-$arch and $distribution.

               sbuild_chroot => undef,


       }

];

distributions = ...;
HOST_ARCH
STRING type. Host architecture (Arch we are building for)
Related sbuild(1) command line options:

--arch
--host

host_arch = ...;
NICE_LEVEL
NUMERIC type. Nice level to run sbuild. Dedicated build daemons should not be niced.
Default:

$nice_level = 10;

Core options

BUILD_USER
STRING type. Username used for running dpkg-buildpackage. By default the user running sbuild is used within the chroot as well but that might allow a process from within the chroot to break out of the chroot by attaching to a process running outside the chroot with eg. gdb and then becoming root inside the chroot through schroot and thus be able to leave the chroot.

build_user = ...;

Daemon

DAEMON_LOG_FILE
STRING type. Main buildd daemon log file
Default:

$daemon_log_file = '/sbuild-nonexistent/daemon.log';
DELAY_AFTER_GIVE_BACK
NUMERIC type. Time to avoid packages that have automatically been given back by sbuild (in minutes)
Default:

$delay_after_give_back = 480;
IDLE_SLEEP_TIME
NUMERIC type. Time to sleep when idle (in seconds) between wanna-build --list=needs-build calls)
Default:

$idle_sleep_time = 300;
MAX_SBUILD_FAILS
NUMERIC type. Maximum number of times sbuild can fail before sleeping
Default:

$max_sbuild_fails = 2;
MIN_FREE_SPACE
NUMERIC type. Minimum free space (in KiB) on build filesystem
Default:

$min_free_space = 51200;
NO_DETACH
BOOL type. Disable becoming a daemon, for debugging purposes. Set to 1 to stop daemonising, otherwise set to 0 to become a daemon.
Default:

$no_detach = 0;
PIDFILE
STRING type. PID file to identify running daemon.
Default:

$pidfile = '/sbuild-nonexistent/build/buildd.pid';
SHOULD_BUILD_MSGS
BOOL type. Should buildd send "Should I build" messages?
Default:

$should_build_msgs = 1;

Logging options

DEBUG
NUMERIC type. Debug logging level
Default:

$debug = 0;
VERBOSE
NUMERIC type. Verbose logging level
Default:

$verbose = 0;

Mail

ADMIN_MAIL
STRING type. email address for admin
Default:

$admin_mail = 'root';
ERROR_MAIL_WINDOW
NUMERIC type. If more than five error mails are received within the specified time (in seconds), do not forward (to avoid possible mail loops)
Default:

$error_mail_window = 28800;
LOG_QUEUED_MESSAGES
BOOL type. Log success messages from upload queue daemon?
Default:

$log_queued_messages = 0;

Programs

APT_GET
STRING type. Path to apt-get binary
Default:

$apt_get = 'apt-get';
MAILPROG
STRING type. Program to use to send mail
Default:

$mailprog = '/usr/sbin/sendmail';
SSH
STRING type. Path to ssh binary
Default:

$ssh = 'ssh';
SUDO
STRING type. Path to sudo binary
Default:

$sudo = 'sudo';

Uploader

UPLOAD_QUEUES
ARRAY:HASH:SCALAR type. Package upload queues Example:

$upload_queues = [
       {

               # Local queue directory where binaries are stored before uploaded

               # by dupload.

               dupload_local_queue_dir => "upload",


               # Upload site for buildd-upload to pass to dupload(1); see

               # /etc/dupload.conf for possible values.

               dupload_archive_name => "anonymous-ftp-master",

       },


       {

               # Local queue directory where binaries are stored before uploaded

               # by dupload.

               dupload_local_queue_dir => "upload-security",


               # Upload site for buildd-upload to pass to dupload(1); see

               # /etc/dupload.conf for possible values.

               dupload_archive_name => "security",

       }

];

upload_queues = ...;

Watcher

BUILD_LOG_KEEP
NUMERIC type. Number of days until build logs are archived
Default:

$build_log_keep = 2;
DAEMON_LOG_KEEP
NUMERIC type. Number of days until old daemon logs are archived in a .tar.gz file
Default:

$daemon_log_keep = 7;
DAEMON_LOG_ROTATE
NUMERIC type. Number how many days until daemon logs are rotated (one is kept as daemon.log.old, others are moved to old-logs and gzipped)
Default:

$daemon_log_rotate = 1;
DAEMON_LOG_SEND
BOOL type. email rotated daemon logs to the admin?
Default:

$daemon_log_send = 1;
NO_WARN_PATTERN
STRING type. Don't complain about old files if they match the regexp.
Default:

$no_warn_pattern = '^build/(SKIP|REDO|SBUILD-GIVEN-BACK|buildd\.pid|[^/]*.ssh|chroot-[^/]*|current-[^/]*)$';
PKG_LOG_KEEP
NUMERIC type. Number of days until to package logs are archived
Default:

$pkg_log_keep = 7;
STATISTICS_MAIL
STRING type. email address for statistics summaries
Default:

$statistics_mail = 'root';
STATISTICS_PERIOD
NUMERIC type. Period for statistic summaries (days)
Default:

$statistics_period = 7;
WARNING_AGE
NUMERIC type. Age (in days) after which a warning is issued for files in upload and dirs in build
Default:

$warning_age = 7;

wanna-build client

BUILT_ARCHITECTURE
STRING type. Architecture for database

wanna_build_built_architecture = ...;
WANNA_BUILD_DB_NAME
STRING type. Database name
Default:

$wanna_build_db_name = undef;
WANNA_BUILD_DB_USER
STRING type. Database user

wanna_build_db_user = ...;
WANNA_BUILD_SSH_HOST
STRING type. Host for SSH connection
Default:

$wanna_build_ssh_host = '';
WANNA_BUILD_SSH_OPTIONS
ARRAY:STRING type. SSH options. Note this is an array reference.
Default:

$wanna_build_ssh_options = [];
WANNA_BUILD_SSH_SOCKET
STRING type. Socket for SSH connection
Default:

$wanna_build_ssh_socket = '';
WANNA_BUILD_SSH_USER
STRING type. Username for SSH connection
Default:

$wanna_build_ssh_user = '';

FILES

/etc/buildd/buildd.conf
Configuration, maintained by the system administrator. This may be used to override the defaults.
~/.builddrc
User-specific configuration.

AUTHORS

Roman Hodek <[email protected]>.

sbuild is based on debbuild, written by James Troup <[email protected]> and has been modified by

Ben Collins <[email protected]>,
Ryan Murray <[email protected]>,
Francesco Paolo Lovergine <[email protected]>,
Michael Banck <[email protected]>, and
Roger Leigh <[email protected]>

COPYRIGHT

Copyright © 1998-2000 Roman Hodek <[email protected]>
Copyright © 1998-1999 James Troup <[email protected]>
Copyright © 2003-2006 Ryan Murray <[email protected]>
Copyright © 2001-2003 Rick Younie <[email protected]>
Copyright © 2003-2004 Francesco Paolo Lovergine <[email protected]>
Copyright © 2005      Michael Banck <[email protected]>
Copyright © 2005-2009 Roger Leigh <[email protected]>