#971965 man-db: man --html fails with a message beginning "command exited with status 3: [...]"

Package:
man-db
Source:
man-db
Description:
tools for reading manual pages
Submitter:
Christopher van Zomeren
Date:
2021-01-13 09:45:09 UTC
Severity:
normal
#971965#5
Date:
2020-10-10 17:13:02 UTC
From:
To:
Dear Maintainer,

man --html fails in the following way:
man: command exited with status 3: (cd /tmp/hmaneumXEd && /usr/lib/man-
db/zsoelim) | (cd /tmp/hmaneumXEd && /usr/lib/man-db/manconv -f
UTF-8:ISO-8859-1 -t UTF-8//IGNORE) | (cd /tmp/hmaneumXEd && preconv -e UTF-8) |
(cd /tmp/hmaneumXEd && tbl) | (cd /tmp/hmaneumXEd && groff -mandoc -Thtml)

#971965#10
Date:
2020-10-10 17:25:03 UTC
From:
To:
I can't reproduce this.  Could you please add the --debug option and
send me the full output?

#971965#15
Date:
2020-10-10 18:13:33 UTC
From:
To:
Sure thing. I've attached it to this email.
--
Chris Van Zomeren

#971965#20
Date:
2021-01-13 09:40:31 UTC
From:
To:
The issue is that groff HTML driver, is not available in groff-base.

But it is in groff.

man doesn't depend on groff, just groff-base. groff is in suggested packages
instead.

Without groff package installed, groff from groff-base shows this on stderr:

$ groff -mandoc -Thtml
groff: can't find 'DESC' file
groff: fatal error: invalid device 'html' (try installing the 'groff' package?)
$

(yes, it is on stderr)

It would be nice, if the man showed diagnostic better, because all it does right
now is just this:

# man --html man
man: command exited with status 3: (cd /tmp/hmanRcjIGc && /usr/lib/man-db/zsoelim) | (cd /tmp/hmanRcjIGc && /usr/lib/man-db/manconv -f UTF-8:ISO-8859-1 -t UTF-8//IGNORE) | (cd /tmp/hmanRcjIGc && preconv -e UTF-8) | (cd /tmp/hmanRcjIGc && tbl) | (cd /tmp/hmanRcjIGc && groff -mandoc -Thtml)
#

It looks to me, that man is unintentionally closing stderr or doing a stderr
redirect to dev null, which makes it harder than it needs to be.

Regards,
Witold