FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian Development

 
 
LinkBack Thread Tools
 
Old 11-18-2007, 01:22 AM
Colin Watson
 
Default Bug#450432: ... and even more bugs like this?

On Fri, Nov 16, 2007 at 12:05:39AM +0600, Ivan Shmakov wrote:
> $ lintian --root="$PWD"/../lintian-root-2007-11-15
> *.deb
> | grep -F has-errors
> W: libdirectfb-dev: manpage-has-errors-from-man usr/share/man/man1/directfb-config.1.gz 24: warning: `l' not defined
> W: dvidvi: manpage-has-errors-from-man usr/share/man/man1/a5booklet.1.gz 9: warning: `IX' not defined
>
> The lines like this seems to me somewhat bogus. I guess, `.IX'
> allows one to specify an index item, and since `man' doesn't
> provide any indices, this macro is left undefined, and thus
> ignored by `man' (and it's okay.)

Perhaps some of these should be explicitly ignored by lintian, as
they're problems with popular generator tools and it really doesn't do
anyone any good to report them in lintian; they should be filed as bugs
against the generators instead. (Unfortunately, you might have to parse
groff's warning text in order to ignore particular cases.)

.IX is probably from pod2man, which does:

." If the F register is turned on, we'll generate index entries on stderr for
." titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
." entries marked with X<> in POD. Of course, you'll have to process the
." output yourself in some meaningful fashion.
.if
F {
. de IX
. tm Index:$1
% "$2"
..
. nr % 0
. rr F
.}

Russ, perhaps this should be something like this instead to suppress the
warning?

." If the F register is turned on, we'll generate index entries on stderr for
." titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
." entries marked with X<> in POD. Of course, you'll have to process the
." output yourself in some meaningful fashion.
.ie
F {
. de IX
. tm Index:$1
% "$2"
..
. nr % 0
. rr F
.}
.el {
. de IX
..
.}

> A simple-minded approach to suppress these warnings would be
> something like:
>
> .de IX
> .end
>
> but I believe that such a definition belongs to the macro
> package `man' uses.

man doesn't use any macro package of its own; it's all in groff. I'd
like to keep it that way if possible. Anyhow, since this is a macro
defined by a particular man page generator, it's not appropriate to
handle it in either man or groff.

> W: dvgrab: manpage-has-errors-from-man usr/share/man/de/man1/dvgrab.1.gz 308: warning: `..' not defined

Looks like a botched attempt to define a macro. (.. is what you use to
terminate a macro definition.)

> W: dput: manpage-has-errors-from-man usr/share/man/man1/dput.1.gz 92: warning: `P.SH' not defined

An obvious typo.

> W: dpkg-dev: manpage-has-errors-from-man usr/share/man/man1/dpkg-checkbuilddeps.1.gz 27: warning: `UR' not defined

.UR used to be what you used to mark up URLs; man(7) recommended it
until not that long ago.

> W: dpkg-dev: manpage-has-errors-from-man usr/share/man/man1/dpkg-architecture.1.gz 104: warning: `C`' not defined

I'm not entirely sure what all this line noise is trying to achieve.
Looks to me like stuff like f(CW*(C`-c*(C' should just be -c; aside
from the undefined strings, why should just the option be constant-width
and not the rest of the example command line?

> W: dpkg: manpage-has-errors-from-man usr/share/man/man1/dpkg-query.1.gz 51: warning: `T' not defined

I think .T was perhaps meant to be .TP.

> W: docbook-utils: manpage-has-errors-from-man usr/share/man/man7/frontend-spec.7.gz 37: warning: `..)' not defined

groff usage error; the line should read:

&...)

... or else the "...)" should be wrapped onto the previous line.

> W: docbook-to-man: manpage-has-errors-from-man usr/share/man/man1/instant.1.gz 81: warning: `E' not defined

Firstly, I think *EM was probably supposed to be *(EM. Secondly,
there's no such string defined, and perhaps (em is what they really
meant.

> W: docbook-to-man: manpage-has-errors-from-man usr/share/man/man5/transpec.5.gz 467: warning: `DS' not defined

