Debconf::Client::ConfModule

Autres langues

Langue: ru

Autres versions - même langue

Version: 2010-09-27 (ubuntu - 25/10/10)

Section: 3 (Bibliothèques de fonctions)

Russian translation:
  Yuri Kozlov kozlov.y@gmail.com, 2006
  debian-l10n-russian@lists.debian.org

НАЗВАНИЕ

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).

По замыслу, каждая команда протокола представляется одной функцией в этом модуле (с именем из строчных букв). Вызовите функцию и передайте ей любые параметры, которые вы хотели бы передать команде. Если функция вызывается в скалярном контексте, она возвращает текстовый код возврата. Если функция вызывается в списочном контексте, то она возвращает массив, состоящий из числового кода возврата и текстового кода возврата.

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

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

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

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

АВТОР

Joey Hess <joeyh@debian.org>