Bug 53617 (fraks)

Summary: man --html man завершается с ошибкой 3
Product: Sisyphus Reporter: fraks <fraks>
Component: man-dbAssignee: Ivan A. Melnikov <iv>
Status: ASSIGNED --- QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P5 CC: fraks, glebfm, iv, ldv, legion, maksimenkovda, placeholder, vt
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description fraks@sibverk.ru 2025-03-26 11:45:12 MSK
Стенд:
 - Альт Рабочая станция 10.4 - свежеустановленный
 - Альт Рабочая станция 10.1 - загрузка в LiveCD без диска

Команда:
$ man --html man

Ожидаемый результат:
  форматирование ман-страницы в html и открытие в дефолтном браузере

По факту:
$ man --html man
man: команда завершилась с кодом 3: (cd /tmp/.private/fraks/hman6wPPpx && /usr/lib/man-db/zsoelim) | (cd /tmp/.private/fraks/hman6wPPpx && /usr/lib/man-db/manconv -f UTF-8:KOI8-R -t UTF-8//IGNORE) | (cd /tmp/.private/fraks/hman6wPPpx && gpreconv -e UTF-8) | (cd /tmp/.private/fraks/hman6wPPpx && tbl) | (cd /tmp/.private/fraks/hman6wPPpx && groff -mandoc -Thtml)


У меня было записано что такая команда работала и в браузере ман открывался, а у меня кроме Альт Рабочая станция 10.* ничего на тот момент быть не могло.
Comment 1 fraks@sibverk.ru 2025-03-28 08:44:57 MSK
man.1 - это файл мана который я достал изнутри файла /usr/share/man/ru/man1/man.1.xz

Попробовал подать этот файл в конвейер команд
cat man.1 | /usr/lib/man-db/zsoelim | /usr/lib/man-db/manconv -f UTF-8:KOI8-R -t UTF-8//IGNORE | gpreconv -e UTF-8 | tbl | groff -mandoc -Thtml

Оказалось что ошибку вызывает последняя команда
groff -mandoc -Thtml
потому как не знает что за устройство html.

Несмотря на то что groff в системе есть, но пакет репозитория groff не установлен.
Сделал 
apt-get install groff
он натянул с собой еще кучу пакетов, количеством 47 штук, и ситуация немного изменилась. Теперь 
$ man --html man
ошибок не выдает, и дело доходит до запуска браузера. Но браузер пишет что тот файл который он должен открыть - отсутствует.

При этом, если вручную затолкать ман в эту цепочку команд
cat man.1 | /usr/lib/man-db/zsoelim | /usr/lib/man-db/manconv -f UTF-8:KOI8-R -t UTF-8//IGNORE | gpreconv -e UTF-8 | tbl | groff -mandoc -Thtml > man.html

то итоговый файл html содержит примерно то что надо, но все равно криво.
Текстовые таблицы мана видимо командой tbl формируются в виде картинок .png но на этих картинках мусор а не таблица.
Comment 2 Dmitry Maksimenkov 2025-04-01 15:33:56 MSK
Проверялось в Sisyphus, ошибка воспроизводится.

Версия:
man-db-2.13.0-alt1

Системы:
ALT Workstation 11.0, обновлено до Sisyphus
ALT Workstation K 11.0, обновлено до Sisyphus
ALT Server 11.0, обновлено до Sisyphus
ALT Education 11.0, обновлено до Sisyphus

Шаги воспроизведения:
1. Убедиться что установлен groff-base:
$ rpm -q groff-base
2. Выполнить:
$ man --html man

Реальный результат:
man: команда завершилась с кодом 3: (cd /tmp/hmanqqq4ls && /usr/lib/man-db/zsoelim) | (cd /tmp/hmanqqq4ls && /usr/lib/man-db/manconv -f UTF-8:KOI8-R -t UTF-8//IGNORE) | (cd /tmp/hmanqqq4ls && gpreconv -e UTF-8) | (cd /tmp/hmanqqq4ls && tbl) | (cd /tmp/hmanqqq4ls && groff -mandoc -Thtml)

Ожидаемый результат: Открытие man страницы в браузере.

Дополнительная информация:
1. Если установить полный пакет groff – ошибка НЕ воспроизводится.
2. Ошибка также воспроизводится в p10.
Comment 3 Ivan A. Melnikov 2026-01-29 12:57:42 MSK
У меня сейчас (в Сизифе) команда

man -Thtml man

сработала после установки пакета groff-extra: сконвертированная в html man-страница открылась в браузере по умолчанию (firefox).

Утилита man позволяет запускать groff в различных режимах, однако добавлять полный groff в зависимости man-db я не хочу, так как считаю неправильным нести несколько мегабайт драйверов groff в каждую систему. Patches are welcome.

Нужно подумать о том, как улучшить диагностику в случае подобных ошибок, например предлагая пользователю поставить пакет groff.
Comment 4 Ivan A. Melnikov 2026-01-29 12:58:55 MSK
(In reply to Ivan A. Melnikov from comment #3)
> Patches are welcome.

Дописал не в тот абзац. Имелись ввиду патчи по улучшению сообщений об ошибках.
Comment 5 fraks@sibverk.ru 2026-01-30 04:40:16 MSK
(Ответ для Ivan A. Melnikov на комментарий #3)
> У меня сейчас (в Сизифе) команда
> 
> man -Thtml man
> 
> сработала после установки пакета groff-extra: сконвертированная в html
> man-страница открылась в браузере по умолчанию (firefox).
> 
> Утилита man позволяет запускать groff в различных режимах, однако добавлять
> полный groff в зависимости man-db я не хочу, так как считаю неправильным
> нести несколько мегабайт драйверов groff в каждую систему. Patches are
> welcome.
> 
> Нужно подумать о том, как улучшить диагностику в случае подобных ошибок,
> например предлагая пользователю поставить пакет groff.

На Alt 11.1 GNOME поставил пакет grogg-extra, он притащил (или обновил) за собой еще ImageMagick.
Но man -Thtml man так и не заработало, выдает такие же ошибки что и в первом сообщении.