[[cdbs]]
=== CDBS

The Common Debian Build System (*CDBS*) is a wrapper system over the *debhelper* package.  The *CDBS* is based on the Makefile inclusion mechanism and configured by the **DEB_*** configuration variables set in the *debian/rules* file.

Before the introduction of the *dh* command to the *debhelper* package at the version 7, the *CDBS* was the only approach to create a simple and clean *debian/rules* file.

For many simple packages, the *dh* command alone allows us to make a simple and clean *debian/rules* file now.  It is desirable to keep the build system simple and clean by not using the superfluous *CDBS*.

NOTE: Neither ``the *CDBS* magically does the job for me with less typing'' nor ``I don't understand the new *dh* syntax'' can be an excuse to keep using the *CDBS* system.

For some complicated packages such as GNOME related ones, the *CDBS* is leveraged to automate their uniform packaging by the current maintainers with justification.  If this is the case, please do not bother converting from the *CDBS* to the *dh* syntax.

NOTE: If you are working with a https://wiki.debian.org/Teams[team] of maintainers, please follow the established practice of the team.

When converting packages from the *CDBS* to the *dh* syntax, please use the following as your reference:

* http://cdbs-doc.duckcorp.org/en/cdbs-doc.xhtml[CDBS Documentation]
* https://meetings-archive.debian.net/pub/debian-meetings/2009/fosdem/slides/The_Common_Debian_Build_System_CDBS/[The Common Debian Build System (CDBS), FOSDEM 2009]

