Scroll to navigation

Debconf::Client::ConfModule.ru.3(3) Debconf Debconf::Client::ConfModule.ru.3(3)

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

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

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

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

АВТОР

Joey Hess <joeyh@debian.org>

2024-02-13