Your company here — click to reach over 10,000 unique daily visitors

debhelper-obsolete-compat - Man Page

List of no longer supported compat levels


This document contains the upgrade guidelines from all compat levels which are no longer supported.  Accordingly it is mostly for historical purposes and to assist people upgrading from a non-supported compat level to a supported level.

For upgrades from supported compat levels, please see debhelper(7).

Upgrade List for Compat Levels

The following is the list of now obsolete compat levels and their changes.


This is the lowest supported compatibility level.

Changes from v6 are:

  • dh_install, will fall back to looking for files in debian/tmp if it doesn't find them in the current directory (or wherever you tell it look using --sourcedir). This allows dh_install to interoperate with dh_auto_install, which installs to debian/tmp, without needing any special parameters.
  • dh_clean will read debian/clean and delete files listed there.
  • dh_clean will delete toplevel *-stamp files.
  • dh_installchangelogs will guess at what file is the upstream changelog if none is specified.

Changes from v5 are:

  • Commands that generate maintainer script fragments will order the fragments in reverse order for the prerm and postrm scripts.
  • dh_installwm will install a slave manpage link for x-window-manager.1.gz, if it sees the man page in usr/share/man/man1 in the package build directory.
  • dh_builddeb did not previously delete everything matching DH_ALWAYS_EXCLUDE, if it was set to a list of things to exclude, such as CVS:.svn:.git. Now it does.
  • dh_installman allows overwriting existing man pages in the package build directory. In previous compatibility levels it silently refuses to do this.

This mode is deprecated.


Changes from v4 are:

  • Comments are ignored in debhelper config files.
  • dh_strip --dbg-package now specifies the name of a package to put debugging symbols in, not the packages to take the symbols from.
  • dh_installdocs skips installing empty files.
  • dh_install errors out if wildcards expand to nothing.

Changes from v3 are:

  • dh_makeshlibs -V will not include the Debian part of the version number in the generated dependency line in the shlibs file.
  • You are encouraged to put the new ${misc:Depends} into debian/control to supplement the ${shlibs:Depends} field.
  • dh_fixperms will make all files in bin/ directories and in etc/init.d executable.
  • dh_link will correct existing links to conform with policy.

This mode is deprecated.


This mode works like v2, with the following additions:

  • Debhelper config files support globbing via * and ?, when appropriate. To turn this off and use those characters raw, just prefix with a backslash.
  • dh_makeshlibs makes the postinst and postrm scripts call ldconfig.
  • Every file in etc/ is automatically flagged as a conffile by dh_installdeb.

This mode is deprecated.


In this mode, debhelper will consistently use debian/package as the package tree directory for every package that is built.

This mode is deprecated.


This is the original debhelper compatibility level, and so it is the default one. In this mode, debhelper will use debian/tmp as the package tree directory for the first binary package listed in the control file, while using debian/package for all other packages listed in the control file.

This mode is deprecated.

See Also



Niels Thykier <niels@thykier.net>

Joey Hess

Referenced By


2024-01-24 13.11.6 Debhelper