Err. This looks like an attempt to use ms macros, maybe? .RS and .RE
would be the appropriate equivalents in the man macros, if I understand
the intention correctly.

> W: docbook-to-man: manpage-has-errors-from-man usr/share/man/man3/regexp.3.gz 2: warning: `DA' not defined

Perhaps this is how you specify dates in some old version of the man
macros? The date is conventionally the third argument to .TH nowadays.

At any rate, docbook-to-man has no business shipping this manual page at
all, and it should simply be removed.

> W: dirmngr: manpage-has-errors-from-man usr/share/man/man1/dirmngr.1.gz 245: warning: `#' not defined
> W: dirmngr: manpage-has-errors-from-man usr/share/man/man1/dirmngr-client.1.gz 86: warning: `-vv' not defined

I don't have this installed, but they look like typos.

> W: dialog: manpage-has-errors-from-man usr/share/man/man3/dialog.3.gz 1494: warning: `..' not defined

Maybe another botched attempt to define a macro?

> W: dhcp3-common: manpage-has-errors-from-man usr/share/man/man5/dhcp-options.5.gz 1136: warning: `.' not defined

The line begins like this:

'.' character

... and should instead begin:

&'.' character

(' is groff's default no-break control character.)

> W: dh-make: manpage-has-errors-from-man usr/share/man/man8/dh_make.8.gz 74: warning: `If' not defined

Typo; the leading ". " should just be removed.

> W: debootstrap: manpage-has-errors-from-man usr/share/man/man8/debootstrap.8.gz `R' is a string (producing the registered sign), not a macro.

An error, fixed in debootstrap 1.0.0.

> W: ddd: manpage-has-errors-from-man usr/share/man/man1/ddd.1.gz 34: warning: `PSPIC' not defined

This is sort of odd; that macro is defined in cases where the output
device is capable of drawing pictures using pic. I think it would be
best to ignore this one, although the warning could be suppressed like
this:

.if d PSPIC .PSPIC /tmp/buildd/ddd-3.3.11/./ddd/PICS/dddlogo.eps 10cm

> W: dctrl-tools: manpage-has-errors-from-man usr/share/man/man1/tbl-dctrl.1.gz 115: warning: `Bi' not defined

Typo for .BI.

> W: dcraw: manpage-has-errors-from-man usr/share/man/man1/dcfujiturn.1.gz 7: warning: `LO' not defined
> W: dcraw: manpage-has-errors-from-man usr/share/man/man1/dccleancrw.1.gz 7: warning: `LO' not defined
> W: dcraw: manpage-has-errors-from-man usr/share/man/man1/dcraw.1.gz 13: warning: `LO' not defined
> W: dcraw: manpage-has-errors-from-man usr/share/man/man1/dcparse.1.gz 7: warning: `LO' not defined
> W: dcraw: manpage-has-errors-from-man usr/share/man/man1/dcfujigreen.1.gz 7: warning: `LO' not defined

I only know of .LO in the mm macros, but 1 isn't a valid argument to
even those so I don't know what this is meant to be. It could be removed
without losing anything.

> W: dcc-common: manpage-has-errors-from-man usr/share/man/man8/dcc.8.gz Empty input line #820

Seems to be fixed. (Disallowing empty input lines is specific to the
mdoc macros.)

