.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.0102 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Dpkg::BuildDriver 3perl" .TH Dpkg::BuildDriver 3perl 2025-01-16 1.22.14-dirty libdpkg-perl .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Dpkg::BuildDriver \- drive the build of a Debian package .SH DESCRIPTION .IX Header "DESCRIPTION" This class is used by dpkg-buildpackage to drive the build of a Debian package. .PP \&\fBNote\fR: This is a private module, its API can change at any time. .SH METHODS .IX Header "METHODS" .ie n .IP "$bd = Dpkg::BuildDriver\->new(%opts)" 4 .el .IP "\f(CW$bd\fR = Dpkg::BuildDriver\->new(%opts)" 4 .IX Item "$bd = Dpkg::BuildDriver->new(%opts)" Create a new Dpkg::BuildDriver object. It will load a build driver module as requested in the \fBBuild-Drivers\fR field in the \f(CW$opts\fR{ctrl} Dpkg::Control::Info object or if not present, it will fall back to load the default \fBdebian-rules\fR driver. .Sp Options: .RS 4 .IP "\fBctrl\fR (required)" 4 .IX Item "ctrl (required)" A Dpkg::Control::Info object. .IP \fBroot_cmd\fR 4 .IX Item "root_cmd" A string with the gain-root-command to use when needing to execute a command with root-like rights. If needed and unset, it will default to fakeroot if it is available or the module will error out. .IP \fBas_root\fR 4 .IX Item "as_root" A boolean to force \fIdebian/rules\fR target calls as root-like, even if they would normally not require to be executed as root-like. This option is applied to all targets globally. .Sp \&\fBNote\fR: This option is only relevant for drivers that use \fIdebian/rules\fR. .IP \fBdebian_rules\fR 4 .IX Item "debian_rules" An array containing the command to execute the \fIdebian/rules\fR file and any additional arguments. It defaults to \fBdebian/rules\fR. .Sp \&\fBNote\fR: This option is only relevant for drivers that use \fIdebian/rules\fR. .IP \fBrrr_override\fR 4 .IX Item "rrr_override" A string that overrides the \fBRules-Requires-Root\fR field value. .Sp \&\fBNote\fR: This option is only relevant for drivers that use \fIdebian/rules\fR. .RE .RS 4 .RE .ie n .IP $bd\->\fBpre_check()\fR 4 .el .IP \f(CW$bd\fR\->\fBpre_check()\fR 4 .IX Item "$bd->pre_check()" Perform build driver specific checks, before anything else. .Sp This will run after the \fBinit\fR hook, and before \f(CW\*(C`dpkg\-source \-\-before\-build\*(C'\fR. .Sp \&\fBNote\fR: This is an optional method that can be omitted from the driver implementation. .ie n .IP "$bool = $bd\->need_build_task($build_task, binary_task)" 4 .el .IP "\f(CW$bool\fR = \f(CW$bd\fR\->need_build_task($build_task, binary_task)" 4 .IX Item "$bool = $bd->need_build_task($build_task, binary_task)" Returns whether we need to use the build task. .Sp \&\fBNote\fR: This method is needed as long as we support building as root-like. Once that is not needed this method will be deprecated. .ie n .IP "$bd\->run_build_task($build_task, $binary_task)" 4 .el .IP "\f(CW$bd\fR\->run_build_task($build_task, \f(CW$binary_task\fR)" 4 .IX Item "$bd->run_build_task($build_task, $binary_task)" Executes the build task for the build. .Sp \&\fBNote\fR: This is an optional method needed as long as we support building as root-like. Once that is not needed this method will be deprecated. .ie n .IP $bd\->run_task($task) 4 .el .IP \f(CW$bd\fR\->run_task($task) 4 .IX Item "$bd->run_task($task)" Executes the given task for the build. .SH CHANGES .IX Header "CHANGES" .SS "Version 0.xx" .IX Subsection "Version 0.xx" This is a private module.