summaryrefslogtreecommitdiffstats
path: root/man/dpkg-build-api.pod
diff options
context:
space:
mode:
Diffstat (limited to 'man/dpkg-build-api.pod')
-rw-r--r--man/dpkg-build-api.pod103
1 files changed, 103 insertions, 0 deletions
diff --git a/man/dpkg-build-api.pod b/man/dpkg-build-api.pod
new file mode 100644
index 0000000..e50cbf5
--- /dev/null
+++ b/man/dpkg-build-api.pod
@@ -0,0 +1,103 @@
+# dpkg manual page - dpkg-build-api(7)
+#
+# Copyright © 2021-2023 Guillem Jover <guillem@debian.org>
+#
+# This is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+=encoding utf8
+
+=head1 NAME
+
+dpkg-build-api - source package dpkg build API level
+
+=head1 SYNOPSIS
+
+ Build-Depends:
+ dpkg-build-api (= 1),
+
+=head1 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 B<Build-Depends>, B<Build-Depends-Indep> or B<Build-Depends-Arch>,
+or via the environment variable B<DPKG_BUILD_API>, which will override these
+if both are present, and might emit a warning in case they are different.
+
+=head1 API LEVELS
+
+=over
+
+=item v2
+
+This level is still under development, and cannot be declared via
+build-dependencies.
+
+=item v1
+
+This is the recommended level.
+Since dpkg 1.22.0.
+
+Changes from v0 are:
+
+=over
+
+=item *
+
+B<dpkg-shlibdeps> no longer uses the B<LD_LIBRARY_PATH> environment variable.
+The B<-l> option should be used instead.
+
+=item *
+
+B<dpkg-buildpackage> defaults to B<Rules-Requires-Root> value B<no>.
+To restore the B<v0> behavior B<Rules-Requires-Root> should be set to
+B<binary-targets>.
+
+=item *
+
+B<dpkg-buildpackage> expects all required F<debian/rules> targets to be
+supported and no longer has backwards compatibility fallback code.
+The required targets are B<clean>, B<build>, B<build-indep>, B<build-arch>,
+B<binary-indep> and B<binary-arch>.
+
+=item *
+
+B<vendor.mk> defaults to using B<dpkg_vendor_derives_from_v1> for the
+B<dpkg_vendor_derives_from> macro.
+To restore the B<v0> behavior set B<dpkg_vendor_derives_from> to
+B<dpkg_vendor_derives_from_v0>.
+
+=item *
+
+B<default.mk> defaults to including B<buildtools.mk>.
+
+=back
+
+=item v0
+
+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.
+
+=back
+
+=head1 SEE ALSO
+
+L<deb-src-control(5)>.