[torquedev] torque man pages: bug description and suggested fix

Steffen Moeller steffen_moeller at gmx.de
Tue Aug 4 09:09:46 MDT 2009


Dear all,

the Torque man pages are rather advanced and it was only the lintian tool for the upcoming
Debian packages that found this problem. I got this reply from Russ Albery and Colin
Watson. Now I am hoping for someone on this mailing list (many thanks to Chris for the
pointer) to have the authority and opportunity to fix the issue.

The warning is shown with groff having the warnings switched on:

$ groff -man -w mac pbs_server.8B > /dev/null
pbs_server.8B:239: warning: `Ig' not defined
pbs_server.8B:241: warning: `Iq' not defined

The bug is valid for the majority of Torque man pages.

Many thanks and regards,

Steffen


>> On Tue, Jul 21, 2009 at 11:48:52AM +0200, Steffen Moeller wrote:
>>> > >> a fancy man page has this little section here (actually many of these
>>> > >> sections and the package (torque) has many man pages, hence the bug is
>>> > >> not minor) :
>>> > >>
>>> > >> ..if !\n(Pb .ig Ig
>>> > >> ..ft 6
>>> > >> ..IP "\&\s-1\\$1\s+1\f1"
>>> > >> ..Ig
>>> > >> ..if \n(Pb .ig Ig
>>> > >> ..ft 2
>>> > >> ..IP "\&\\$1\s+1\f1"
>>> > >> ..Ig
>>> > >> ...
>>> > >>
>>> > >> which means that the block may be skipped.
>>> > >>
>>> > >> lintian does not get it but warns about .Ig being an undefined macro -
>>> > >> it is not. It is the end of the comment.
>> > >

Colin:
>> > > (Russ is right that this isn't a Lintian bug.)
>> > >
>> > > This is how groff would interpret the commands above (assuming that the
>> > > extra leading "." on each line is a spurious artifact of SMTP
>> > > dot-stuffing) if \n(Pb is true:
>> > >
>> > > .ft 6
>> > > .IP "\&\s-1\\$1\s+1\f1"
>> > > .Ig
>> > > .ig Ig
>> > > .ft 2
>> > > .IP "\&\\$1\s+1\f1"
>> > > .Ig
>> > > ..
>> > >
>> > > .Ig is clearly undefined at its first use. To make this work, you would
>> > > need to make sure that .Ig is defined to something up-front even in the
>> > > \n(Pb case.
>> > >
>> > > Isn't this needlessly complicated, though? Why not just do this instead
>> > > rather than messing around with .ig? It'd be much clearer. This approach
>> > > is documented in the original troff reference manual so it should be
>> > > portable even to non-groff implementations, in case your upstream is
>> > > concerned about that.
>> > >
>> > > .ie \n(Pb \{\
>> > > . ft 2
>> > > . IP "\&\\$1\s+1\f1"
>> > > .\}
>> > > .el \{\
>> > > . ft 6
>> > > . IP "\&\s-1\\$1\s+1\f1"
>> > > .\}
>> > >
>> > > Cheers,
>> > >
> >
> >


More information about the torquedev mailing list