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>
2024-07-08 |