NAME¶
Debconf::Client::ConfModule - client module for ConfModules
SYNOPSIS¶
use Debconf::Client::ConfModule ':all';
version('2.0');
my $capb=capb('backup');
input("medium", "foo/bar");
my @ret=go();
if ($ret[0] == 30) {
# Back button pressed.
...
}
...
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).
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.
This module uses Exporter to export all functions it defines. To import
everything, simply import ":all".
- import
- Ensure that a FrontEnd is running. It's a little hackish. If
DEBIAN_HAS_FRONTEND 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.
- stop
- The frontend doesn't send a return code here, so we cannot try to read it
or we'll block.
- AUTOLOAD
- Creates handler functions for commands on the fly.
SEE ALSO¶
The debconf specification
(/usr/share/doc/debian-policy/debconf_specification.txt.gz).
AUTHOR¶
Joey Hess <joeyh@debian.org>