Added lots more modules from lintian. Maemian appears to work.
[maemian] / checks / control-file.desc
1 Check-Script: control-file
2 Author: Marc 'HE' Brockschmidt <marc@marcbrockschmidt.de>
3 Abbrev: dctl
4 Type: source
5 Unpack-Level: 1
6 Needs-Info: debfiles
7 Info: This script checks debian/control files in source packages
8
9 Tag: debian-control-file-uses-obsolete-national-encoding
10 Severity: serious
11 Certainty: certain
12 Ref: policy 5.1
13 Info: The Debian control file should be valid UTF-8, an encoding of
14  the Unicode character set.
15  .
16  There are many ways to convert a control from an obsoleted encoding
17  like ISO-8859-1; you may for example use "iconv" like this:
18  .
19   $ iconv -f ISO-8859-1 -t UTF-8 control &gt; control.new
20   $ mv control.new control
21
22 Tag: build-info-in-binary-control-file-section
23 Severity: important
24 Certainty: certain
25 Ref: policy 5.2
26 Info: The control file has a Build-Depends, Build-Depends-Indep,
27  Build-Conflicts, or Build-Conflicts-Indep field in a binary
28  section.  These specify source package relationships, and should be in
29  the source section of the control file.
30
31 Tag: debian-control-with-duplicate-fields
32 Severity: important
33 Certainty: certain
34 Info: One of the paragraphs of your debian/control contains the same
35  field more than once. This can lead to an unexpected behaviour of dpkg
36  and apt.
37
38 Tag: debian-control-has-unusual-field-spacing
39 Severity: pedantic
40 Certainty: certain
41 Ref: policy 5.1
42 Info: The field on this line of <tt>debian/control</tt> has whitespace
43  other than a single space after the colon.  This is explicitly permitted
44  in the syntax of Debian control files, but as Policy says, it is
45  conventional to put a single space after the colon.
46
47 Tag: binary-control-field-duplicates-source
48 Severity: wishlist
49 Certainty: certain
50 Info: In <tt>debian/control</tt>, this field for a binary package
51  duplicates the value inherited from the source package paragraph.  This
52  doesn't hurt anything, but you may want to take advantage of the
53  inheritance and set the value in only one place.  It prevents missing
54  duplicate places that need to be fixed if the value ever changes.
55
56 Tag: debian-control-file-is-a-symlink
57 Severity: normal
58 Certainty: certain
59 Info: The <tt>debian/control</tt> file is a symlink rather than a regular
60  file. Using symlinks for required source package files is unnecessary and
61  makes package checking and manipulation more difficult. If the control
62  file should be available in the source package under multiple names, make
63  <tt>debian/control</tt> the real file and the other names symlinks to it.
64
65 Tag: no-section-field-for-source
66 Severity: normal
67 Certainty: certain
68 Ref: policy 5.2
69 Info: The package does not have a "Section:" field in the source package
70  section of its control file.  The Section field is required for source
71  packages at the request of the Debian ftp-masters.
72
73 Tag: section-area-mismatch
74 Severity: important
75 Certainty: certain
76 Info: The <tt>debian/control</tt> file places the indicated binary package
77  in a different archive area (main, contrib, non-free) than its source
78  package or other binary packages built from the same source package.  The
79  source package and any binary packages it builds must be in the same
80  area of the archive, with the single exception that source packages in
81  main may also build binary packages in contrib.
82
83 Tag: xs-vcs-header-in-debian-control
84 Severity: wishlist
85 Certainty: certain
86 Info: There is an XS-Vcs-* field in the <tt>debian/control</tt> file.  As
87  of dpkg 1.14.6, the XS- prefix is no longer necessary.  dpkg now
88  recognizes these headers and handles them correctly.  Consider removing
89  the XS- prefix for this field.
90
91 Tag: stronger-dependency-implies-weaker
92 Severity: normal
93 Certainty: certain
94 Ref: policy 7.2
95 Info: In the <tt>debian/control</tt> stanza for the given package, a
96  stronger dependency field implies one of the dependencies in a weaker
97  dependency field.  In other words, the Depends field of the package
98  requires that one of the packages listed in Recommends or Suggests be
99  installed, or a package is listed in Recommends as well as Suggests.
100  .
101  Current versions of dpkg-gencontrol will silently fix this problem by
102  removing the weaker dependency, but it may indicate a more subtle bug
103  (misspelling or forgetting to remove the stronger dependency when it was
104  moved to the weaker field).
105
106 Tag: package-depends-on-itself
107 Severity: normal
108 Certainty: certain
109 Ref: policy 7.2
110 Info: The given package declares a dependency on itself in its
111  <tt>debian/control</tt> stanza.  Current versions of dpkg-gencontrol will
112  silently fix this problem by removing the dependency, but it may indicate
113  a more subtle bug (misspelling or cutting and pasting the wrong package
114  name).
115
116 Tag: duplicate-short-description
117 Severity: wishlist
118 Certainty: possible
119 Info: The listed binary packages all share the same short description (the
120  first line of the Description control field).  The package names may
121  provide enough additional information to distinguish between the
122  packages, but it's common to also add a word or two to the short
123  description to clarify the difference.
124
125 Tag: duplicate-long-description
126 Severity: wishlist
127 Certainty: certain
128 Info: The listed binary packages all share the same extended description.
129  Some additional information in the extended description explaining what
130  is in each package and how it differs from the other packages is useful,
131  particularly for users who aren't familiar with Debian's package naming
132  conventions.
133
134 Tag: missing-comma-after-substvar
135 Severity: normal
136 Certainty: possible
137 Info: The given field in the <tt>debian/control</tt> file has a substvar
138  (something of the form <tt>${Variable}</tt>) that isn't followed by a
139  comma.  This is normally a lurking bug.  As long as the variable isn't
140  defined or expands to an empty string, the generated control file will be
141  syntactically valid, but as soon as the variable has a non-empty value,
142  the control file will have a syntax error.  You probably meant to put a
143  comma after the substvar expansion.
144
145 Tag: missing-comma-between-items
146 Severity: important
147 Certainty: certain
148 Info: The given field in the <tt>debian/control</tt> file contains a list
149  of items separated by commas.  It appears that when wrapping the list on
150  multiple lines, a comma was missed at the end of a line.  This can lead
151  to bogus or incomplete dependencies, conflicts etc.
152
153 Tag: package-depends-on-hardcoded-libc
154 Severity: normal
155 Certainty: certain
156 Info: The given package declares a dependency on libc directly instead
157  of using ${shlibs:Depends} in its <tt>debian/control</tt> stanza.