1 Check-Script: debhelper
2 Author: Joey Hess <joeyh@debian.org>
6 Info: This looks for common mistakes in debhelper source packages.
7 Needs-Info: debfiles, source-control-file
9 Tag: maintainer-script-lacks-debhelper-token
12 Info: This package is built using debhelper commands that may modify
13 maintainer scripts, but the maintainer scripts do not contain
14 the "#DEBHELPER#" token debhelper uses to modify them.
16 Adding the token to the scripts is recommended.
18 Tag: package-uses-debhelper-but-lacks-build-depends
21 Info: If a package uses debhelper, it must declare a Build-Depends
24 Tag: package-lacks-versioned-build-depends-on-debhelper
27 Info: The package doesn't declare a versioned build dependency on
28 debhelper. Recommended practice is to always declare an explicit
29 versioned dependency on debhelper equal to or greater than the
30 compatibility level used by the package, even if the versioned dependency
31 isn't strictly necessary. Having a versioned dependency also helps with
32 backports to older releases and correct builds on partially updated
36 Tag: dh-make-template-in-source
39 Info: This package contains debian/*.ex and/or debian/ex.* files
40 installed by dh_make. These are intended to be filled in with the
41 package's details and renamed for use by various debhelper commands.
42 If they are not being used, they should be removed.
44 Tag: dh_testversion-is-deprecated
47 Ref: dh_testversion(1)
48 Info: This package calls dh_testversion in its <tt>debian/rules</tt> file.
49 dh_testversion is deprecated. Packages using debhelper should use
50 versioned build dependencies to ensure that the correct version of
51 debhelper is installed.
53 Tag: dh_dhelp-is-deprecated
56 Info: This package calls dh_dhelp in its <tt>debian/rules</tt> file.
57 dh_dhelp is deprecated as it is not part of the canonical debhelper suite
58 and due to be removed since it supports only one single documentation
61 Simply use dh_installdocs, which creates doc-base files and supports all of
62 the documentation systems that way.
64 Tag: dh_suidregister-is-obsolete
67 Ref: dh_suidregister(1)
68 Info: suidregister is obsoleted by dpkg-statoverride, so registration of
69 files in with dh_suidregister is unnecessary, and even harmful.
71 Tag: dh-clean-k-is-deprecated
75 Info: This package calls dh_clean -k in its <tt>debian/rules</tt> file
76 and declares a debhelper compatibility version of at least 7.
78 debhelper 7 deprecated dh_clean -k in favour of dh_prep.
80 Tag: debhelper-compat-file-is-empty
84 Info: The source package has an empty debian/compat file. This is an error,
85 the compat level of debhelper should be in there. Note that only the first
86 line of the file is relevant.
88 Tag: declares-possibly-conflicting-debhelper-compat-versions
92 Info: The source package declares the debhelper compatibility version
93 both in the <tt>debian/compat</tt> file and in the <tt>debian/rules</tt>
94 file. If these ever get out of synchronisation, the package may not build
97 Tag: package-uses-deprecated-debhelper-compat-version
101 Info: The debhelper compatibility version used by this package is marked
102 as deprecated by the debhelper developer. You should really consider
103 using a newer compatibility version.
105 The compatibility version can be set in (preferred)
106 <tt>debian/compat</tt> or by setting and exporting DH_COMPAT in
107 <tt>debian/rules</tt>. If it is not set in either place, debhelper
108 defaults to the deprecated compatibility version 1.
110 Tag: uses-dh-python-with-no-pycompat
113 Info: This package uses dh_python but apparently does not tell it to use
114 the current Python policy by putting 2 in <tt>debian/pycompat</tt>. This
115 may mean that the package has not been converted to the current Python
116 policy, in which case it probably should be.
118 Tag: debhelper-but-no-misc-depends
122 Info: The source package uses debhelper but it does not use ${misc:Depends} in
123 the given binary package's debian/control entry. This is required so the
124 dependencies are set correctly in case the result of a call to any of the dh_
125 commands cause the package to depend on another package.
127 Tag: missing-build-dependency-for-dh_-command
130 Info: The source package appears to be using a dh_ command but doesn't build
131 depend on the package that actually provides it. If it uses it, it must
134 Tag: debhelper-script-needs-versioned-build-depends
137 Info: The given debhelper script was introduced in a later version of
138 debhelper than the package Build-Depends on. The package Build-Depends
139 should be updated to require that version of debhelper. Giving the
140 version followed by <tt>~</tt> is recommended so that backports will
141 satisfy the dependency.
143 etch was released with debhelper version 5.0.42, so every package that
144 assumes a newer version should explicitly declare so for the sake of
147 Tag: brace-expansion-in-debhelper-config-file
150 Info: This debhelper config file appears to use shell brace expansion
151 (such as <tt>{foo,bar}</tt>) to specify files. This happens to work due
152 to an accident of implementation but is not a supported feature. Only
153 <tt>?</tt>, <tt>*</tt>, and <tt>[...]</tt> are supported.
156 Tag: weak-dependency-on-misc-depends
160 Info: The source package declares a weak dependecy on ${misc:Depends} in
161 the given binary package's debian/control entry. A stronger dependency, that
162 is one that ensures the package's installation, is required so that the
163 additional commands are available to the maintainer scripts when they are run.
165 Tag: debhelper-compat-not-a-number
169 Info: The debhelper compatibility level specified in
170 <tt>debian/compat</tt> is not a number.
172 Tag: debhelper-compatibility-level-not-a-number
175 Info: The debhelper compatibility level specified in <tt>debian/rules</tt>
176 is not a number. If you're using make functions or other more complex
177 methods to generate the compatibility level, write the output into
178 <tt>debian/compat</tt> instead of setting DH_COMPAT. The latter should
179 be available for a user to override temporarily.