> W: dcc-client: manpage-has-errors-from-man usr/share/man/man8/dccifd.8.gz 688: warning: `"' not defined

It's in dcc-server now. It looks like these were meant to be ." (i.e.
comments).

> W: dbconfig-common: manpage-has-errors-from-man usr/share/man/man1/dbconfig-load-include.1.gz 8: warning: `Xc' not defined
> W: dbconfig-common: manpage-has-errors-from-man usr/share/man/man1/dbconfig-generate-include.1.gz 8: warning: `Xc' not defined

I only know of .Xc in mdoc, and this doesn't look like how you'd use it
there. What it's doing here is anyone's guess. I'd remove it.

> W: db4.4-util: manpage-has-errors-from-man usr/share/man/man1/db4.4_checkpoint.1.gz 27: warning: `TR' not defined
> W: db4.4-util: manpage-has-errors-from-man usr/share/man/man1/db4.4_deadlock.1.gz 50: warning: `TR' not defined
> W: db4.4-util: manpage-has-errors-from-man usr/share/man/man1/db4.4_load.1.gz 127: warning: `TR' not defined
> W: db4.3-util: manpage-has-errors-from-man usr/share/man/man1/db4.3_deadlock.1.gz 50: warning: `TR' not defined
> W: db4.3-util: manpage-has-errors-from-man usr/share/man/man1/db4.3_load.1.gz 127: warning: `TR' not defined
> W: db4.3-util: manpage-has-errors-from-man usr/share/man/man1/db4.3_checkpoint.1.gz 27: warning: `TR' not defined

This looks like a typo for .TP, to set up an indented paragraph.

> W: dasher: manpage-has-errors-from-man usr/share/man/man1/dasher.1.gz 112: warning: `B--with-a11y.' not defined

Missing space after .B.

Cheers,

--
Colin Watson [cjwatson@debian.org]


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
 
Old 11-19-2007, 03:23 AM
Ivan Shmakov
 
Default Bug#450432: ... and even more bugs like this?

>>>>> Colin Watson <cjwatson@debian.org> writes:

[...]

>> W: libdirectfb-dev: manpage-has-errors-from-man usr/share/man/man1/directfb-config.1.gz 24: warning: `l' not defined
>> W: dvidvi: manpage-has-errors-from-man usr/share/man/man1/a5booklet.1.gz 9: warning: `IX' not defined

>> The lines like this seems to me somewhat bogus. I guess, `.IX'
>> allows one to specify an index item, and since `man' doesn't provide
>> any indices, this macro is left undefined, and thus ignored by `man'
>> (and it's okay.)

> Perhaps some of these should be explicitly ignored by lintian, as
> they're problems with popular generator tools and it really doesn't
> do anyone any good to report them in lintian; they should be filed as
> bugs against the generators instead.

ACK.

> (Unfortunately, you might have to parse groff's warning text in order
> to ignore particular cases.)

I'm not familiar with Groff at all... Does it allow later `.de'
to override the former?..

> .IX is probably from pod2man, which does:

[...]

> Russ, perhaps this should be something like this instead to suppress
> the warning?

[...]

>> A simple-minded approach to suppress these warnings would be
>> something like:

>> .de IX
>> .end

... And if it does, this definition just could be put into
lintian/groff-hack/{mdoc,man}.local, effectively suppressing the
Groff warnings.

>> but I believe that such a definition belongs to the macro package
>> `man' uses.

> man doesn't use any macro package of its own; it's all in groff. I'd
> like to keep it that way if possible. Anyhow, since this is a macro
> defined by a particular man page generator, it's not appropriate to
> handle it in either man or groff.

ACK.

>> W: dvgrab: manpage-has-errors-from-man usr/share/man/de/man1/dvgrab.1.gz 308: warning: `..' not defined

> Looks like a botched attempt to define a macro. (.. is what you use
> to terminate a macro definition.)

Looks more like a comment from the generator:

305 Sections, no Front-Cover Texts and no Back-Cover Texts. A copy
306 of the license can be found under
307 fB/usr/share/common-licenses/FDLfP.
308 ..." created by instant / docbook-to-man, Wed 13 Dec 2000, 17:30

[...]

>> W: dpkg-dev: manpage-has-errors-from-man usr/share/man/man1/dpkg-checkbuilddeps.1.gz 27: warning: `UR' not defined

> .UR used to be what you used to mark up URLs; man(7) recommended it
> until not that long ago.

What to use instead?

[...]

>> W: dirmngr: manpage-has-errors-from-man usr/share/man/man1/dirmngr.1.gz 245: warning: `#' not defined

244 Lines starting with a
245 '#'
246 are comments.

