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