Check-Script: debhelper Author: Joey Hess Abbrev: dh Type: source Unpack-Level: 1 Info: This looks for common mistakes in debhelper source packages. Needs-Info: debfiles, source-control-file Tag: maintainer-script-lacks-debhelper-token Severity: normal Certainty: possible Info: This package is built using debhelper commands that may modify maintainer scripts, but the maintainer scripts do not contain the "#DEBHELPER#" token debhelper uses to modify them. . Adding the token to the scripts is recommended. Tag: package-uses-debhelper-but-lacks-build-depends Severity: important Certainty: possible Info: If a package uses debhelper, it must declare a Build-Depends on debhelper. Tag: package-lacks-versioned-build-depends-on-debhelper Severity: minor Certainty: certain Info: The package doesn't declare a versioned build dependency on debhelper. Recommended practice is to always declare an explicit versioned dependency on debhelper equal to or greater than the compatibility level used by the package, even if the versioned dependency isn't strictly necessary. Having a versioned dependency also helps with backports to older releases and correct builds on partially updated systems. Ref: debhelper(7) Tag: dh-make-template-in-source Severity: normal Certainty: possible Info: This package contains debian/*.ex and/or debian/ex.* files installed by dh_make. These are intended to be filled in with the package's details and renamed for use by various debhelper commands. If they are not being used, they should be removed. Tag: dh_testversion-is-deprecated Severity: normal Certainty: certain Ref: dh_testversion(1) Info: This package calls dh_testversion in its debian/rules file. dh_testversion is deprecated. Packages using debhelper should use versioned build dependencies to ensure that the correct version of debhelper is installed. Tag: dh_dhelp-is-deprecated Severity: normal Certainty: certain Info: This package calls dh_dhelp in its debian/rules file. dh_dhelp is deprecated as it is not part of the canonical debhelper suite and due to be removed since it supports only one single documentation system (dhelp). . Simply use dh_installdocs, which creates doc-base files and supports all of the documentation systems that way. Tag: dh_suidregister-is-obsolete Severity: normal Certainty: certain Ref: dh_suidregister(1) Info: suidregister is obsoleted by dpkg-statoverride, so registration of files in with dh_suidregister is unnecessary, and even harmful. Tag: dh-clean-k-is-deprecated Severity: normal Certainty: certain Ref: dh_clean(1) Info: This package calls dh_clean -k in its debian/rules file and declares a debhelper compatibility version of at least 7. . debhelper 7 deprecated dh_clean -k in favour of dh_prep. Tag: debhelper-compat-file-is-empty Severity: important Certainty: certain Ref: debhelper(7) Info: The source package has an empty debian/compat file. This is an error, the compat level of debhelper should be in there. Note that only the first line of the file is relevant. Tag: declares-possibly-conflicting-debhelper-compat-versions Severity: important Certainty: certain Ref: debhelper(7) Info: The source package declares the debhelper compatibility version both in the debian/compat file and in the debian/rules file. If these ever get out of synchronisation, the package may not build as expected. Tag: package-uses-deprecated-debhelper-compat-version Severity: normal Certainty: certain Ref: debhelper(7) Info: The debhelper compatibility version used by this package is marked as deprecated by the debhelper developer. You should really consider using a newer compatibility version. . The compatibility version can be set in (preferred) debian/compat or by setting and exporting DH_COMPAT in debian/rules. If it is not set in either place, debhelper defaults to the deprecated compatibility version 1. Tag: uses-dh-python-with-no-pycompat Severity: normal Certainty: possible Info: This package uses dh_python but apparently does not tell it to use the current Python policy by putting 2 in debian/pycompat. This may mean that the package has not been converted to the current Python policy, in which case it probably should be. Tag: debhelper-but-no-misc-depends Severity: normal Certainty: certain Ref: debhelper(7) Info: The source package uses debhelper but it does not use ${misc:Depends} in the given binary package's debian/control entry. This is required so the dependencies are set correctly in case the result of a call to any of the dh_ commands cause the package to depend on another package. Tag: missing-build-dependency-for-dh_-command Severity: important Certainty: possible Info: The source package appears to be using a dh_ command but doesn't build depend on the package that actually provides it. If it uses it, it must build depend on it. Tag: debhelper-script-needs-versioned-build-depends Severity: normal Certainty: certain Info: The given debhelper script was introduced in a later version of debhelper than the package Build-Depends on. The package Build-Depends should be updated to require that version of debhelper. Giving the version followed by ~ is recommended so that backports will satisfy the dependency. . etch was released with debhelper version 5.0.42, so every package that assumes a newer version should explicitly declare so for the sake of etch backports. Tag: brace-expansion-in-debhelper-config-file Severity: normal Certainty: possible Info: This debhelper config file appears to use shell brace expansion (such as {foo,bar}) to specify files. This happens to work due to an accident of implementation but is not a supported feature. Only ?, *, and [...] are supported. Ref: debhelper(1) Tag: weak-dependency-on-misc-depends Severity: normal Certainty: possible Ref: debhelper(7) Info: The source package declares a weak dependecy on ${misc:Depends} in the given binary package's debian/control entry. A stronger dependency, that is one that ensures the package's installation, is required so that the additional commands are available to the maintainer scripts when they are run. Tag: debhelper-compat-not-a-number Severity: important Certainty: certain Ref: debhelper(7) Info: The debhelper compatibility level specified in debian/compat is not a number. Tag: debhelper-compatibility-level-not-a-number Severity: important Certainty: possible Info: The debhelper compatibility level specified in debian/rules is not a number. If you're using make functions or other more complex methods to generate the compatibility level, write the output into debian/compat instead of setting DH_COMPAT. The latter should be available for a user to override temporarily.