Scroll to navigation

dpkg-build-api(7) dpkg suite dpkg-build-api(7)

NAME

dpkg-build-api - source package dpkg build API level

SYNOPSIS

 Build-Depends:
  dpkg-build-api (= 1),

DESCRIPTION

The source package dpkg build API level, defines a versioned interface for source packages, where each API level provides specific behaviors and guarantees.

These interfaces can then be adopted by packages in a gradual way, and phased out more easily than with global behavior changes.

The declaration of this API level is done through build-dependencies, in one of Build-Depends, Build-Depends-Indep or Build-Depends-Arch, or via the environment variable DPKG_BUILD_API, which will override these if both are present, and might emit a warning in case they are different.

API LEVELS

This level is still under development, and cannot be declared via build-dependencies.
This is the recommended level. Since dpkg 1.22.0.

Changes from v0 are:

  • dpkg-shlibdeps no longer uses the LD_LIBRARY_PATH environment variable. The -l option should be used instead.
  • dpkg-buildpackage defaults to Rules-Requires-Root value no. To restore the v0 behavior Rules-Requires-Root should be set to binary-targets.
  • dpkg-buildpackage expects all required debian/rules targets to be supported and no longer has backwards compatibility fallback code. The required targets are clean, build, build-indep, build-arch, binary-indep and binary-arch.
  • vendor.mk defaults to using dpkg_vendor_derives_from_v1 for the dpkg_vendor_derives_from macro. To restore the v0 behavior set dpkg_vendor_derives_from to dpkg_vendor_derives_from_v0.
  • default.mk defaults to including buildtools.mk.
This is the current global level, equivalent to not specifying one. The interfaces and behaviors provided are subject to the normal global interface updates, which tend to require longer deprecation cycles and/or coordinated transitions.

SEE ALSO

deb-src-control(5).

2024-03-10 1.22.6