Debconf::Client::ConfModule

Autres langues

Langue: ru

Autres versions - même langue

Version: 2009-03-03 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

НАЗВАНИЕ

Debconf::Client::ConfModule - клиентский модуль для ConfModules

СИНТАКСИС

  use Debconf::Client::ConfModule ':all';
  version('2.0');
  my $capb=capb('backup');
  input("medium", "foo/bar");
  my @ret=go();
  if ($ret[0] == 30) {
         # Нажата кнопка Назад.
         ...
  }
  ...
 
 

ОПИСАНИЕ

Этот модуль служит для облегчения написания ConfModules для системы управления настройками Debian. Он может взаимодействовать с интерфейсной программой по протоколу debconf (который полностью описан в debconf_specification в политике Debian).

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.

Этот модуль использует Exporter для экспорта всех объявленных функций. Чтобы импортировать всё — просто import ``:all''.

import
Гарантирует, что интерфейс запущен. Написано слегка грязно. Если установлена переменная DEBIAN_HAS_FRONTEND, то предполагается что интерфейс запущен. Если нет, то он запускается автоматически и выполняется подключение к его вводу и выводу. Заметим, что эта функция всегда выполняется при загрузке модуля обычным путём.
stop
В этой ситуации интерфейс не посылает код завершения, поэтому мы не можем даже пытаться прочитать его или заблокируемся.
AUTOLOAD
Создаёт на лету обработчик функций для команд.

СМОТРИТЕ ТАКЖЕ

Спецификация debconf (/usr/share/doc/debian-policy/debconf_specification.txt.gz).

АВТОР

Joey Hess <joeyh@debian.org>