Provided by: sbuild_0.85.0ubuntu2_all bug

NAME

       sbuild.conf - configuration file for sbuild

DESCRIPTION

       sbuild.conf  is  a  Perl script which is sourced by sbuild 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 sbuild.  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 sbuild.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 sbuild 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
       LD_LIBRARY_PATH
              STRING type.  Library search path to use inside the chroot.

              Related sbuild(1) command line options:

              --use-snapshot

              Default:

              $ld_library_path = undef;

       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
       APPEND_TO_VERSION
              STRING type.  Suffix to append to version number.  May  be  useful  for  derivative
              distributions.

              Related sbuild(1) command line options:

              --append-to-version

              Default:

              $append_to_version = undef;

       BIN_NMU
              STRING type.  Binary NMU changelog entry.

              Related sbuild(1) command line options:

              --make-binNMU

              Default:

              $bin_nmu = undef;

       BIN_NMU_CHANGELOG
              STRING  type.   The  content of a binary-only changelog entry. Leading and trailing
              newlines will be stripped.

              Related sbuild(1) command line options:

              --binNMU-changelog

              Default:

              $bin_nmu_changelog = undef;

       BIN_NMU_TIMESTAMP
              STRING type.  Binary NMU timestamp. The timestamp is either given as n  integer  in
              Unix  time  or  as  a string in the format compatible with Debian changelog entries
              (i.e. as it is generated by date -R). If set to the default  (undef)  the  date  at
              build time is used.

              Related sbuild(1) command line options:

              --binNMU-timestamp

              Default:

              $bin_nmu_timestamp = undef;

       BIN_NMU_VERSION
              STRING type.  Binary NMU version number.

              Related sbuild(1) command line options:

              --binNMU
              --make-binNMU

              Default:

              $bin_nmu_version = undef;

       BUILD_ARCH
              STRING type.  Build architecture (Arch we are building on).

              Related sbuild(1) command line options:

              --arch
              --build

              build_arch = ...;

       BUILD_ARCH_ALL
              BOOL type.  Build architecture: all packages by default.

              Related sbuild(1) command line options:

              --arch-all
              --no-arch-all

              Default:

              $build_arch_all = undef;

       BUILD_ARCH_ANY
              BOOL type.  Build architecture: any packages by default.

              Related sbuild(1) command line options:

              --arch-any
              --no-arch-any

              Default:

              $build_arch_any = 1;

       BUILD_ENV_CMND
              STRING type.  This command is run with the dpkg-buildpackage command line passed to
              it (in the chroot, if doing a chrooted build).  It is  used  by  the  sparc  buildd
              (which  is  sparc64)  to call the wrapper script that sets the environment to sparc
              (32-bit).  It could be used for other build environment setup scripts.   Note  that
              this is superseded by schroot's 'command-prefix' option

              Default:

              $build_env_cmnd = '';

       BUILD_PATH
              STRING  type.   By  default  the package is built in a path of the following format
              /build/packagename-XXXXXX/packagename-version/  where  XXXXXX  is  a  random  ascii
              string.  This option allows one to specify a custom path where the package is built
              inside the chroot. The sbuild user in the chroot must have  permissions  to  create
              the  path.  Common  writable  locations are subdirectories of /tmp or /build. Using
              /tmp might be dangerous, because (depending on the chroot backend) the /tmp  inside
              the  chroot  might  be  a world writable location that can be accessed by processes
              outside the chroot. The directory /build can only be accessed by  the  sbuild  user
              and  group  and should be a safe location. The buildpath must be an empty directory
              because the last component of the path will be removed after the build is finished.
              Notice  that  depending  on  the  chroot  backend (see CHROOT_MODE), some locations
              inside the chroot might be bind mounts that are shared with other sbuild instances.
              You  must  avoid  using  these  shared  locations  as  the  build path or otherwise
              concurrent runs of sbuild  will  likely  fail.  With  the  default  schroot  chroot
              backend,  the directory /build is shared between multiple schroot sessions. You can
              change this behaviour in /etc/schroot/sbuild/fstab. The behaviour of  other  chroot
              backends will vary.

              Related sbuild(1) command line options:

              --build-path

              Default:

              $build_path = undef;

       BUILD_PROFILES
              STRING  type.   Build  profiles.  Separated by spaces. Defaults to the value of the
              DEB_BUILD_PROFILES environment variable when building natively and to the cross and
              nocheck profiles when cross-building.

              Related sbuild(1) command line options:

              --profiles

              Default:

              $build_profiles = undef;

       BUILD_SOURCE
              BOOL  type.  By default, do not build a source package (binary only build).  Set to
              1 to force creation of a source package, but note that this  is  inappropriate  for
              binary NMUs, where the option will always be disabled.

              Related sbuild(1) command line options:

              -s
              --source
              --no-source

              Default:

              $build_source = 0;

       CHECK_SPACE
              BOOL  type.   Check free disk space prior to starting a build.  sbuild requires the
              free space to be at least twice the size of the unpacked sources to allow  a  build
              to  proceed.   Can  be disabled to allow building if space is very limited, but the
              threshold to abort a build has been exceeded despite there being  sufficient  space
              for the build to complete.

              Default:

              $check_space = 1;

       CLEAN_SOURCE
              BOOL  type.   When  running  sbuild  from  within  an unpacked source tree, run the
              'clean' target before generating the source package. This might require some of the
              build  dependencies necessary for running the 'clean' target to be installed on the
              host machine. Only disable if you start from a clean checkout and you know what you
              are doing.

              Related sbuild(1) command line options:

              --clean-source
              --no-clean-source

              Default:

              $clean_source = 1;

       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;

       DSC_DIR
              STRING  type.   By  default  the package is built in a path of the following format
              /build/packagename-XXXXXX/packagename-version/   where   packagename-version    are
              replaced  by  the  values  in debian/changelog. This option allows one to specify a
              custom packagename-version path where the package is built inside the chroot.  This
              is useful to specify a static path for different versions for example for ccache.

              Related sbuild(1) command line options:

              --dsc-dir

              Default:

              $dsc_dir = undef;

       FORCE_ORIG_SOURCE
              BOOL  type.   By  default, the -s option only includes the .orig.tar.gz when needed
              (i.e. when the Debian revision is 0 or 1).   By  setting  this  option  to  1,  the
              .orig.tar.gz will always be included when -s is used.

              Related sbuild(1) command line options:

              --force-orig-source

              Default:

              $force_orig_source = 0;

       GCC_SNAPSHOT
              BOOL type.  Build using current GCC snapshot?

              Related sbuild(1) command line options:

              --use-snapshot

              Default:

              $gcc_snapshot = 0;

       HOST_ARCH
              STRING type.  Host architecture (Arch we are building for)

              Related sbuild(1) command line options:

              --arch
              --host

              host_arch = ...;

       PGP_OPTIONS
              ARRAY:STRING type.  Additional signing options for dpkg-buildpackage

              Default:

              $pgp_options = [
                               '-us',
                               '-uc'
                             ];

       SOURCE_ONLY_CHANGES
              BOOL type.  Also produce a changes file suitable for a source-only upload.

              Related sbuild(1) command line options:

              --source-only-changes

              Default:

              $source_only_changes = 0;

       TOOLCHAIN_REGEX
              ARRAY:STRING  type.  Regular expressions identifying toolchain packages.  Note that
              for backward compatibility, this is also settable using the array  @toolchain_regex
              (deprecated), rather than an array reference.

              Default:

              $toolchain_regex = [
                                   'binutils$',
                                   'dpkg-dev$',
                                   'gcc-[\d.]+$',
                                   'g\+\+-[\d.]+$',
                                   'libstdc\+\+',
                                   'libc[\d.]+-dev$',
                                   'linux-kernel-headers$',
                                   'linux-libc-dev$',
                                   'gnumach-dev$',
                                   'hurd-dev$',
                                   'kfreebsd-kernel-headers$'
                                 ];

   Build timeouts
       INDIVIDUAL_STALLED_PKG_TIMEOUT
              HASH:NUMERIC  type.  Some packages may exceed the general timeout (e.g. redirecting
              output to a file) and need a different timeout.  This  has  is  a  mapping  between
              source  package  name  and  timeout.  Note that for backward compatibility, this is
              also settable using the hash %individual_stalled_pkg_timeout (deprecated) ,  rather
              than a hash reference.

              Example:

              $individual_stalled_pkg_timeout->{'llvm-toolchain-3.8'} = 300;
              $individual_stalled_pkg_timeout->{'kicad-packages3d'} = 90;

              Default:

              $individual_stalled_pkg_timeout = {};

       LOCK_INTERVAL
              NUMERIC type.  Lock wait interval (seconds).  Maximum wait time is (max_lock_trys x
              lock_interval).

              Default:

              $lock_interval = 5;

       MAX_LOCK_TRYS
              NUMERIC type.  Number of times to try waiting for a lock.

              Default:

              $max_lock_trys = 120;

       STALLED_PKG_TIMEOUT
              NUMERIC type.  Time (in minutes) of inactivity after which a build  is  terminated.
              Activity is measured by output to the log file.

              Default:

              $stalled_pkg_timeout = 150;

   Build validation
       AUTOPKGTEST
              STRING type.  Path to autopkgtest binary

              Related sbuild(1) command line options:

              --autopkgtest-opt
              --autopkgtest-opts

              Default:

              $autopkgtest = 'autopkgtest';

       AUTOPKGTEST_OPTIONS
              ARRAY:STRING  type.   Options  to  pass  to autopkgtest.  Each option is a separate
              arrayref  element.   For  example,  ['-b',  '<chroot_tarball>']  to  add   -b   and
              <chroot_tarball>.

              Default:

              $autopkgtest_opts = [];

       AUTOPKGTEST_REQUIRE_SUCCESS
              BOOL type.  Let sbuild fail if autopkgtest fails.

              Default:

              $autopkgtest_require_success = 0;

       AUTOPKGTEST_ROOT_ARGS
              ARRAY:STRING  type.   Preceding  arguments  to launch autopkgtest as root. With the
              default value (the empty array) "sudo --" will be used as a prefix.  If  the  first
              element  in  the array is the empty string, no prefixing will be done. If the value
              is a scalar, it will be prefixed by that string. If the scalar is an empty  string,
              no prefixing will be done.

              Related sbuild(1) command line options:

              --autopkgtest-root-arg
              --autopkgtest-root-args

              Example:

              # prefix with "sudo --":
              $autopkgtest_root_args = [];
              $autopkgtest_root_args = ['sudo', '--'];
              # prefix with "env":
              $autopkgtest_root_args = ['env'];
              $autopkgtest_root_args = 'env';
              # prefix with nothing:
              $autopkgtest_root_args = '';
              $autopkgtest_root_args = [''];
              $autopkgtest_root_args = ['', 'whatever'];

              Default:

              $autopkgtest_root_args = [];

       LINTIAN
              STRING type.  Path to lintian binary

              Default:

              $lintian = 'lintian';

       LINTIAN_OPTIONS
              ARRAY:STRING type.  Options to pass to lintian.  Each option is a separate arrayref
              element.  For example, ['-i', '-v'] to add -i and -v.

              Related sbuild(1) command line options:

              --lintian-opt
              --lintian-opts

              Default:

              $lintian_opts = [];

       LINTIAN_REQUIRE_SUCCESS
              BOOL type.  Let sbuild fail if lintian fails.

              Default:

              $lintian_require_success = 0;

       PIUPARTS
              STRING type.  Path to piuparts binary

              Related sbuild(1) command line options:

              --piuparts-opt
              --piuparts-opts

              Default:

              $piuparts = 'piuparts';

       PIUPARTS_OPTIONS
              ARRAY:STRING type.  Options to  pass  to  piuparts.   Each  option  is  a  separate
              arrayref   element.    For  example,  ['-b',  '<chroot_tarball>']  to  add  -b  and
              <chroot_tarball>.

              Default:

              $piuparts_opts = [];

       PIUPARTS_REQUIRE_SUCCESS
              BOOL type.  Let sbuild fail if piuparts fails.

              Default:

              $piuparts_require_success = 0;

       PIUPARTS_ROOT_ARGS
              ARRAY:STRING type.  Preceding arguments  to  launch  piuparts  as  root.  With  the
              default  value  (the  empty array) "sudo --" will be used as a prefix. If the first
              element in the array is the empty string, no prefixing will be done. If  the  value
              is  a scalar, it will be prefixed by that string. If the scalar is an empty string,
              no prefixing will be done.

              Related sbuild(1) command line options:

              --piuparts-root-arg
              --piuparts-root-args

              Example:

              # prefix with "sudo --":
              $piuparts_root_args = [];
              $piuparts_root_args = ['sudo', '--'];
              # prefix with "env":
              $piuparts_root_args = ['env'];
              $piuparts_root_args = 'env';
              # prefix with nothing:
              $piuparts_root_args = '';
              $piuparts_root_args = [''];
              $piuparts_root_args = ['', 'whatever'];

              Default:

              $piuparts_root_args = [];

       RUN_AUTOPKGTEST
              BOOL type.  Run autopkgtest

              Related sbuild(1) command line options:

              --run-autopkgtest
              --no-run-autopkgtest

              Default:

              $run_autopkgtest = 0;

       RUN_LINTIAN
              BOOL type.  Run lintian?

              Related sbuild(1) command line options:

              --run-lintian
              --no-run-lintian

              Default:

              $run_lintian = 1;

       RUN_PIUPARTS
              BOOL type.  Run piuparts

              Related sbuild(1) command line options:

              --run-piuparts
              --no-run-piuparts

              Default:

              $run_piuparts = 0;

   Chroot options
       APT_ALLOW_UNAUTHENTICATED
              BOOL  type.   Force  APT  to  accept   unauthenticated   packages.    By   default,
              unauthenticated  packages  are  not allowed.  This is to keep the build environment
              secure, using apt-secure(8).  By setting this to 1,  APT::Get::AllowUnauthenticated
              is  set to "true" when running apt-get. This is disabled by default: only enable it
              if you know what you are doing.

              Default:

              $apt_allow_unauthenticated = 0;

       APT_CLEAN
              BOOL type.  APT clean.  1 to enable running "apt-get clean" at the  start  of  each
              build, or 0 to disable.

              Related sbuild(1) command line options:

              --apt-clean
              --no-apt-clean

              Default:

              $apt_clean = 0;

       APT_DISTUPGRADE
              BOOL  type.   APT  distupgrade.   1 to enable running "apt-get dist-upgrade" at the
              start of each build, or 0 to disable.

              Related sbuild(1) command line options:

              --apt-distupgrade
              --no-apt-distupgrade

              Default:

              $apt_distupgrade = 1;

       APT_KEEP_DOWNLOADED_PACKAGES
              BOOL  type.   Keep  downloaded  packages  in  cache  by  APT.  Controls  APT::Keep-
              Downloaded-Packages  option  used  when  downloading dependencies. This option only
              makes sense if /var/cache/apt/archive inside the chroot is made persistent  between
              multiple sbuild invocations. 1 to keep downloaded packages in cache, or 0 to delete
              them after installation.

              Default:

              $apt_keep_downloaded_packages = 0;

       APT_UPDATE
              BOOL type.  APT update.  1 to enable running "apt-get update" at the start of  each
              build,  or  0 to disable. This option has no effect on updating the internal sbuild
              apt repository, the repository for extra  packages  (see  EXTRA_PACKAGES)  and  the
              repositories  given  via  EXTRA_REPOSITORIES.  These are always updated. Thus, this
              option only influences updates of the default repositories of the chroot.

              Related sbuild(1) command line options:

              --apt-update
              --no-apt-update

              Default:

              $apt_update = 1;

       APT_UPDATE_ARCHIVE_ONLY
              BOOL type.  Update local temporary APT archive directly (1, the default) or set  to
              0  to  disable and do a full apt update (not recommended in case the mirror content
              has changed since the build started).

              Default:

              $apt_update_archive_only = 1;

       APT_UPGRADE
              BOOL type.  APT upgrade.  1 to enable running "apt-get upgrade"  at  the  start  of
              each build, or 0 to disable.

              Related sbuild(1) command line options:

              --apt-upgrade
              --no-apt-upgrade

              Default:

              $apt_upgrade = 0;

       CHROOT STRING type.  Default chroot (defaults to distribution[-arch][-sbuild])

              Related sbuild(1) command line options:

              -c
              --chroot

              Default:

              $chroot = undef;

       CHROOT_MODE
              STRING  type.   Mechanism  to  use  for  chroot virtualisation.  Possible value are
              "schroot" (default), "sudo", "autopkgtest" and "unshare".

              Related sbuild(1) command line options:

              --chroot-mode

              Default:

              $chroot_mode = 'schroot';

       CHROOT_SETUP_SCRIPT
              STRING type.  Script to run to perform custom setup tasks in the chroot.

              Related sbuild(1) command line options:

              --setup-hook

              Default:

              $chroot_setup_script = undef;

       CHROOT_SPLIT
              BOOL type.  Run in split mode?  In split mode, apt-get and dpkg are run on the host
              system, rather than inside the chroot.

              Default:

              $chroot_split = 0;

       EXTERNAL_COMMANDS
              HASH:ARRAY:STRING  type.   External  commands  to run at various stages of a build.
              Commands are held in a hash of  arrays  of  arrays  data  structure.  There  is  no
              equivalent  for  the  --anything-failed-commands  command  line option. All percent
              escapes mentioned in the sbuild man page can be used.

              Related sbuild(1) command line options:

              --setup-hook
              --pre-build-commands
              --chroot-setup-commands
              --chroot-update-failed-commands
              --build-deps-failed-commands
              --build-failed-commands
              --anything-failed-commands
              --starting-build-commands
              --finished-build-commands
              --chroot-cleanup-commands
              --post-build-commands
              --post-build-failed-commands

              Example:

              # general format
              $external_commands = {
                  "pre-build-commands" => [
                      ['foo', 'arg1', 'arg2'],
                      ['bar', 'arg1', 'arg2', 'arg3'],
                  ],
                  "chroot-setup-commands" => [
                      ['foo', 'arg1', 'arg2'],
                      ['bar', 'arg1', 'arg2', 'arg3'],
                  ],
                  "chroot-update-failed-commands" => [
                      ['foo', 'arg1', 'arg2'],
                      ['bar', 'arg1', 'arg2', 'arg3'],
                  ],
                  "build-deps-failed-commands" => [
                      ['foo', 'arg1', 'arg2'],
                      ['bar', 'arg1', 'arg2', 'arg3'],
                  ],
                  "build-failed-commands" => [
                      ['foo', 'arg1', 'arg2'],
                      ['bar', 'arg1', 'arg2', 'arg3'],
                  ],
                  "starting-build-commands" => [
                      ['foo', 'arg1', 'arg2'],
                      ['bar', 'arg1', 'arg2', 'arg3'],
                  ],
                  "finished-build-commands" => [
                      ['foo', 'arg1', 'arg2'],
                      ['bar', 'arg1', 'arg2', 'arg3'],
                  ],
                  "chroot-cleanup-commands" => [
                      ['foo', 'arg1', 'arg2'],
                      ['bar', 'arg1', 'arg2', 'arg3'],
                  ],
                  "post-build-commands" => [
                      ['foo', 'arg1', 'arg2'],
                      ['bar', 'arg1', 'arg2', 'arg3'],
                  ],
                  "post-build-failed-commands" => [
                      ['foo', 'arg1', 'arg2'],
                      ['bar', 'arg1', 'arg2', 'arg3'],
                  ],
              };
              # the equivalent of specifying --anything-failed-commands=%SBUILD_SHELL on the
              # command line
              $external_commands = {
                  "chroot-update-failed-commands" => [ [ '%SBUILD_SHELL' ] ],
                  "build-deps-failed-commands" => [ [ '%SBUILD_SHELL' ] ],
                  "build-failed-commands" => [ [ '%SBUILD_SHELL' ] ],
              };

              Default:

              $external_commands = {
                                     'build-deps-failed-commands' => [],
                                     'build-failed-commands' => [],
                                     'chroot-cleanup-commands' => [],
                                     'chroot-setup-commands' => [],
                                     'chroot-update-failed-commands' => [],
                                     'finished-build-commands' => [],
                                     'post-build-commands' => [],
                                     'pre-build-commands' => [],
                                     'starting-build-commands' => []
                                   };

       LOG_EXTERNAL_COMMAND_ERROR
              BOOL type.  Log standard error of commands run by sbuild?

              Related sbuild(1) command line options:

              --log-external-command-error

              Default:

              $log_external_command_error = 1;

       LOG_EXTERNAL_COMMAND_OUTPUT
              BOOL type.  Log standard output of commands run by sbuild?

              Related sbuild(1) command line options:

              --log-external-command-output

              Default:

              $log_external_command_output = 1;

       PACKAGE_CHECKLIST
              STRING type.  Where to store list currently installed packages inside chroot

              Default:

              $package_checklist = '/var/lib/sbuild/package-checklist';

       PURGE_BUILD_DEPS
              STRING type.  When to purge the build dependencies after a build;  possible  values
              are "never", "successful", and "always"

              Related sbuild(1) command line options:

              -p
              --purge
              --purge-deps

              Default:

              $purge_build_deps = 'always';

       PURGE_BUILD_DIRECTORY
              STRING  type.  When to purge the build directory after a build; possible values are
              "never", "successful", and "always"

              Related sbuild(1) command line options:

              -p
              --purge
              --purge-build

              Default:

              $purge_build_directory = 'always';

       PURGE_EXTRA_PACKAGES
              BOOL type.  Try to remove all additional packages that are  not  strictly  required
              for  the  build right after build dependencies were installed. This currently works
              best with the aspcud resolver. The apt resolver will not make  as  much  effort  to
              remove  all  unneeded packages and will keep all providers of a virtual package and
              all packages from any dependency alternative  that  happen  to  be  installed.  The
              aptitude  and xapt resolver do not implement this feature yet. The removed packages
              are not yet added again after the build finished. This can  have  undesirable  side
              effects  like  lintian  not  working  (because  there  is  no  apt  to  install its
              dependencies) or bare chroots becoming totally unusable after apt was removed  from
              them.  Thus,  this  option should only be used with throw-away chroots like schroot
              provides them where the original state is automatically restored after each build.

              Related sbuild(1) command line options:

              --purge-extra-packages

              Default:

              $purge_extra_packages = 0;

       PURGE_SESSION
              STRING type.  Purge the schroot session following  a  build.   This  is  useful  in
              conjunction  with the --purge and --purge-deps options when using snapshot chroots,
              since by default the  snapshot  will  be  deleted.  Possible  values  are  "always"
              (default), "never", and "successful"

              Related sbuild(1) command line options:

              -p
              --purge
              --purge-session

              Default:

              $purge_session = 'always';

   Core options
       ARCHIVE
              STRING  type.   Archive  being built.  Only set in build log.  This might be useful
              for derivative distributions.

              Related sbuild(1) command line options:

              --archive

              Default:

              $archive = undef;

       BATCH_MODE
              BOOL type.  Enable batch mode?

              Related sbuild(1) command line options:

              -b
              --batch

              Default:

              $batch_mode = 0;

       BUILD_DIR
              STRING type.  Output directory for build artifacts created by dpkg-buildpackage and
              the  log  file. Defaults to the current directory if unspecified. It is used as the
              location of chroot symlinks (obsolete) and for current build log symlinks and  some
              build  logs.   There  is  no  default; if unset, it defaults to the current working
              directory.  $HOME/build is another common configuration.

              Related sbuild(1) command line options:

              --build-dir

              Example:

              $build_dir = '/home/pete/build';

              build_dir = ...;

       BUILD_ENVIRONMENT
              HASH:STRING type.  Environment to set during the build.  Defaults to  setting  PATH
              and LD_LIBRARY_PATH only.  Note that these environment variables are not subject to
              filtering with ENVIRONMENT_FILTER.  Example:

              Example:

              $build_environment = {
                      'CCACHE_DIR' => '/build/cache'
              };

              Default:

              $build_environment = {};

       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 = ...;

       CORE_DEPENDS
              ARRAY:STRING type.  Packages which must be installed in the chroot for all builds.

              Default:

              $core_depends = [
                                'build-essential:native',
                                'fakeroot:native'
                              ];

       ENVIRONMENT_FILTER
              ARRAY:STRING  type.   Only  environment  variables  matching  one  of  the  regular
              expressions in this arrayref will be passed to dpkg-buildpackage and other programs
              run by sbuild. The default value for this configuration  setting  is  the  list  of
              variable  names  as  returned  by Dpkg::BuildInfo::get_build_env_allowed() which is
              also the list of variable names that is whitelisted to be  recorded  in  .buildinfo
              files.  Caution:  the  default  value listed below was retrieved from the dpkg Perl
              library version available when this man page was generated. It might  be  different
              if your dpkg Perl library version differs.

              Example:

              # Setting the old environment filter
              $environment_filter = ['^PATH$',
                             '^DEB(IAN|SIGN)?_[A-Z_]+$',
                             '^(C(PP|XX)?|LD|F)FLAGS(_APPEND)?$',
                             '^USER(NAME)?$',
                             '^LOGNAME$',
                             '^HOME$',
                             '^TERM$',
                             '^SHELL$'];
              # Appending FOOBAR to the default
              use Dpkg::Build::Info;
              $environment_filter = [Dpkg::BuildInfo::get_build_env_allowed(), 'FOOBAR'];
              # Removing FOOBAR from the default
              use Dpkg::Build::Info;
              $environment_filter      =      [map      /^FOOBAR$/      ?      ()      :      $_,
              Dpkg::BuildInfo::get_build_env_allowed()];

              Default:

              $environment_filter = [
                                      '^AR$',
                                      '^ARFLAGS$',
                                      '^AS$',
                                      '^ASFLAGS$',
                                      '^AWK$',
                                      '^CC$',
                                      '^CFLAGS$',
                                      '^CPP$',
                                      '^CPPFLAGS$',
                                      '^CXX$',
                                      '^CXXFLAGS$',
                                      '^DEB_BUILD_OPTIONS$',
                                      '^DEB_BUILD_PROFILES$',
                                      '^DEB_VENDOR$',
                                      '^DFLAGS$',
                                      '^DPKG_ADMINDIR$',
                                      '^DPKG_DATADIR$',
                                      '^DPKG_GENSYMBOLS_CHECK_LEVEL$',
                                      '^DPKG_ORIGINS_DIR$',
                                      '^DPKG_ROOT$',
                                      '^FC$',
                                      '^FFLAGS$',
                                      '^GCJFLAGS$',
                                      '^LANG$',
                                      '^LC_ADDRESS$',
                                      '^LC_ALL$',
                                      '^LC_COLLATE$',
                                      '^LC_CTYPE$',
                                      '^LC_IDENTIFICATION$',
                                      '^LC_MEASUREMENT$',
                                      '^LC_MESSAGES$',
                                      '^LC_MONETARY$',
                                      '^LC_NAME$',
                                      '^LC_NUMERIC$',
                                      '^LC_PAPER$',
                                      '^LC_TELEPHONE$',
                                      '^LC_TIME$',
                                      '^LD$',
                                      '^LDFLAGS$',
                                      '^LD_LIBRARY_PATH$',
                                      '^LEX$',
                                      '^M2C$',
                                      '^MAKE$',
                                      '^MAKEFLAGS$',
                                      '^OBJC$',
                                      '^OBJCFLAGS$',
                                      '^OBJCXX$',
                                      '^OBJCXXFLAGS$',
                                      '^PC$',
                                      '^RANLIB$',
                                      '^SOURCE_DATE_EPOCH$',
                                      '^YACC$'
                                    ];

       JOB_FILE
              STRING type.  Job status file (only used in batch mode)

              Default:

              $job_file = 'build-progress';

       MANUAL_CONFLICTS
              ARRAY:STRING type.  Additional per-build dependencies.

              Related sbuild(1) command line options:

              --add-conflicts

              Default:

              $manual_conflicts = [];

       MANUAL_CONFLICTS_ARCH
              ARRAY:STRING type.  Additional per-build dependencies.

              Related sbuild(1) command line options:

              --add-conflicts-arch

              Default:

              $manual_conflicts_arch = [];

       MANUAL_CONFLICTS_INDEP
              ARRAY:STRING type.  Additional per-build dependencies.

              Related sbuild(1) command line options:

              --add-conflicts-indep

              Default:

              $manual_conflicts_indep = [];

       MANUAL_DEPENDS
              ARRAY:STRING type.  Additional per-build dependencies.

              Related sbuild(1) command line options:

              --add-depends

              Default:

              $manual_depends = [];

       MANUAL_DEPENDS_ARCH
              ARRAY:STRING type.  Additional per-build dependencies.

              Related sbuild(1) command line options:

              --add-depends-arch

              Default:

              $manual_depends_arch = [];

       MANUAL_DEPENDS_INDEP
              ARRAY:STRING type.  Additional per-build dependencies.

              Related sbuild(1) command line options:

              --add-depends-indep

              Default:

              $manual_depends_indep = [];

       SBUILD_MODE
              STRING type.  sbuild behaviour; possible values are  "user"  (exit  status  reports
              build  failures)  and "buildd" (exit status does not report build failures) for use
              in a buildd setup.  "buildd" also currently implies enabling of  "legacy  features"
              such as chroot symlinks in the build directory and the creation of current symlinks
              in the build directory.

              Related sbuild(1) command line options:

              --sbuild-mode

              Default:

              $sbuild_mode = 'user';

   Dependency resolution
       ASPCUD_CRITERIA
              STRING type.  Optimization criteria in extended MISC 2012 syntax passed  to  aspcud
              through  apt-cudf.   Optimization  criteria  are  separated  by  commas,  sorted by
              decreasing order of priority and are prefixed with a polarity (+ to maximize and  -
              to  minimize).   The  default  criteria  is  '-removed,-changed,-new'  which  first
              minimizes the number of removed packages, then the number of changed  packages  (up
              or  downgrades)  and  then the number of new packages. A common task is to minimize
              the number of packages from experimental.  To do this you can add a  criteria  like
              '-count(solution,APT-Release:=/a=experimental/)'  to  the  default  criteria.  This
              will then minimize the number of packages in the solution which contain the  string
              'a=experimental'  in the 'APT-Release' field of the EDSP output created by apt. See
              the apt-cudf man page help on the --criteria option for more information.

              Related sbuild(1) command line options:

              --aspcud-criteria

              Default:

              $aspcud_criteria = '-removed,-changed,-new';

       BD_UNINSTALLABLE_EXPLAINER
              STRING type.  Method to use for explaining build dependency installation  failures.
              Possible  value  are  "dose3" (default), "apt" and "none". Set to "none", the empty
              string "" or Perl undef to disable running any explainer.

              Related sbuild(1) command line options:

              --bd-uninstallable-explainer

              Default:

              $bd_uninstallable_explainer = 'dose3';

       BUILD_DEP_RESOLVER
              STRING type.  Build dependency resolver.   The  'apt'  resolver  is  currently  the
              default,  and  recommended  for  most users.  This resolver uses apt-get to resolve
              dependencies.  Alternative resolvers are 'apt', 'aptitude' and 'aspcud'. The  'apt'
              resolver  uses  a  built-in  resolver  module  while  the  'aptitude' resolver uses
              aptitude to resolve build dependencies.  The aptitude resolver is similar  to  apt,
              but  is useful in more complex situations, such as where multiple distributions are
              required, for example when building from experimental, where  packages  are  needed
              from  both unstable and experimental, but defaulting to unstable. If the dependency
              situation is too complex for either apt or aptitude to solve it, you  can  use  the
              'aspcud'  resolver which (in contrast to apt and aptitude) is a real solver (in the
              math  sense)  and  will  thus  always  find  a  solution  if  a  solution   exists.
              Additionally,  the 'null' solver is provided. It is a dummy resolver which does not
              install, upgrade or remove any packages. This  allows  one  to  completely  control
              package installation via hooks.

              Related sbuild(1) command line options:

              --build-dep-resolver

              Default:

              $build_dep_resolver = 'apt';

       EXTRA_PACKAGES
              ARRAY:STRING type.  Additional per-build packages available as build dependencies.

              Related sbuild(1) command line options:

              --extra-package

              Default:

              $extra_packages = [];

       EXTRA_REPOSITORIES
              ARRAY:STRING type.  Additional per-build apt repositories.

              Related sbuild(1) command line options:

              --extra-repository

              Default:

              $extra_repositories = [];

       EXTRA_REPOSITORY_KEYS
              ARRAY:STRING type.  Additional per-build apt repository keys.

              Related sbuild(1) command line options:

              --extra-repository-key

              Default:

              $extra_repository_keys = [];

       RESOLVE_ALTERNATIVES
              BOOL  type.   Should  the  dependency  resolver  use alternatives in Build-Depends,
              Build-Depends-Arch and Build-Depends-Indep?  By default, using 'apt' resolver, only
              the  first  alternative will be used; all other alternatives will be removed.  When
              using the 'aptitude' resolver, it will default to  using  all  alternatives.   Note
              that this does not include architecture-specific alternatives, which are reduced to
              the build architecture prior to alternatives removal.  This should be left disabled
              when  building  for  unstable;  it  may be useful when building for experimental or
              backports.  Set to undef to use the default, 1 to enable, or 0 to disable.

              Related sbuild(1) command line options:

              --resolve-alternatives
              --no-resolve-alternatives

              Example:

              $resolve_alternatives = 0;

              Default:

              $resolve_alternatives = undef;

   Logging options
       COMPRESS_BUILD_LOG_MAILS
              BOOL type.  Should build log mails be compressed?

              Default:

              $compress_build_log_mails = 1;

       DEBUG  NUMERIC type.  Debug logging level

              Default:

              $debug = 0;

       LOG_COLOUR
              BOOL type.  Add colour highlighting to  interactive  log  messages  (informational,
              warning and error messages).  Log files will not be coloured.

              Default:

              $log_colour = 1;

       LOG_DIR
              STRING  type.   Directory  for  storing  build  logs.   This  defaults  to '.' when
              SBUILD_MODE is set to 'user' (the default), and to '$HOME/logs' when SBUILD_MODE is
              set to 'buildd'.

              Default:

              $log_dir = undef;

       LOG_FILTER
              BOOL  type.   Filter variable strings from log messages such as the chroot name and
              build directory

              Default:

              $log_filter = 1;

       MAILFROM
              STRING type.  email address set in the From line of build logs

              Related sbuild(1) command line options:

              --mailfrom

              Default:

              $mailfrom = 'Source Builder <sbuild>';

       MAILTO STRING type.  email address to mail build logs to

              Related sbuild(1) command line options:

              --mail-log-to

              Default:

              $mailto = '';

       MAILTO_HASH
              HASH:STRING type.  Like MAILTO, but per-distribution.  This is  a  hashref  mapping
              distribution  name  to  MAILTO.  Note that for backward compatibility, this is also
              settable using the hash %mailto (deprecated), rather than a hash reference.

              Default:

              $mailto_hash = {};

       MIME_BUILD_LOG_MAILS
              BOOL type.  Should build log mails be MIME encoded?

              Default:

              $mime_build_log_mails = 1;

       NOLOG  BOOL type.  Disable use of log file

              Related sbuild(1) command line options:

              -n
              --nolog

              Default:

              $nolog = 0;

       VERBOSE
              NUMERIC type.  Verbose logging level

              Default:

              $verbose = 0;

   Maintainer options
       KEY_ID STRING type.  Key ID to use in .changes for the current upload.  It overrides  both
              $maintainer_name and $uploader_name.

              Related sbuild(1) command line options:

              -k
              --keyid

              Default:

              $key_id = undef;

       MAINTAINER_NAME
              STRING  type.   Name to use as override in .changes files for the Maintainer field.
              The Maintainer field will not be overridden unless set here.

              Related sbuild(1) command line options:

              -m
              --maintainer

              Default:

              $maintainer_name = undef;

       UPLOADER_NAME
              STRING type.  Name to use as override in .changes file for the Changed-By: field.

              Related sbuild(1) command line options:

              -e
              --uploader

              Default:

              $uploader_name = undef;

   Multiarch support (transitional)
       CROSSBUILD_CORE_DEPENDS
              HASH:ARRAY:STRING type.  Per-architecture dependencies required for cross-building.
              By  default,  if  a  Debian  architecture  is  not found as a key in this hash, the
              following    will    be     added     to     the     Build-Depends:     crossbuild-
              essential-${hostarch}:native,  libc-dev,  libstdc++-dev. The latter two are to work
              around bug #815172.

              Example:

              $crossbuild_core_depends = {
                  nios2 => ['crossbuild-essential-nios2:native', 'special-package'],
                  musl-linux-mips  =>   ['crossbuild-essential-musl-linux-mips:native',   'super-
              special'],
              }

              Default:

              $crossbuild_core_depends = {};

   Programs
       APTITUDE
              STRING type.  Path to aptitude binary

              Default:

              $aptitude = 'aptitude';

       APT_CACHE
              STRING type.  Path to apt-cache binary

              Default:

              $apt_cache = 'apt-cache';

       APT_GET
              STRING type.  Path to apt-get binary

              Default:

              $apt_get = 'apt-get';

       AUTOPKGTEST_VIRT_SERVER
              STRING  type.   Path  to  autopkgtest-virt-*  binary,  selecting the virtualization
              server.

              Related sbuild(1) command line options:

              --autopkgtest-virt-server

              Default:

              $autopkgtest_virt_server = 'autopkgtest-virt-schroot';

       AUTOPKGTEST_VIRT_SERVER_OPTIONS
              ARRAY:STRING type.  Additional command-line options for autopkgtest-virt-*

              Related sbuild(1) command line options:

              --autopkgtest-virt-server-opt
              --autopkgtest-virt-server-opts

              Default:

              $autopkgtest_virt_server_options = [];

       DPKG_BUILDPACKAGE_USER_OPTIONS
              ARRAY:STRING type.  Additional command-line options for dpkg-buildpackage.

              Related sbuild(1) command line options:

              --debbuildopt
              --debbuildopts
              --jobs

              Default:

              $dpkg_buildpackage_user_options = [];

       DPKG_FILE_SUFFIX
              STRING type.  Suffix to add to filename for files generated by dpkg-buildpackage

              Related sbuild(1) command line options:

              --dpkg-file-suffix

              Default:

              $dpkg_file_suffix = '';

       DPKG_SOURCE
              STRING type.  Path to dpkg-source binary

              Default:

              $dpkg_source = 'dpkg-source';

       DPKG_SOURCE_OPTIONS
              ARRAY:STRING type.  Additional command-line options for dpkg-source

              Related sbuild(1) command line options:

              --dpkg-source-opt
              --dpkg-source-opts

              Default:

              $dpkg_source_opts = [];

       FAKEROOT
              STRING type.  Path to fakeroot binary

              Default:

              $fakeroot = 'fakeroot';

       MAILPROG
              STRING type.  Program to use to send mail

              Default:

              $mailprog = '/usr/sbin/sendmail';

       MD5SUM STRING type.  Path to md5sum binary

              Default:

              $md5sum = 'md5sum';

       SCHROOT_OPTIONS
              ARRAY:STRING type.  Additional command-line options for schroot

              Default:

              $schroot_options = [
                                   '-q'
                                 ];

       SU     STRING type.  Path to su binary

              Default:

              $su = 'su';

       SUDO   STRING type.  Path to sudo binary

              Default:

              $sudo = 'sudo';

       UNSHARE_BIND_MOUNTS
              ARRAY type.  Bind mount directories from the outside to  a  mountpoint  inside  the
              chroot in unshare mode.

              Example:

              $unshare_bind_mounts  =  [  {  directory  =>  "/home/path/outside",  mountpoint  =>
              "/path/inside" } ];

              Default:

              $unshare_bind_mounts = [];

       UNSHARE_TMPDIR_TEMPLATE
              STRING type.  Template used to  create  the  temporary  unpack  directory  for  the
              unshare chroot mode.

              Default:

              $unshare_tmpdir_template = '/tmp/tmp.sbuild.XXXXXXXXXX';

       XAPT   STRING type.

              Default:

              $xapt = 'xapt';

   Statistics
       STATS_DIR
              STRING type.  Directory for writing build statistics to

              Related sbuild(1) command line options:

              --stats-dir

              stats_dir = ...;

FILES

       /etc/sbuild/sbuild.conf
              Configuration,  maintained  by  the  system  administrator.   This  may  be used to
              override the defaults.

       ~/.sbuildrc
              User-specific configuration.

AUTHORS

       Roman Hodek <Roman.Hodek@informatik.uni-erlangen.de>.

       sbuild is based on debbuild, written  by  James  Troup  <james@nocrew.org>  and  has  been
       modified by
       Ben Collins <bcollins@debian.org>,
       Ryan Murray <rmurray@debian.org>,
       Francesco Paolo Lovergine <frankie@debian.org>,
       Michael Banck <mbanck@debian.org>, and
       Roger Leigh <rleigh@debian.org>

COPYRIGHT

       Copyright © 1998-2000 Roman Hodek <roman@hodek.net>
       Copyright © 1998-1999 James Troup <troup@debian.org>
       Copyright © 2003-2006 Ryan Murray <rmurray@debian.org>
       Copyright © 2001-2003 Rick Younie <younie@debian.org>
       Copyright © 2003-2004 Francesco Paolo Lovergine <frankie@debian.org>
       Copyright © 2005      Michael Banck <mbanck@debian.org>
       Copyright © 2005-2009 Roger Leigh <rleigh@debian.org>

SEE ALSO

       sbuild(1).