>> W: dirmngr: manpage-has-errors-from-man usr/share/man/man1/dirmngr-client.1.gz 86: warning: `-vv' not defined

85 verbose commands to fBdirmngrfR, such as
86 '-vv'
87 .

> I don't have this installed, but they look like typos.

Some misused quotes?

>> W: dialog: manpage-has-errors-from-man usr/share/man/man3/dialog.3.gz 1494: warning: `..' not defined

> Maybe another botched attempt to define a macro?

1490 .TP 5
1491 .B const char * fIfmt
1492 is the format of the fBprintffP-like message to write.
1493 .TP 5
1494 ...
1495 are the variables to apply to the fIfmtfP format.

More like an Attempt to render ellipsis.

[...]

>> W: ddd: manpage-has-errors-from-man usr/share/man/man1/ddd.1.gz 34: warning: `PSPIC' not defined

> This is sort of odd; that macro is defined in cases where the output
> device is capable of drawing pictures using pic. I think it would be
> best to ignore this one, although the warning could be suppressed
> like this:

> .if d PSPIC .PSPIC /tmp/buildd/ddd-3.3.11/./ddd/PICS/dddlogo.eps 10cm

ACK. Alternatively, an empty definition in
groff-hack/{mdoc,man}.local could be used (``if not defined
PSPIC, define empty PSPIC'.)

[...]


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
 
Old 11-19-2007, 02:19 PM
"brian m. carlson"
 
Default Bug#450432: ... and even more bugs like this?

On Mon, Nov 19, 2007 at 10:23:36AM +0600, Ivan Shmakov wrote:

Colin Watson <cjwatson@debian.org> writes:

> (Unfortunately, you might have to parse groff's warning text in order
> to ignore particular cases.)

I'm not familiar with Groff at all... Does it allow later `.de'
to override the former?..


Yes, it does. This behavior is consistent with that of strings, which
are treated identically internally. I tested it as well. :-) It
doesn't warn with -ww.



Looks more like a comment from the generator:

305 Sections, no Front-Cover Texts and no Back-Cover Texts. A copy
306 of the license can be found under
307 fB/usr/share/common-licenses/FDLfP.
308 ..." created by instant / docbook-to-man, Wed 13 Dec 2000, 17:30


The generator is broken. This should be ."
Otherwise, it looks like a comment directly after a macro called "..".


> .UR used to be what you used to mark up URLs; man(7) recommended it
> until not that long ago.

What to use instead?


man(7) recommends .URL instead. This is a groff-only feature; man(7)
has some substitute code that works on all processors, yet still uses
the groff features on groff.



>> W: dirmngr: manpage-has-errors-from-man usr/share/man/man1/dirmngr.1.gz 245: warning: `#' not defined

244 Lines starting with a
245 '#'

246 are comments.


' is the groff no-break control character (compare with . which does not
suppress breaks), and so you need to put & at the beginning of this
line: &'#'



>> W: dirmngr: manpage-has-errors-from-man usr/share/man/man1/dirmngr-client.1.gz 86: warning: `-vv' not defined

85 verbose commands to fBdirmngrfR, such as
86 '-vv'

87 .


Should be &'-vv'


1490 .TP 5
1491 .B const char * fIfmt
1492 is the format of the fBprintffP-like message to write.
1493 .TP 5
1494 ...
1495 are the variables to apply to the fIfmtfP format.

More like an Attempt to render ellipsis.


Should be &...

Basically, any time you have a dot or a single-quote at the beginning of
a line, it needs & in front of it, unless you're using it as a control
character. Putting & in the middle of a line before one of those
characters doesn't hurt either. The only time this isn't the case is if
you've changed one of the control characters, which almost never happens
(and you would know if you did).


--
brian m. carlson / brian with sandals: Houston, Texas, US
+1 713 440 7475 | http://crustytoothpaste.ath.cx/~bmc | My opinion only
a typesetting engine: http://crustytoothpaste.ath.cx/~bmc/code/thwack
OpenPGP: RSA v4 4096b 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187
 

Thread Tools




All times are GMT. The time now is 06:16 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org