Control: tags -1 + wontfix
On Fri, 2025-03-21 at 08:07 +0000, Andrew Bower wrote:
> The groff linting is coming up with false positives because man pages are
> checking (presumably) without enabling the 'tbl' preprocessor.
>
> An example, running:
>
> apt-get source libcrypt-dev
> cd libxcrypt-4.4.38
> debuild -i -uc -us -b
>
> Gives:
>
> Now running lintian libxcrypt_4.4.38-1_amd64.changes ...
> W: libcrypt-dev: groff-message troff:<standard input>:101: warning: macro 'TE' not defined [usr/share/man/man3/crypt_checksalt.3.gz:2]
> W: libcrypt-dev: groff-message troff:<standard input>:246: warning: macro 'TS' not defined [usr/share/man/man3/crypt_gensalt.3.gz:1]
> W: libcrypt-dev: groff-message troff:<standard input>:258: warning: macro 'TE' not defined [usr/share/man/man3/crypt_gensalt.3.gz:2]
> W: libcrypt-dev: groff-message troff:<standard input>:429: warning: macro 'TS' not defined [usr/share/man/man3/crypt.3.gz:1]
> W: libcrypt-dev: groff-message troff:<standard input>:442: warning: macro 'TE' not defined [usr/share/man/man3/crypt.3.gz:2]
> W: libcrypt-dev: groff-message troff:<standard input>:55: warning: macro 'TS' not defined [usr/share/man/man3/crypt_preferred_method.3.gz:1]
> W: libcrypt-dev: groff-message troff:<standard input>:63: warning: macro 'TE' not defined [usr/share/man/man3/crypt_preferred_method.3.gz:2]
> W: libcrypt-dev: groff-message troff:<standard input>:93: warning: macro 'TS' not defined [usr/share/man/man3/crypt_checksalt.3.gz:1]
> Finished running lintian.
From man(1):
> The filters are deciphered by a number of means. Firstly, the command
> line option -p or the environment variable $MANROFFSEQ is
> interrogated. If -p was not used and the environment variable was not
> set, the ini‐ tial line of the nroff file is parsed for a
> preprocessor string. To contain a valid preprocessor string, the
> first line must resemble
>
> '\" <string>
>
> where string can be any combination of letters described by option -p
> below.
As an example, I took the crypt(3) manpage from the latest version of
libcrypt-dev in trixie and added:
'\" t
to the very first line. On a trixie system, the command (as specified by
the groff-message tag description)
LC_ALL=C.UTF-8 MANROFFSEQ='' MANWIDTH=80 \
man --warnings -E UTF-8 -l -Tutf8 -Z ./crypt.3 >/dev/null
outputted no warnings compared to before the change.
> But the mdoc-format man page, e.g. man crypt, is fine and renders its table as
> expected.
>
> Should the groff invocation in lintian be updated with -t?
lintian intentionally clears all the preprocessor sequence to check for
this. It was introduced in [1] in order to "be stricter with missing
roff preprocessors".
Please let me know if this helps solve the problem.
--
Maytham
[1]: https://salsa.debian.org/lintian/lintian/-/commit/750623c4dab40aa2044e49c67ece359e83fe4cf8
Attachment:
signature.asc
Description: This is a digitally signed message part