1 Check-Script: control-file
2 Author: Marc 'HE' Brockschmidt <marc@marcbrockschmidt.de>
7 Info: This script checks debian/control files in source packages
9 Tag: debian-control-file-uses-obsolete-national-encoding
11 Info: The Debian control file should be valid UTF-8, an encoding of
12 the Unicode character set.
14 There are many ways to convert a control from an obsoleted encoding
15 like ISO-8859-1; you may for example use "iconv" like:
17 $ iconv -f ISO-8859-1 -t UTF-8 control > control.new
18 $ mv control.new control
20 Tag: build-info-in-binary-control-file-section
23 Info: The control file has a Build-Depends, Build-Depends-Indep,
24 Build-Conflicts, or Build-Conflicts-Indep field in a binary
25 section. These specify source package relationships, and should be in
26 the source section of the control file.
28 Tag: debian-control-with-duplicate-fields
30 Info: One of the paragraphs of your debian/control contains the same
31 field more than once. This can lead to an unexpected behaviour of dpkg
34 Tag: debian-control-file-is-a-symlink
36 Info: The <tt>debian/control</tt> file is a symlink rather than a regular
37 file. Using symlinks for required source package files is unnecessary and
38 makes package checking and manipulation more difficult. If the control
39 file should be available in the source package under multiple names, make
40 <tt>debian/control</tt> the real file and the other names symlinks to it.
42 Tag: no-section-field-for-source
45 Info: The package does not have a "Section:" field in the source package
46 section of its control file. The Section field is required for source
47 packages at the request of the Debian ftp-masters.
49 Tag: section-category-mismatch
51 Info: The <tt>debian/control</tt> file places the indicated binary package
52 in a different archive category (main, contrib, non-free) than its source
53 package or other binary packages built from the same source package. The
54 source package and any binary packages it builds must be in the same
55 category of the archive. A source package in main may only build binary
56 packages in main, a source package in non-free may only build binary
57 packages in non-free, and so forth.
59 Tag: xs-vcs-header-in-debian-control
61 Info: There is an XS-Vcs-* field in the <tt>debian/control</tt> file. As
62 of dpkg 1.14.6, the XS- prefix is no longer necessary. dpkg now
63 recognizes these headers and handles them correctly. Consider removing
64 the XS- prefix for this field.
66 Tag: stronger-dependency-implies-weaker
69 Info: In the <tt>debian/control</tt> stanza for the given package, a
70 stronger dependency field implies one of the dependencies in a weaker
71 dependency field. In other words, the Depends field of the package
72 requires that one of the packages listed in Recommends or Suggests be
73 installed, or a package is listed in Recommends as well as Suggests.
75 Current versions of dpkg-gencontrol will silently fix this problem by
76 removing the weaker dependency, but it may indicate a more subtle bug
77 (misspelling or forgetting to remove the stronger dependency when it was
78 moved to the weaker field).
80 Tag: package-depends-on-itself
83 Info: The given package declares a dependency on itself in its
84 <tt>debian/control</tt> stanza. Current versions of dpkg-gencontrol will
85 silently fix this problem by removing the dependency, but it may indicate
86 a more subtle bug (misspelling or cutting and pasting the wrong package