.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" 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 .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . 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 "..::Debconf::Client::ConfModule 3" .TH ..::Debconf::Client::ConfModule 3 "2019-02-26" "" "Debconf" .\" 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" Debconf::Client::ConfModule \- client module for ConfModules .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 10 \& use Debconf::Client::ConfModule \*(Aq:all\*(Aq; \& version(\*(Aq2.0\*(Aq); \& my $capb=capb(\*(Aqbackup\*(Aq); \& input("medium", "foo/bar"); \& my @ret=go(); \& if ($ret[0] == 30) { \& # Back button pressed. \& ... \& } \& ... .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This is a module to ease writing ConfModules for Debian's configuration management system. It can communicate with a FrontEnd via the debconf protocol (which is documented in full in the debconf_specification in Debian policy). .PP The design is that each command in the protocol is represented by one function in this module (with the name lower-cased). Call the function and pass in any parameters you want to follow the command. If the function is called in scalar context, it will return any textual return code. If it is called in list context, an array consisting of the numeric return code and the textual return code will be returned. .PP This module uses Exporter to export all functions it defines. To import everything, simply import \*(L":all\*(R". .IP "import" 4 .IX Item "import" Ensure that a FrontEnd is running. It's a little hackish. If \&\s-1DEBIAN_HAS_FRONTEND\s0 is set, a FrontEnd is assumed to be running. If not, one is started up automatically and stdin and out are connected to it. Note that this function is always run when the module is loaded in the usual way. .IP "stop" 4 .IX Item "stop" The frontend doesn't send a return code here, so we cannot try to read it or we'll block. .IP "\s-1AUTOLOAD\s0" 4 .IX Item "AUTOLOAD" Creates handler functions for commands on the fly. .SH "SEE ALSO" .IX Header "SEE ALSO" The debconf specification (/usr/share/doc/debian\-policy/debconf_specification.txt.gz). .SH "AUTHOR" .IX Header "AUTHOR" Joey Hess