File: linda.1

package info (click to toggle)
linda 0.3.24
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 1,852 kB
  • ctags: 765
  • sloc: python: 8,731; makefile: 136
file content (202 lines) | stat: -rw-r--r-- 8,861 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
.TH LINDA "1" "9 August 2005" "Linda"
.SH NAME
Linda \- program to check Debian archives, a'la Lintian.
.SH SYNOPSIS
.B linda
.RI [ options "] [" .dsc | .deb | .udeb | .changes ] ...
.SH DESCRIPTION
.PP 
Linda is a Debian package checker, modelled after Lintian, since the 
author of Linda felt that Lintian is too slow and unmaintainable to
work on, or with. 
.PP 
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.
.SH OPTIONS
.PP
Listed below are the command line options for linda.
.TP
\fB\-c\fR, \fB\-\-config\fR
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.
.TP
\fB\-C\fR, \fB\-\-checks\fR
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 interpret 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.
.TP
\fB\-d\fR, \fB\-\-debug\fR
Set debug level. This option can be specified multiple times to increase the amount of debug output printed. Anything over 2 should be considered to be detrimental for your health, and only attempted if on suitable medication.
.TP
\fB\-D\fR, \fB\-\-disable\-local\fR
Disable the registration of local checks.
.TP
\fB-f\fR, \fB\-\-format\fR
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.
.TP
\fB\-h\fR, \fB\-\-help\fR
Show help, self-explanatory, really.
.TP
\fB\-i\fR, \fB\-\-info\fR
Also print out the long description for errors and warnings.
.TP
\fB\-l\fR, \fB\-\-lab\fR
Specify the directory the lab should be in. This defaults to $TMPDIR, followed by /tmp.
.TP
\fB\-L\fR, \fB\-\-list\-checks\fR
Only list the checks that would be run, don't unpack or run any checks. As of 0.2.1, this option requires an argument, which is 'bin1', 'bin2', 'src1', 'src2', or 'all'. This option is most useful when used with \fB\-C\fR (specify checks).
.TP
\fB\-m\fR, \fB\-\-more\-overrides\fR
Specify yet another file for overrides. Will be parsed just before the in-deb overrides are attempted to be parsed.
.TP
\fB\-n\fR, \fB\-\-no\-cull\fR
Don't delete the lab directory after the tests are completed.
.TP
\fB-p\fR, \fB\-\-print-overrides\fR
Print out the parsed overrides as well. Requires a filename.
.TP
\fB-P\fR, \fB\-\-profiling\fR
Print out some profiling statistics before exiting.
.TP
\fB\-q\fR, \fB\-\-quiet\fR
Quieten me down a little. Forces Checks, and Output methods that throw exceptions to be caught silently.
.TP
\fB\-o\fR, \fB\-\-show\-overridden\fR
Display warnings or errors that have been overridden by the package.
.TP
\fB\-s\fR, \fB\-\-show\-tag\fR
Also display the tag for an error or warning. This is also dependant on the output method (-f) chosen.
.TP
\fB\-t\fR, \fB\-\-types\fR
Limit errors printed to those which have the specified type.
.TP
\fB-T\fR, \fB\-\-traceback\fR
Also display the traceback that an exception causes.
.TP
\fB\-u\fR, \fB\-\-unpack\fR
Only unpack the .deb or .dsc to the specified unpack level, and run no checks. Also implies no-cull. 
.TP
\fB-v\fR, \fB\-\-verbose\fR
Set verbose mode. IE, only display which file is being processed, and if specified twice, also display the lab directory.
.TP
\fB\-V\fR, \fB\-\-version\fR
Show version information.
.TP
\fBfilename\fR
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. 
.SH CONFIGURATION FILE
.PP
Starting with version 0.3.0, Linda will now read a configuration 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 increase their count by one, and that checks, format, lab-root and more-overrides need a second argument specified. The only arguments that are not permitted in the configuration file are:
.IP \(bu 4
help
.IP \(bu 4
list-checks
.IP \(bu 4
print-overrides
.IP \(bu 4
unpack
.IP \(bu 4
version
.PP
Example:
.br
steven@broken:~$ cat .linda/config
.br
debug
.br
debug
.br
more-overrides /home/steven/xringd.linda
.SH OVERRIDES
.PP
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 system 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.
.PP
Linda override files used to look like the following:
.PP
steven@broken:~$ cat .linda/overrides/xringd 
.br
debconf-select-without-choices
.br
wrong-path-script *
.br
binary-note usr/sbin/xringd
.PP
steven@broken:~$ cat .linda/overrides/libc6
.br
binary-note *so
.br
binary-comment *so
.PP
Linda overrides files from 0.1.6 onwards look like:
.PP
steven@broken:~$ cat .linda/overrides/xringd
.br
Tag: debconf-select-without-choices
.PP
Tag: wrong-path-script
.br
Data: .*
.PP
Tag: binary-note
.br
Data: usr/sbin/xringd
.PP
steven@broken:~$ cat .linda/overrides/libc6
.br
Tag: binary-comment
.br
Data: .*so
.PP
Tag: binary-note
.br
Data: .*so
.PP
The example override file shown above shows the 3 different 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.
.PP
The overrides for libc6 will override any binary-note or binary-comment error that can match .*so. A note about Data globing is that it uses either substring, or regex.
.PP
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.
.PP
Another thing worth pointing out is that overrides in later files will be merged with previously read override files.
.SH TYPES
.PP
There are four types in linda. They are 'Error', 'Warning', 'eXperimental' and 'Informational'. Error means the package is violating a must directive in Policy, Warning means the package 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 suppressed, but can show little things you may not realize.
.SH CHECKS
.PP
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 ~/.linda/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.
.SH EXIT STATUS
.PP
Linda will exit with a different status, depending on what was encountered, either when starting up, or in the checking itself. A list of exit statuses are as follows:
.IP \(bu 4
0 - Nothing wrong was detected.
.IP \(bu 4
1 - Warnings detected.
.IP \(bu 4
2 - Errors detected.
.IP \(bu 4
3 - No files specified.
.IP \(bu 4
4 - No checks left to run.
.IP \(bu 4
5 - An internal error occured, such as being unable to open directories under $LINDA_ROOT.
.IP \(bu 4
6 - Error importing modules.
.IP \(bu 4
7 - Option errors.
.SH ENVIRONMENT
.IP LINDA_ROOT 10
Directory that contains the checks and data files. This defaults to /usr/share/linda.
.IP TMPDIR 10
Directory used to create linda labs.
.SH EXAMPLES
.PP 
linda -di debian/xringd_1.20-15_i386.changes
.PP 
linda -C files,debhelper debian/asp_1.8-2_multi.changes
.PP
linda \-f long \-t E,W,X,I debian/libpoe\-perl_0.19\-1_i386.changes
.SH AUTHOR
.PP
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.
.SH SEE ALSO 
.PP 
\fBlintian\fP\fB(1)\fP, \fBdh_make\fP\fB(8)\fP, \fBdebuild\fP\fB(1)\fP, 
.UN Debian Policy
http://www.debian.org/doc/debian-policy/
.UE