Lintian uses a special format for all its error and warning messages. With that it is very easy to write other programs which run Lintian and interpret the displayed messages.
The first character of each line indicates the type of message. Currently, the following types are supported:
The displayed message indicates a policy violation or a
packaging error. For policy violations, Lintian will
cite the appropriate policy section when it is invoked
with the -i
option.
The displayed message might be a policy violation or packaging error. A warning is usually an indication that the test is known to sometimes produce false positive alarms, because either the corresponding rule in policy has many exceptions or the test uses some sort of heuristic to find errors.
The displayed message is meant to inform the maintainer
about a certain packaging aspect. Such messages do not
usually indicate errors, but might still be of interest
to the curious. They are not displayed unless
the -I
option is set.
The displayed message is a debugging message which informs you about the current state of Lintian.
The displayed message is one of the types listed above,
but has been flagged as `experimental' by the Lintian
maintainers. This means that the code that generates
this message is not as well tested as the rest of
Lintian, and might still give surprising results. Feel
free to ignore Experimental messages that do not seem to
make sense, though of course bug reports are always
welcomed. They are not displayed unless
the -E
option is set.
The displayed message indicates a previous
Warning
or Error message which has been
overridden (see below). They are
not displayed unless
the --show-overrides
option is set.
The displayed message indicates a message of Lintian at
its most pickiest and include checks for particular
Debian packaging styles, checks that are very frequently
wrong, and checks that many people disagree with. They
are not displayed unless the --pedantic
option is set.
The type indicator is followed by the name of the package and for non-binary packages the type of the package. Then comes the problem that was discovered, also known as a tag (for example, old-fsf-address-in-copyright-file).
Depending on which tag has been reported, the line may contain additional arguments which tell you, for example, which files are involved.
If you do not understand what a certain tag is about, you can
specify the -i
option when calling Lintian to
get a detailed description of the reported tags:
$ lintian -i libc5_5.4.38-1.deb W: libc5: old-fsf-address-in-copyright-file N: N: The /usr/share/doc/<pkg>/copyright file refers to the old postal N: address of the Free Software Foundation (FSF). The new address is: N: N: Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, N: MA 02110-1301, USA. N: N: Severity: normal, Certainty: certain N: [...] $
In some cases, the messages contain some additional text with a leading hash character (#). This text should be ignored by any other programs which interpret Lintian's output because it doesn't follow a unique format between different messages and it's only meant as additional information for the maintainer.