9f91a87c952afc5462af610534c8e0010097f77f
[buildd-scripts.git] / build-config / sbuild / sbuild.conf
1 # sbuild.conf: sbuild settings.                                    -*- Perl -*-
2 # Default settings are commented out.
3 # Note that all possible settings are listed here.  Many may be set on
4 # the command-line, and do not normally need setting here,
5 # e.g. $verbose.  Others need setting by each individual user in their
6 # ~/.sbuildrc, but are listed here for completeness.
7
8
9 ##
10 ## Build environment
11 ##
12
13 # LD_LIBRARY_PATH
14 # Type: STRING
15 # Library search path to use inside the chroot.
16 # See also related command line options in sbuild(1):
17 #   --use-snapshot
18 #$ld_library_path = undef;
19
20 # PATH
21 # Type: STRING
22 # PATH to set when running dpkg-buildpackage.
23 # See also related command line options in sbuild(1):
24 #   --use-snapshot
25 #$path =
26 #'/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games';
27
28
29
30 ##
31 ## Build options
32 ##
33
34 # APPEND_TO_VERSION
35 # Type: STRING
36 # Suffix to append to version number.  May be useful for derivative
37 # distributions.
38 # See also related command line options in sbuild(1):
39 #   --append-to-version
40 #$append_to_version = undef;
41
42 # BIN_NMU
43 # Type: STRING
44 # Binary NMU changelog entry.
45 # See also related command line options in sbuild(1):
46 #   --make-binNMU
47 #$bin_nmu = undef;
48
49 # BIN_NMU_CHANGELOG
50 # Type: STRING
51 # The content of a binary-only changelog entry. Leading and trailing
52 # newlines will be stripped.
53 # See also related command line options in sbuild(1):
54 #   --binNMU-changelog
55 #$bin_nmu_changelog = undef;
56
57 # BIN_NMU_TIMESTAMP
58 # Type: STRING
59 # Binary NMU timestamp. The timestamp is either given as n integer in Unix
60 # time or as a string in the format compatible with Debian changelog
61 # entries (i.e. as it is generated by date -R). If set to the default
62 # (undef) the date at build time is used.
63 # See also related command line options in sbuild(1):
64 #   --binNMU-timestamp
65 #$bin_nmu_timestamp = undef;
66
67 # BIN_NMU_VERSION
68 # Type: STRING
69 # Binary NMU version number.
70 # See also related command line options in sbuild(1):
71 #   --binNMU
72 #   --make-binNMU
73 #$bin_nmu_version = undef;
74
75 # BUILD_ARCH
76 # Type: STRING
77 # Build architecture (Arch we are building on).
78 # See also related command line options in sbuild(1):
79 #   --arch
80 #   --build
81 #build_arch = ...;
82
83 # BUILD_ARCH_ALL
84 # Type: BOOL
85 # Build architecture: all packages by default.
86 # See also related command line options in sbuild(1):
87 #   --arch-all
88 #   --no-arch-all
89 #$build_arch_all = 0;
90
91 # BUILD_ARCH_ANY
92 # Type: BOOL
93 # Build architecture: any packages by default.
94 # See also related command line options in sbuild(1):
95 #   --arch-any
96 #   --no-arch-any
97 #$build_arch_any = 1;
98
99 # BUILD_ENV_CMND
100 # Type: STRING
101 # This command is run with the dpkg-buildpackage command line passed to it
102 # (in the chroot, if doing a chrooted build).  It is used by the sparc
103 # buildd (which is sparc64) to call the wrapper script that sets the
104 # environment to sparc (32-bit).  It could be used for other build
105 # environment setup scripts.  Note that this is superseded by schroot's
106 # 'command-prefix' option
107 #$build_env_cmnd = '';
108
109 # BUILD_PATH
110 # Type: STRING
111 # By default the package is built in a path of the following format
112 # /build/packagename-XXXXXX/packagename-version/ where XXXXXX is a random
113 # ascii string. This option allows one to specify a custom path where the
114 # package is built inside the chroot. The sbuild user in the chroot must
115 # have permissions to create the path. Common writable locations are
116 # subdirectories of /tmp or /build. Using /tmp might be dangerous, because
117 # (depending on the chroot backend) the /tmp inside the chroot might be a
118 # world writable location that can be accessed by processes outside the
119 # chroot. The directory /build can only be accessed by the sbuild user and
120 # group and should be a safe location. The buildpath must be an empty
121 # directory because the last component of the path will be removed after
122 # the build is finished. Notice that depending on the chroot backend (see
123 # CHROOT_MODE), some locations inside the chroot might be bind mounts that
124 # are shared with other sbuild instances. You must avoid using these shared
125 # locations as the build path or otherwise concurrent runs of sbuild will
126 # likely fail. With the default schroot chroot backend, the directory
127 # /build is shared between multiple schroot sessions. You can change this
128 # behaviour in /etc/schroot/sbuild/fstab. The behaviour of other chroot
129 # backends will vary.
130 # See also related command line options in sbuild(1):
131 #   --build-path
132 #$build_path = undef;
133
134 # BUILD_PROFILES
135 # Type: STRING
136 # Build profiles. Separated by spaces.
137 # See also related command line options in sbuild(1):
138 #   --profiles
139 #$build_profiles = '';
140
141 # BUILD_SOURCE
142 # Type: BOOL
143 # By default, do not build a source package (binary only build).  Set to 1
144 # to force creation of a source package, but note that this is
145 # inappropriate for binary NMUs, where the option will always be disabled.
146 # See also related command line options in sbuild(1):
147 #   -s
148 #   --source
149 #   --no-source
150 #$build_source = 0;
151
152 # CHECK_SPACE
153 # Type: BOOL
154 # Check free disk space prior to starting a build.  sbuild requires the
155 # free space to be at least twice the size of the unpacked sources to allow
156 # a build to proceed.  Can be disabled to allow building if space is very
157 # limited, but the threshold to abort a build has been exceeded despite
158 # there being sufficient space for the build to complete.
159 $check_space = 0;
160
161 # CLEAN_SOURCE
162 # Type: BOOL
163 # When running sbuild from within an unpacked source tree, run the 'clean'
164 # target before generating the source package. This might require some of
165 # the build dependencies necessary for running the 'clean' target to be
166 # installed on the host machine. Only disable if you start from a clean
167 # checkout and you know what you are doing.
168 # See also related command line options in sbuild(1):
169 #   --clean-source
170 #   --no-clean-source
171 #$clean_source = 1;
172
173 # DISTRIBUTION
174 # Type: STRING
175 # Default distribution.  By default, no distribution is defined, and the
176 # user must specify it with the -d option.  However, a default may be
177 # configured here if desired.  Users must take care not to upload to the
178 # wrong distribution when this option is set, for example experimental
179 # packages will be built for upload to unstable when this is not what is
180 # required.
181 # See also related command line options in sbuild(1):
182 #   -d
183 #   --dist
184 #$distribution = undef;
185
186 # FORCE_ORIG_SOURCE
187 # Type: BOOL
188 # By default, the -s option only includes the .orig.tar.gz when needed
189 # (i.e. when the Debian revision is 0 or 1).  By setting this option to 1,
190 # the .orig.tar.gz will always be included when -s is used.
191 # See also related command line options in sbuild(1):
192 #   --force-orig-source
193 #$force_orig_source = 0;
194
195 # GCC_SNAPSHOT
196 # Type: BOOL
197 # Build using current GCC snapshot?
198 # See also related command line options in sbuild(1):
199 #   --use-snapshot
200 #$gcc_snapshot = 0;
201
202 # HOST_ARCH
203 # Type: STRING
204 # Host architecture (Arch we are building for)
205 # See also related command line options in sbuild(1):
206 #   --arch
207 #   --host
208 #host_arch = ...;
209
210 # PGP_OPTIONS
211 # Type: ARRAY:STRING
212 # Additional signing options for dpkg-buildpackage
213 #$pgp_options = [
214 #                 '-us',
215 #                 '-uc'
216 #               ];
217
218 # SOURCE_ONLY_CHANGES
219 # Type: BOOL
220 # Also produce a changes file suitable for a source-only upload.
221 # See also related command line options in sbuild(1):
222 #   --source-only-changes
223 #$source_only_changes = 0;
224
225 # TOOLCHAIN_REGEX
226 # Type: ARRAY:STRING
227 # Regular expressions identifying toolchain packages.  Note that for
228 # backward compatibility, this is also settable using the array
229 # @toolchain_regex (deprecated), rather than an array reference.
230 #$toolchain_regex = [
231 #                     'binutils$',
232 #                     'dpkg-dev$',
233 #                     'gcc-[\\d.]+$',
234 #                     'g\\+\\+-[\\d.]+$',
235 #                     'libstdc\\+\\+',
236 #                     'libc[\\d.]+-dev$',
237 #                     'linux-kernel-headers$',
238 #                     'linux-libc-dev$',
239 #                     'gnumach-dev$',
240 #                     'hurd-dev$',
241 #                     'kfreebsd-kernel-headers$'
242 #                   ];
243
244
245
246 ##
247 ## Build timeouts
248 ##
249
250 # INDIVIDUAL_STALLED_PKG_TIMEOUT
251 # Type: HASH:NUMERIC
252 # Some packages may exceed the general timeout (e.g. redirecting output to
253 # a file) and need a different timeout.  This has is a mapping between
254 # source package name and timeout.  Note that for backward compatibility,
255 # this is also settable using the hash %individual_stalled_pkg_timeout
256 # (deprecated) , rather than a hash reference.
257 #    %individual_stalled_pkg_timeout = (smalleiffel => 300,
258 #                                  jade => 300,
259 #                                  atlas => 300,
260 #                                  glibc => 1000,
261 #                                  'gcc-3.3' => 300,
262 #                                  kwave => 600);
263 #$individual_stalled_pkg_timeout = {};
264
265 # LOCK_INTERVAL
266 # Type: NUMERIC
267 # Lock wait interval (seconds).  Maximum wait time is (max_lock_trys x
268 # lock_interval).
269 #$lock_interval = 5;
270
271 # MAX_LOCK_TRYS
272 # Type: NUMERIC
273 # Number of times to try waiting for a lock.
274 #$max_lock_trys = 120;
275
276 # STALLED_PKG_TIMEOUT
277 # Type: NUMERIC
278 # Time (in minutes) of inactivity after which a build is terminated.
279 # Activity is measured by output to the log file.
280 $stalled_pkg_timeout = 720;
281
282 ##
283 ## Build validation
284 ##
285
286 # AUTOPKGTEST
287 # Type: STRING
288 # Path to autopkgtest binary
289 # See also related command line options in sbuild(1):
290 #   --autopkgtest-opt
291 #   --autopkgtest-opts
292 #$autopkgtest = 'autopkgtest';
293
294 # AUTOPKGTEST_OPTIONS
295 # Type: ARRAY:STRING
296 # Options to pass to autopkgtest.  Each option is a separate arrayref
297 # element.  For example, ['-b', '<chroot_tarball>'] to add -b and
298 # <chroot_tarball>.
299 #$autopkgtest_opts = [];
300
301 # AUTOPKGTEST_ROOT_ARGS
302 # Type: ARRAY:STRING
303 # Preceding arguments to launch autopkgtest as root. With the default value
304 # (the empty array) "sudo --" will be used as a prefix. If the first
305 # element in the array is the empty string, no prefixing will be done. If
306 # the value is a scalar, it will be prefixed by that string. If the scalar
307 # is an empty string, no prefixing will be done.
308 # See also related command line options in sbuild(1):
309 #   --autopkgtest-root-arg
310 #   --autopkgtest-root-args
311 #    # prefix with "sudo --":
312 #    $autopkgtest_root_args = [];
313 #    $autopkgtest_root_args = ['sudo', '--'];
314 #    # prefix with "env":
315 #    $autopkgtest_root_args = ['env'];
316 #    $autopkgtest_root_args = 'env';
317 #    # prefix with nothing:
318 #    $autopkgtest_root_args = '';
319 #    $autopkgtest_root_args = [''];
320 #    $autopkgtest_root_args = ['', 'whatever'];
321 #$autopkgtest_root_args = [];
322
323 # LINTIAN
324 # Type: STRING
325 # Path to lintian binary
326 #$lintian = 'lintian';
327
328 # LINTIAN_OPTIONS
329 # Type: ARRAY:STRING
330 # Options to pass to lintian.  Each option is a separate arrayref element. 
331 # For example, ['-i', '-v'] to add -i and -v.
332 # See also related command line options in sbuild(1):
333 #   --lintian-opt
334 #   --lintian-opts
335 #$lintian_opts = [];
336
337 # PIUPARTS
338 # Type: STRING
339 # Path to piuparts binary
340 # See also related command line options in sbuild(1):
341 #   --piuparts-opt
342 #   --piuparts-opts
343 #$piuparts = 'piuparts';
344
345 # PIUPARTS_OPTIONS
346 # Type: ARRAY:STRING
347 # Options to pass to piuparts.  Each option is a separate arrayref element.
348 #  For example, ['-b', '<chroot_tarball>'] to add -b and <chroot_tarball>.
349 #$piuparts_opts = [];
350
351 # PIUPARTS_ROOT_ARGS
352 # Type: ARRAY:STRING
353 # Preceding arguments to launch piuparts as root. With the default value
354 # (the empty array) "sudo --" will be used as a prefix. If the first
355 # element in the array is the empty string, no prefixing will be done. If
356 # the value is a scalar, it will be prefixed by that string. If the scalar
357 # is an empty string, no prefixing will be done.
358 # See also related command line options in sbuild(1):
359 #   --piuparts-root-arg
360 #   --piuparts-root-args
361 #    # prefix with "sudo --":
362 #    $piuparts_root_args = [];
363 #    $piuparts_root_args = ['sudo', '--'];
364 #    # prefix with "env":
365 #    $piuparts_root_args = ['env'];
366 #    $piuparts_root_args = 'env';
367 #    # prefix with nothing:
368 #    $piuparts_root_args = '';
369 #    $piuparts_root_args = [''];
370 #    $piuparts_root_args = ['', 'whatever'];
371 #$piuparts_root_args = [];
372
373 # RUN_AUTOPKGTEST
374 # Type: BOOL
375 # Run autopkgtest
376 # See also related command line options in sbuild(1):
377 #   --run-autopkgtest
378 #   --no-run-autopkgtest
379 #$run_autopkgtest = 0;
380
381 # RUN_LINTIAN
382 # Type: BOOL
383 # Run lintian?
384 # See also related command line options in sbuild(1):
385 #   --run-lintian
386 #   --no-run-lintian
387 #$run_lintian = 0;
388
389 # RUN_PIUPARTS
390 # Type: BOOL
391 # Run piuparts
392 # See also related command line options in sbuild(1):
393 #   --run-piuparts
394 #   --no-run-piuparts
395 #$run_piuparts = 0;
396
397
398
399 ##
400 ## Chroot options
401 ##
402
403 # APT_ALLOW_UNAUTHENTICATED
404 # Type: BOOL
405 # Force APT to accept unauthenticated packages.  By default,
406 # unauthenticated packages are not allowed.  This is to keep the build
407 # environment secure, using apt-secure(8).  By setting this to 1,
408 # APT::Get::AllowUnauthenticated is set to "true" when running apt-get.
409 # This is disabled by default: only enable it if you know what you are
410 # doing.
411 #$apt_allow_unauthenticated = 0;
412
413 # APT_CLEAN
414 # Type: BOOL
415 # APT clean.  1 to enable running "apt-get clean" at the start of each
416 # build, or 0 to disable.
417 # See also related command line options in sbuild(1):
418 #   --apt-clean
419 #   --no-apt-clean
420 #$apt_clean = 0;
421
422 # APT_DISTUPGRADE
423 # Type: BOOL
424 # APT distupgrade.  1 to enable running "apt-get dist-upgrade" at the start
425 # of each build, or 0 to disable.
426 # See also related command line options in sbuild(1):
427 #   --apt-distupgrade
428 #   --no-apt-distupgrade
429 #$apt_distupgrade = 1;
430
431 # APT_UPDATE
432 # Type: BOOL
433 # APT update.  1 to enable running "apt-get update" at the start of each
434 # build, or 0 to disable. This option has no effect on updating the
435 # internal sbuild apt repository, the repository for extra packages (see
436 # EXTRA_PACKAGES) and the repositories given via EXTRA_REPOSITORIES. These
437 # are always updated. Thus, this option only influences updates of the
438 # default repositories of the chroot.
439 # See also related command line options in sbuild(1):
440 #   --apt-update
441 #   --no-apt-update
442 #$apt_update = 1;
443
444 # APT_UPDATE_ARCHIVE_ONLY
445 # Type: BOOL
446 # Update local temporary APT archive directly (1, the default) or set to 0
447 # to disable and do a full apt update (not recommended in case the mirror
448 # content has changed since the build started).
449 #$apt_update_archive_only = 1;
450
451 # APT_UPGRADE
452 # Type: BOOL
453 # APT upgrade.  1 to enable running "apt-get upgrade" at the start of each
454 # build, or 0 to disable.
455 # See also related command line options in sbuild(1):
456 #   --apt-upgrade
457 #   --no-apt-upgrade
458 #$apt_upgrade = 0;
459
460 # CHROOT
461 # Type: STRING
462 # Default chroot (defaults to distribution[-arch][-sbuild])
463 # See also related command line options in sbuild(1):
464 #   -c
465 #   --chroot
466 #$chroot = undef;
467
468 # CHROOT_MODE
469 # Type: STRING
470 # Mechanism to use for chroot virtualisation.  Possible value are "schroot"
471 # (default), "sudo" and "autopkgtest".
472 # See also related command line options in sbuild(1):
473 #   --chroot-mode
474 #$chroot_mode = 'schroot';
475
476 # CHROOT_SETUP_SCRIPT
477 # Type: STRING
478 # Script to run to perform custom setup tasks in the chroot.
479 # See also related command line options in sbuild(1):
480 #   --setup-hook
481 #$chroot_setup_script = undef;
482
483 # CHROOT_SPLIT
484 # Type: BOOL
485 # Run in split mode?  In split mode, apt-get and dpkg are run on the host
486 # system, rather than inside the chroot.
487 #$chroot_split = 0;
488
489 # EXTERNAL_COMMANDS
490 # Type: HASH:ARRAY:STRING
491 # External commands to run at various stages of a build. Commands are held
492 # in a hash of arrays of arrays data structure.
493 # See also related command line options in sbuild(1):
494 #   --setup-hook
495 #   --pre-build-commands
496 #   --chroot-setup-commands
497 #   --chroot-update-failed-commands
498 #   --build-deps-failed-commands
499 #   --build-failed-commands
500 #   --anything-failed-commands
501 #   --starting-build-commands
502 #   --finished-build-commands
503 #   --chroot-cleanup-commands
504 #   --post-build-commands
505 #    $external_commands = {
506 #        "pre-build-commands" => [
507 #            ['foo', 'arg1', 'arg2'],
508 #            ['bar', 'arg1', 'arg2', 'arg3'],
509 #        ],
510 #        "chroot-setup-commands" => [
511 #            ['foo', 'arg1', 'arg2'],
512 #            ['bar', 'arg1', 'arg2', 'arg3'],
513 #        ],
514 #        "chroot-update-failed-commands" => [
515 #            ['foo', 'arg1', 'arg2'],
516 #            ['bar', 'arg1', 'arg2', 'arg3'],
517 #        ],
518 #        "build-deps-failed-commands" => [
519 #            ['foo', 'arg1', 'arg2'],
520 #            ['bar', 'arg1', 'arg2', 'arg3'],
521 #        ],
522 #        "build-failed-commands" => [
523 #            ['foo', 'arg1', 'arg2'],
524 #            ['bar', 'arg1', 'arg2', 'arg3'],
525 #        ],
526 #        "starting-build-commands" => [
527 #            ['foo', 'arg1', 'arg2'],
528 #            ['bar', 'arg1', 'arg2', 'arg3'],
529 #        ],
530 #        "finished-build-commands" => [
531 #            ['foo', 'arg1', 'arg2'],
532 #            ['bar', 'arg1', 'arg2', 'arg3'],
533 #        ],
534 #        "chroot-cleanup-commands" => [
535 #            ['foo', 'arg1', 'arg2'],
536 #            ['bar', 'arg1', 'arg2', 'arg3'],
537 #        ],
538 #        "post-build-commands" => [
539 #            ['foo', 'arg1', 'arg2'],
540 #            ['bar', 'arg1', 'arg2', 'arg3'],
541 #        ],
542 #    };
543 #$external_commands = {
544 #                       'build-deps-failed-commands' => [],
545 #                       'build-failed-commands' => [],
546 #                       'chroot-cleanup-commands' => [],
547 #                       'chroot-setup-commands' => [],
548 #                       'chroot-update-failed-commands' => [],
549 #                       'finished-build-commands' => [],
550 #                       'post-build-commands' => [],
551 #                       'pre-build-commands' => [],
552 #                       'starting-build-commands' => []
553 #                     };
554 $external_commands = {
555                         'build-deps-failed-commands' => [],
556                         'build-failed-commands' => [],
557                         'chroot-cleanup-commands' => [],
558                         'chroot-setup-commands' => [],
559                         'chroot-update-failed-commands' => [],
560                         'finished-build-commands' => [],
561                         'post-build-commands' => [],
562                         'pre-build-commands' => [],
563                         'starting-build-commands' => ['ulimit -c'],
564 };
565
566 # LOG_EXTERNAL_COMMAND_ERROR
567 # Type: BOOL
568 # Log standard error of commands run by sbuild?
569 # See also related command line options in sbuild(1):
570 #   --log-external-command-error
571 #$log_external_command_error = 1;
572
573 # LOG_EXTERNAL_COMMAND_OUTPUT
574 # Type: BOOL
575 # Log standard output of commands run by sbuild?
576 # See also related command line options in sbuild(1):
577 #   --log-external-command-output
578 #$log_external_command_output = 1;
579
580 # PACKAGE_CHECKLIST
581 # Type: STRING
582 # Where to store list currently installed packages inside chroot
583 #$package_checklist = '/var/lib/sbuild/package-checklist';
584
585 # PURGE_BUILD_DEPS
586 # Type: STRING
587 # When to purge the build dependencies after a build; possible values are
588 # "never", "successful", and "always"
589 # See also related command line options in sbuild(1):
590 #   -p
591 #   --purge
592 #   --purge-deps
593 #$purge_build_deps = 'always';
594
595 # PURGE_BUILD_DIRECTORY
596 # Type: STRING
597 # When to purge the build directory after a build; possible values are
598 # "never", "successful", and "always"
599 # See also related command line options in sbuild(1):
600 #   -p
601 #   --purge
602 #   --purge-build
603 #$purge_build_directory = 'always';
604
605 # PURGE_EXTRA_PACKAGES
606 # Type: BOOL
607 # Try to remove all additional packages that are not strictly required for
608 # the build right after build dependencies were installed. This currently
609 # works best with the aspcud resolver. The apt resolver will not make as
610 # much effort to remove all unneeded packages and will keep all providers
611 # of a virtual package and all packages from any dependency alternative
612 # that happen to be installed. The aptitude and xapt resolver do not
613 # implement this feature yet. The removed packages are not yet added again
614 # after the build finished. This can have undesirable side effects like
615 # lintian not working (because there is no apt to install its dependencies)
616 # or bare chroots becoming totally unusable after apt was removed from
617 # them. Thus, this option should only be used with throw-away chroots like
618 # schroot provides them where the original state is automatically restored
619 # after each build.
620 # See also related command line options in sbuild(1):
621 #   --purge-extra-packages
622 #$purge_extra_packages = 0;
623
624 # PURGE_SESSION
625 # Type: STRING
626 # Purge the schroot session following a build.  This is useful in
627 # conjunction with the --purge and --purge-deps options when using snapshot
628 # chroots, since by default the snapshot will be deleted. Possible values
629 # are "always" (default), "never", and "successful"
630 # See also related command line options in sbuild(1):
631 #   -p
632 #   --purge
633 #   --purge-session
634 #$purge_session = 'always';
635
636
637
638 ##
639 ## Core options
640 ##
641
642 # ARCHIVE
643 # Type: STRING
644 # Archive being built.  Only set in build log.  This might be useful for
645 # derivative distributions.
646 # See also related command line options in sbuild(1):
647 #   --archive
648 #$archive = undef;
649
650 # BATCH_MODE
651 # Type: BOOL
652 # Enable batch mode?
653 # See also related command line options in sbuild(1):
654 #   -b
655 #   --batch
656 #$batch_mode = 0;
657
658 # BUILD_DIR
659 # Type: STRING
660 # This option is deprecated.  Directory for chroot symlinks and sbuild
661 # logs.  Defaults to the current directory if unspecified.  It is used as
662 # the location of chroot symlinks (obsolete) and for current build log
663 # symlinks and some build logs.  There is no default; if unset, it defaults
664 # to the current working directory.  $HOME/build is another common
665 # configuration.
666 #    $build_dir = '/home/pete/build';
667 #build_dir = ...;
668
669 # BUILD_ENVIRONMENT
670 # Type: HASH:STRING
671 # Environment to set during the build.  Defaults to setting PATH and
672 # LD_LIBRARY_PATH only.  Note that these environment variables are not
673 # subject to filtering with ENVIRONMENT_FILTER.  Example:
674 #    $build_environment = {
675 #            'CCACHE_DIR' => '/build/cache'
676 #    };
677 #$build_environment = {};
678
679 # BUILD_USER
680 # Type: STRING
681 # Username used for running dpkg-buildpackage. By default the user running
682 # sbuild is used within the chroot as well but that might allow a process
683 # from within the chroot to break out of the chroot by attaching to a
684 # process running outside the chroot with eg. gdb and then becoming root
685 # inside the chroot through schroot and thus be able to leave the chroot.
686 #build_user = ...;
687
688 # CORE_DEPENDS
689 # Type: ARRAY:STRING
690 # Packages which must be installed in the chroot for all builds.
691 #$core_depends = [
692 #                  'build-essential:native',
693 #                  'fakeroot:native'
694 #                ];
695
696 # ENVIRONMENT_FILTER
697 # Type: ARRAY:STRING
698 # Only environment variables matching one of the regular expressions in
699 # this arrayref will be passed to dpkg-buildpackage and other programs run
700 # by sbuild. The default value for this configuration setting is the list
701 # of variable names as returned by
702 # Dpkg::Build::Info::get_build_env_whitelist() which is also the list of
703 # variable names that is whitelisted to be recorded in .buildinfo files.
704 # Caution: the default value listed below was retrieved from the dpkg Perl
705 # library version available when this man page was generated. It might be
706 # different if your dpkg Perl library version differs.
707 #    # Setting the old environment filter
708 #    $environment_filter = ['^PATH$',
709 #                       '^DEB(IAN|SIGN)?_[A-Z_]+$',
710 #                       '^(C(PP|XX)?|LD|F)FLAGS(_APPEND)?$',
711 #                       '^USER(NAME)?$',
712 #                       '^LOGNAME$',
713 #                       '^HOME$',
714 #                       '^TERM$',
715 #                       '^SHELL$'];
716 #    # Appending FOOBAR to the default
717 #    use Dpkg::Build::Info;
718 #    $environment_filter = [Dpkg::Build::Info::get_build_env_whitelist(), 'FOOBAR'];
719 #    # Removing FOOBAR from the default
720 #    use Dpkg::Build::Info;
721 #    $environment_filter = [map /^FOOBAR$/ ? () : $_, Dpkg::Build::Info::get_build_env_whitelist()];
722 #$environment_filter = [
723 #                        '^AR$',
724 #                        '^ARFLAGS$',
725 #                        '^AS$',
726 #                        '^AWK$',
727 #                        '^CC$',
728 #                        '^CFLAGS$',
729 #                        '^CPP$',
730 #                        '^CPPFLAGS$',
731 #                        '^CXX$',
732 #                        '^CXXFLAGS$',
733 #                        '^DEB_BUILD_OPTIONS$',
734 #                        '^DEB_BUILD_PROFILES$',
735 #                        '^DEB_VENDOR$',
736 #                        '^DPKG_ADMINDIR$',
737 #                        '^DPKG_DATADIR$',
738 #                        '^DPKG_GENSYMBOLS_CHECK_LEVEL$',
739 #                        '^DPKG_ORIGINS_DIR$',
740 #                        '^DPKG_ROOT$',
741 #                        '^FC$',
742 #                        '^FFLAGS$',
743 #                        '^GCJFLAGS$',
744 #                        '^LANG$',
745 #                        '^LC_ADDRESS$',
746 #                        '^LC_ALL$',
747 #                        '^LC_COLLATE$',
748 #                        '^LC_CTYPE$',
749 #                        '^LC_IDENTIFICATION$',
750 #                        '^LC_MEASUREMENT$',
751 #                        '^LC_MESSAGES$',
752 #                        '^LC_MONETARY$',
753 #                        '^LC_NAME$',
754 #                        '^LC_NUMERIC$',
755 #                        '^LC_PAPER$',
756 #                        '^LC_TELEPHONE$',
757 #                        '^LC_TIME$',
758 #                        '^LD$',
759 #                        '^LDFLAGS$',
760 #                        '^LD_LIBRARY_PATH$',
761 #                        '^LEX$',
762 #                        '^M2C$',
763 #                        '^MAKE$',
764 #                        '^MAKEFLAGS$',
765 #                        '^OBJC$',
766 #                        '^OBJCFLAGS$',
767 #                        '^OBJCXX$',
768 #                        '^OBJCXXFLAGS$',
769 #                        '^PC$',
770 #                        '^RANLIB$',
771 #                        '^SOURCE_DATE_EPOCH$',
772 #                        '^YACC$'
773 #                      ];
774
775 # JOB_FILE
776 # Type: STRING
777 # Job status file (only used in batch mode)
778 #$job_file = 'build-progress';
779
780 # MANUAL_CONFLICTS
781 # Type: ARRAY:STRING
782 # Additional per-build dependencies.
783 # See also related command line options in sbuild(1):
784 #   --add-conflicts
785 #$manual_conflicts = [];
786
787 # MANUAL_CONFLICTS_ARCH
788 # Type: ARRAY:STRING
789 # Additional per-build dependencies.
790 # See also related command line options in sbuild(1):
791 #   --add-conflicts-arch
792 #$manual_conflicts_arch = [];
793
794 # MANUAL_CONFLICTS_INDEP
795 # Type: ARRAY:STRING
796 # Additional per-build dependencies.
797 # See also related command line options in sbuild(1):
798 #   --add-conflicts-indep
799 #$manual_conflicts_indep = [];
800
801 # MANUAL_DEPENDS
802 # Type: ARRAY:STRING
803 # Additional per-build dependencies.
804 # See also related command line options in sbuild(1):
805 #   --add-depends
806 #$manual_depends = [];
807
808 # MANUAL_DEPENDS_ARCH
809 # Type: ARRAY:STRING
810 # Additional per-build dependencies.
811 # See also related command line options in sbuild(1):
812 #   --add-depends-arch
813 #$manual_depends_arch = [];
814
815 # MANUAL_DEPENDS_INDEP
816 # Type: ARRAY:STRING
817 # Additional per-build dependencies.
818 # See also related command line options in sbuild(1):
819 #   --add-depends-indep
820 #$manual_depends_indep = [];
821
822 # SBUILD_MODE
823 # Type: STRING
824 # sbuild behaviour; possible values are "user" (exit status reports build
825 # failures) and "buildd" (exit status does not report build failures) for
826 # use in a buildd setup.  "buildd" also currently implies enabling of
827 # "legacy features" such as chroot symlinks in the build directory and the
828 # creation of current symlinks in the build directory.
829 # See also related command line options in sbuild(1):
830 #   --sbuild-mode
831 #$sbuild_mode = 'user';
832
833
834
835 ##
836 ## Dependency resolution
837 ##
838
839 # ASPCUD_CRITERIA
840 # Type: STRING
841 # Optimization criteria in extended MISC 2012 syntax passed to aspcud
842 # through apt-cudf.  Optimization criteria are separated by commas, sorted
843 # by decreasing order of priority and are prefixed with a polarity (+ to
844 # maximize and - to minimize).  The default criteria is
845 # '-removed,-changed,-new' which first minimizes the number of removed
846 # packages, then the number of changed packages (up or downgrades) and then
847 # the number of new packages. A common task is to minimize the number of
848 # packages from experimental.  To do this you can add a criteria like
849 # '-count(solution,APT-Release:=/a=experimental/)' to the default criteria.
850 #  This will then minimize the number of packages in the solution which
851 # contain the string 'a=experimental' in the 'APT-Release' field of the
852 # EDSP output created by apt. See the apt-cudf man page help on the
853 # --criteria option for more information.
854 # See also related command line options in sbuild(1):
855 #   --aspcud-criteria
856 #$aspcud_criteria = '-removed,-changed,-new';
857
858 # BD_UNINSTALLABLE_EXPLAINER
859 # Type: STRING
860 # Method to use for explaining build dependency installation failures.
861 # Possible value are "dose3" (default) and "apt". Set to the empty string
862 # or undef to disable running any explainer.
863 # See also related command line options in sbuild(1):
864 #   --bd-uninstallable-explainer
865 #$bd_uninstallable_explainer = 'dose3';
866
867 # BUILD_DEP_RESOLVER
868 # Type: STRING
869 # Build dependency resolver.  The 'apt' resolver is currently the default,
870 # and recommended for most users.  This resolver uses apt-get to resolve
871 # dependencies.  Alternative resolvers are 'apt', 'aptitude' and 'aspcud'.
872 # The 'apt' resolver uses a built-in resolver module while the 'aptitude'
873 # resolver uses aptitude to resolve build dependencies.  The aptitude
874 # resolver is similar to apt, but is useful in more complex situations,
875 # such as where multiple distributions are required, for example when
876 # building from experimental, where packages are needed from both unstable
877 # and experimental, but defaulting to unstable. If the dependency situation
878 # is too complex for either apt or aptitude to solve it, you can use the
879 # 'aspcud' resolver which (in contrast to apt and aptitude) is a real
880 # solver (in the math sense) and will thus always find a solution if a
881 # solution exists.
882 # See also related command line options in sbuild(1):
883 #   --build-dep-resolver
884 #$build_dep_resolver = 'apt';
885
886 # EXTRA_PACKAGES
887 # Type: ARRAY:STRING
888 # Additional per-build packages available as build dependencies.
889 # See also related command line options in sbuild(1):
890 #   --extra-package
891 #$extra_packages = [];
892
893 # EXTRA_REPOSITORIES
894 # Type: ARRAY:STRING
895 # Additional per-build apt repositories.
896 # See also related command line options in sbuild(1):
897 #   --extra-repository
898 #$extra_repositories = [];
899
900 # EXTRA_REPOSITORY_KEYS
901 # Type: ARRAY:STRING
902 # Additional per-build apt repository keys.
903 # See also related command line options in sbuild(1):
904 #   --extra-repository-key
905 #$extra_repository_keys = [];
906
907 # RESOLVE_ALTERNATIVES
908 # Type: BOOL
909 # Should the dependency resolver use alternatives in Build-Depends,
910 # Build-Depends-Arch and Build-Depends-Indep?  By default, using 'apt'
911 # resolver, only the first alternative will be used; all other alternatives
912 # will be removed.  When using the 'aptitude' resolver, it will default to
913 # using all alternatives.  Note that this does not include
914 # architecture-specific alternatives, which are reduced to the build
915 # architecture prior to alternatives removal.  This should be left disabled
916 # when building for unstable; it may be useful when building for
917 # experimental or backports.  Set to undef to use the default, 1 to enable,
918 # or 0 to disable.
919 # See also related command line options in sbuild(1):
920 #   --resolve-alternatives
921 #   --no-resolve-alternatives
922 #    $resolve_alternatives = 0;
923 #$resolve_alternatives = undef;
924
925 # SBUILD_BUILD_DEPENDS_PUBLIC_KEY
926 # Type: STRING
927 # GPG public key for temporary local apt archive.
928 #$sbuild_build_depends_public_key =
929 #'/var/lib/sbuild/apt-keys/sbuild-key.pub';
930
931 # SBUILD_BUILD_DEPENDS_SECRET_KEY
932 # Type: STRING
933 # GPG secret key for temporary local apt archive.
934 #$sbuild_build_depends_secret_key =
935 #'/var/lib/sbuild/apt-keys/sbuild-key.sec';
936
937
938
939 ##
940 ## Logging options
941 ##
942
943 # COMPRESS_BUILD_LOG_MAILS
944 # Type: BOOL
945 # Should build log mails be compressed?
946 #$compress_build_log_mails = 1;
947
948 # DEBUG
949 # Type: NUMERIC
950 # Debug logging level
951 #$debug = 0;
952
953 # LOG_COLOUR
954 # Type: BOOL
955 # Colour log messages such as critical failures, warnings and success
956 #$log_colour = 1;
957
958 # LOG_DIR
959 # Type: STRING
960 # Directory for storing build logs.  This defaults to '.' when SBUILD_MODE
961 # is set to 'user' (the default), and to '$HOME/logs' when SBUILD_MODE is
962 # set to 'buildd'.
963 #$log_dir = undef;
964
965 # LOG_FILTER
966 # Type: BOOL
967 # Filter variable strings from log messages such as the chroot name and
968 # build directory
969 #$log_filter = 1;
970
971 # MAILFROM
972 # Type: STRING
973 # email address set in the From line of build logs
974 # See also related command line options in sbuild(1):
975 #   --mailfrom
976 #$mailfrom = 'Source Builder <sbuild>';
977
978 # MAILTO
979 # Type: STRING
980 # email address to mail build logs to
981 # See also related command line options in sbuild(1):
982 #   --mail-log-to
983 #$mailto = '';
984
985 # MAILTO_HASH
986 # Type: HASH:STRING
987 # Like MAILTO, but per-distribution.  This is a hashref mapping
988 # distribution name to MAILTO.  Note that for backward compatibility, this
989 # is also settable using the hash %mailto (deprecated), rather than a hash
990 # reference.
991 #$mailto_hash = {};
992
993 # MIME_BUILD_LOG_MAILS
994 # Type: BOOL
995 # Should build log mails be MIME encoded?
996 #$mime_build_log_mails = 1;
997
998 # NOLOG
999 # Type: BOOL
1000 # Disable use of log file
1001 # See also related command line options in sbuild(1):
1002 #   -n
1003 #   --nolog
1004 #$nolog = 0;
1005
1006 # VERBOSE
1007 # Type: NUMERIC
1008 # Verbose logging level
1009 $verbose = 1;
1010
1011
1012
1013 ##
1014 ## Maintainer options
1015 ##
1016
1017 # KEY_ID
1018 # Type: STRING
1019 # Key ID to use in .changes for the current upload.  It overrides both
1020 # $maintainer_name and $uploader_name.
1021 # See also related command line options in sbuild(1):
1022 #   -k
1023 #   --keyid
1024 #$key_id = undef;
1025
1026 # MAINTAINER_NAME
1027 # Type: STRING
1028 # Name to use as override in .changes files for the Maintainer field.  The
1029 # Maintainer field will not be overridden unless set here.
1030 # See also related command line options in sbuild(1):
1031 #   -m
1032 #   --maintainer
1033 #$maintainer_name = undef;
1034
1035 # UPLOADER_NAME
1036 # Type: STRING
1037 # Name to use as override in .changes file for the Changed-By: field.
1038 # See also related command line options in sbuild(1):
1039 #   -e
1040 #   --uploader
1041 #$uploader_name = undef;
1042
1043
1044
1045 ##
1046 ## Multiarch support (transitional)
1047 ##
1048
1049 # CROSSBUILD_CORE_DEPENDS
1050 # Type: HASH:ARRAY:STRING
1051 # Per-architecture dependencies required for cross-building. By default, if
1052 # a Debian architecture is not found as a key in this hash, the package
1053 # crossbuild-essential-${hostarch}:native will be installed.
1054 #    
1055 #    $crossbuild_core_depends = {
1056 #        nios2 => ['crossbuild-essential-nios2:native', 'special-package'],
1057 #        musl-linux-mips => ['crossbuild-essential-musl-linux-mips:native', 'super-special'],
1058 #    }
1059 #$crossbuild_core_depends = {};
1060
1061
1062
1063 ##
1064 ## Programs
1065 ##
1066
1067 # APTITUDE
1068 # Type: STRING
1069 # Path to aptitude binary
1070 #$aptitude = 'aptitude';
1071
1072 # APT_CACHE
1073 # Type: STRING
1074 # Path to apt-cache binary
1075 #$apt_cache = 'apt-cache';
1076
1077 # APT_GET
1078 # Type: STRING
1079 # Path to apt-get binary
1080 #$apt_get = 'apt-get';
1081
1082 # AUTOPKGTEST_VIRT_SERVER
1083 # Type: STRING
1084 # Path to autopkgtest-virt-* binary, selecting the virtualization server.
1085 # See also related command line options in sbuild(1):
1086 #   --autopkgtest-virt-server
1087 #$autopkgtest_virt_server = 'autopkgtest-virt-schroot';
1088
1089 # AUTOPKGTEST_VIRT_SERVER_OPTIONS
1090 # Type: ARRAY:STRING
1091 # Additional command-line options for autopkgtest-virt-*
1092 # See also related command line options in sbuild(1):
1093 #   --autopkgtest-virt-server-opt
1094 #   --autopkgtest-virt-server-opts
1095 #$autopkgtest_virt_server_options = [];
1096
1097 # DPKG_BUILDPACKAGE_USER_OPTIONS
1098 # Type: ARRAY:STRING
1099 # Additional command-line options for dpkg-buildpackage.
1100 # See also related command line options in sbuild(1):
1101 #   --debbuildopt
1102 #   --debbuildopts
1103 #   --jobs
1104 #$dpkg_buildpackage_user_options = [];
1105
1106 # DPKG_SOURCE
1107 # Type: STRING
1108 # Path to dpkg-source binary
1109 #$dpkg_source = 'dpkg-source';
1110
1111 # DPKG_SOURCE_OPTIONS
1112 # Type: ARRAY:STRING
1113 # Additional command-line options for dpkg-source
1114 # See also related command line options in sbuild(1):
1115 #   --dpkg-source-opt
1116 #   --dpkg-source-opts
1117 #$dpkg_source_opts = [];
1118
1119 # FAKEROOT
1120 # Type: STRING
1121 # Path to fakeroot binary
1122 #$fakeroot = 'fakeroot';
1123
1124 # MAILPROG
1125 # Type: STRING
1126 # Program to use to send mail
1127 #$mailprog = '/usr/sbin/sendmail';
1128
1129 # MD5SUM
1130 # Type: STRING
1131 # Path to md5sum binary
1132 #$md5sum = 'md5sum';
1133
1134 # SCHROOT_OPTIONS
1135 # Type: ARRAY:STRING
1136 # Additional command-line options for schroot
1137 #$schroot_options = [
1138 #                     '-q'
1139 #                   ];
1140
1141 # SU
1142 # Type: STRING
1143 # Path to su binary
1144 #$su = 'su';
1145
1146 # SUDO
1147 # Type: STRING
1148 # Path to sudo binary
1149 #$sudo = 'sudo';
1150
1151 # XAPT
1152 # Type: STRING
1153 #$xapt = 'xapt';
1154
1155
1156
1157 ##
1158 ## Statistics
1159 ##
1160
1161 # STATS_DIR
1162 # Type: STRING
1163 # Directory for writing build statistics to
1164 # See also related command line options in sbuild(1):
1165 #   --stats-dir
1166 #stats_dir = ...;
1167
1168 1;