table of contents
| 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".
- import
- Гарантирует, что интерфейс запущен. Написано слегка грязно. Если установлена переменная DEBIAN_HAS_FRONTEND, то предполагается что интерфейс запущен. Если нет, то он запускается автоматически и выполняется подключение к его вводу и выводу. Заметим, что эта функция всегда выполняется при загрузке модуля обычным путём.
- stop
- В этой ситуации интерфейс не посылает код завершения, поэтому мы не можем даже пытаться прочитать его или заблокируемся.
- AUTOLOAD
- Создаёт на лету обработчик функций для команд.
СМОТРИТЕ ТАКЖЕ¶
Спецификация debconf (/usr/share/doc/debian-policy/debconf_specification.txt.gz).
АВТОР¶
Joey Hess <joeyh@debian.org>
| 2025-03-10 |