Possible formatting bug in ssh-agent.1 man page
gdg at zplane.com
Wed Sep 28 03:30:39 AEST 2016
Inline below describes what I found, per your queries:
Ingo Schwarze <schwarze at usta.de> [2016-09-27 18:52:52 +0200]:
> Hi Glenn,
> Glenn Golden wrote on Mon, Sep 26, 2016 at 02:55:08PM -0600:
> > Version info: OpenSSH_7.3p1, OpenSSL 1.0.2i 22 Sep 2016, Arch linux
> > The ssh-agent.1 man page seems to have an indentation oddity, at least, as
> > formatted with recent Arch linux manpage toolset. Here's what appears in
> > the formatted output just after the description of the the "-t" option:
> > ---------- Begin formatted output -------------------------------------
> > -t life
> > Set a default value for the maximum lifetime of identities added
> > to the agent. The lifetime may be specified in seconds or in a
> > time format specified in sshd_config(5). A lifetime specified
> > for an identity with ssh-add(1) overrides this value. Without
> > this option the default maximum lifetime is forever.
> > If a command line is given, this is executed as a subprocess of
> > the agent. When the command dies, so does the agent.
> > The idea is that the agent is run in the user's local PC, lap
> > .
> > .
> > .
> > ------------ End formatted output -------------------------------------
> > Seems to me like all the paragraphs after the one immediately
> > below "-t life" (starting with "If a command line..." and thereafter)
> > are meant to be outdented to the main indentation level so that they
> > do not appear be associated with the description of the -t option.
> To debug this, we have to decide whether the problem is in the manual
> page sources used (for example due to bogus patches), in the build
> system, in the man(1) command on Arch, or in the formatter (likely
> groff) on Arch.
> As a first step, can you provide the file that gets installed on
> Arch? You can probably find the name and path of that file with
> $ man -w ssh-agent
> More is likely required after that, but what is needed depends on
> the contents of that file.
The target file is /usr/share/man/man1/ssh-agent.1.gz. The first few
.TH SSH-AGENT 1 "November 15 2015 " ""
\- authentication agent
The md5sums are
$ md5sum /usr/share/man/man1/ssh-agent.1.gz
$ zcat /usr/share/man/man1/ssh-agent.1.gz | md5sum
(Didn't want to attach the actual ssh-agent.1.gz file, figuring it would
probably get kicked out by the list handler, but it you want it, just let
me know, will send it directly to you.)
> You should also say up front which man(1) implementation you are
> using, which roff formatter you are using,
$ man --version
$ groff --version
GNU groff version 1.22.3
GNU grops (groff) version 1.22.3
GNU troff (groff) version 1.22.3
> whether you have enabled any caching of preformatted manuals,
Not that I am aware of. But in any case, "man -w -W" reports only the
roff source page (the one mentioned above) but does not report any "cat"
$ man -w -W ssh-agent
So I think that implies that the page that gets rendered when I do
"man ssh-agent" really is from that .gz file, processed at that time
by man(1), not a cached version.
I also did this:
$ cd /tmp
$ cp /usr/share/man/man1/ssh-agent.1.gz foo.gz
$ man ./foo.gz
and the rendered result is identical to "man ssh-agent" (i.e. the
indentation oddity is present.)
> whether you have any man.conf or manpath.config files in use, and what
> they contain.
My entire fileystem contains no file of either of those names, as
verified using slocate(1).
> This is likely to be some simple user oder packager error; yet again,
> it could also be a yet unknown mdoc(7) or man(7) compat issue, which
> is why i'm interested.
Hope the above helps. Let me know if there's anything else you need.
More information about the openssh-unix-dev