linda(1)

NAME

Linda - program to check Debian archives, a'la Lintian.

SYNOPSIS

linda [options] [.dsc|.deb|.udeb|.changes]...

DESCRIPTION

Linda is a Debian package checker, modelled after Lintian,
since the author of Linda felt that Lintian is too slow and un
maintainable to work on, or with.
Linda is written in Python, as a complete OO scripting
language for a package checker just seemed too good an idea to
pass up. In addition, it made a perfect excuse to learn Python.

OPTIONS

Listed below are the command line options for linda.

-c, --config
Specify a config file other than the default to be
read. This defaults to ~/.linda/config. The easiest way to stop
any configuration being read is to specify /dev/null.
-C, --checks
Specify the check(s) to run. The string doesn't
have to include the full text, as it uses regular expressions to
do the matching. You can also specify multiple checks, separated
by commas with no spaces. If it contains spaces, linda will in
terpret the check names as files, which probably isn't what you
want. Linda will now rip the spaces out if you quote the string,
for example.
-d, --debug
Set debug level. This option can be specified mul
tiple times to increase the amount of debug output printed. Any
thing over 2 should be considered to be detrimental for your
health, and only attempted if on suitable medication.
-D, --disable-local
Disable the registration of local checks.
-f, --format
Specify the output format to be used by linda. The
string 'help' can also be given as an option, which will print
out the output formats, as well as their docstring, if they have
one defined. Also see EXAMPLES.
-h, --help
Show help, self-explanatory, really.
-i, --info
Also print out the long description for errors and
warnings.
-l, --lab
Specify the directory the lab should be in. This
defaults to $TMPDIR, followed by /tmp.
-L, --list-checks
Only list the checks that would be run, don't un
pack or run any checks. As of 0.2.1, this option requires an ar
gument, which is 'bin1', 'bin2', 'src1', 'src2', or 'all'. This
option is most useful when used with -C (specify checks).
-m, --more-overrides
Specify yet another file for overrides. Will be
parsed just before the in-deb overrides are attempted to be
parsed.
-n, --no-cull
Don't delete the lab directory after the tests are
completed.
-p, --print-overrides
Print out the parsed overrides as well. Requires a
filename.
-P, --profiling
Print out some profiling statistics before exiting.
-q, --quiet
Quieten me down a little. Forces Checks, and Output
methods that throw exceptions to be caught silently.
-o, --show-overridden
Display warnings or errors that have been overrid
den by the package.
-s, --show-tag
Also display the tag for an error or warning. This
is also dependant on the output method (-f) chosen.
-t, --types
Limit errors printed to those which have the speci
fied type.
-T, --traceback
Also display the traceback that an exception caus
es.
-u, --unpack
Only unpack the .deb or .dsc to the specified un
pack level, and run no checks. Also implies no-cull.
-v, --verbose
Set verbose mode. IE, only display which file is
being processed, and if specified twice, also display the lab di
rectory.
-V, --version
Show version information.
filename
The filename must be specified on the command line,
and must be either a .dsc, a .deb, a .udeb, or a .changes file.
Multiple filenames can be specified.

CONFIGURATION FILE

Starting with version 0.3.0, Linda will now read a config
uration file when she is started. It can contain comments and
long command line arguments only. Special cases to note are that
debug or verbose can be specified multiple times, which will in
crease their count by one, and that checks, format, lab-root and
more-overrides need a second argument specified. The only argu
ments that are not permitted in the configuration file are:
· help
· list-checks
· print-overrides
· unpack
· version
Example:
steven@broken:~$ cat .linda/config
debug
debug
more-overrides /home/steven/xringd.linda

OVERRIDES

Overrides allow you to suppress an error or warning from
printing out when linda is run. You can of course, override the
override (!) with the -o flag. Overrides can be added to the
global /usr/share/linda/overrides/<package> file, for the local
user in $HOME/.linda/overrides/<package>, and for the local sys
tem in /etc/linda/overrides/<package>. Debian packages, if they
contain a /usr/share/linda/overrides/<package> file in the .deb,
it will be read and parsed as well. Another file can be specified
to linda by specifying -m <file> on the command-line.
Linda override files used to look like the following:
steven@broken:~$ cat .linda/overrides/xringd
debconf-select-without-choices
wrong-path-script *
binary-note usr/sbin/xringd
steven@broken:~$ cat .linda/overrides/libc6
binary-note *so
binary-comment *so
Linda overrides files from 0.1.6 onwards look like:
steven@broken:~$ cat .linda/overrides/xringd
Tag: debconf-select-without-choices
Tag: wrong-path-script
Data: .*
Tag: binary-note
Data: usr/sbin/xringd
steven@broken:~$ cat .linda/overrides/libc6
Tag: binary-comment
Data: .*so
Tag: binary-note
Data: .*so
The example override file shown above shows the 3 differ
ent types of override you can use. The first shows the simplest
override, just the tag. That will override anything with the tag
debconf-select-without-choices. The second tag is very much like
the first, and it in fact does the same thing. The third override
only overrides for an error or warning that contains
usr/sbin/xringd in the argument list.
The overrides for libc6 will override any binary-note or
binary-comment error that can match .*so. A note about Data glob
ing is that it uses either substring, or regex.
Not only errors can be overridden, but the actually type
of the error (be it Error, Warning or whatever) can actually be
overridden in the override file by specifying a Type field for
the tag in question.
Another thing worth pointing out is that overrides in lat
er files will be merged with previously read override files.

TYPES

There are four types in linda. They are 'Error', 'Warn
ing', 'eXperimental' and 'Informational'. Error means the package
is violating a must directive in Policy, Warning means the pack
age may be violating a should directive, eXperimental means that
either the check gives false positives most of the time, or is
plain broken and should be ignored. Informational is usually sup
pressed, but can show little things you may not realize.

CHECKS

Checks are loaded from 3 directories when linda starts up.
Checks are first registered from /usr/share/linda/checks, or
$(LINDA_ROOT)/checks. Checks are then pulled in from ~/.lin
da/checks, for the local user, and then /etc/linda/checks for the
local system. Description files will be read relative from the
checks directory at ../data/<name>.data. The name is derived from
the *class* name, which has the word 'check' pulled off it, and
is then lower cased.

EXIT STATUS

Linda will exit with a different status, depending on what
was encountered, either when starting up, or in the checking it
self. A list of exit statuses are as follows:
· 0 - Nothing wrong was detected.
· 1 - Warnings detected.
· 2 - Errors detected.
· 3 - No files specified.
· 4 - No checks left to run.
· 5 - An internal error occured, such as being unable to
open directories under $LINDA_ROOT.
· 6 - Error importing modules.
· 7 - Option errors.

ENVIRONMENT

LINDA_ROOT
Directory that contains the checks and data
files. This defaults to /usr/share/linda.
TMPDIR Directory used to create linda labs.

EXAMPLES

linda -di debian/xringd_1.20-15_i386.changes

linda -C files,debhelper debian/asp_1.8-2_multi.changes

linda -f long -t E,W,X,I debian/libpoe
perl_0.19-1_i386.changes

AUTHOR

This manual page was hacked together at linux.conf.au
2002, by Brendan O'Dea and Steve Kowalik using help2man, and
Brendan's most useful *roff knowledge.

SEE ALSO

lintian(1), dh_make(8), debuild(1), http://www.de
bian.org/doc/debian-policy/
Linda 9 August 2005
Copyright © 2010-2025 Platon Technologies, s.r.o.           Index | Man stránky | tLDP | Dokumenty | Utilitky | O projekte
Design by styleshout