summaryrefslogtreecommitdiffstats
path: root/man/dpkg-buildpackage.pod
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-08-07 13:30:09 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-08-07 13:30:09 +0000
commit3c05da1bdef2a6e2142b4fcac974e7e3fc0db93c (patch)
tree9532e637f47d6ff7246ccbabb62d4e2b4b5908df /man/dpkg-buildpackage.pod
parentAdding debian version 1.22.6. (diff)
downloaddpkg-3c05da1bdef2a6e2142b4fcac974e7e3fc0db93c.tar.xz
dpkg-3c05da1bdef2a6e2142b4fcac974e7e3fc0db93c.zip
Merging upstream version 1.22.7.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'man/dpkg-buildpackage.pod')
-rw-r--r--man/dpkg-buildpackage.pod33
1 files changed, 24 insertions, 9 deletions
diff --git a/man/dpkg-buildpackage.pod b/man/dpkg-buildpackage.pod
index f90471d..402c296 100644
--- a/man/dpkg-buildpackage.pod
+++ b/man/dpkg-buildpackage.pod
@@ -27,13 +27,16 @@ dpkg-buildpackage - build binary or source packages from sources
=head1 SYNOPSIS
-B<dpkg-buildpackage>
-[I<option>...]
+B<dpkg-buildpackage> [I<option>...] [B<-->] [I<filename>.dsc|I<directory>]
=head1 DESCRIPTION
B<dpkg-buildpackage>
is a program that automates the process of building a Debian package.
+
+The I<filename>.dsc and I<directory> arguments are supported since dpkg 1.22.7.
+Their semantics are experimental.
+
It
consists of the following steps:
@@ -42,6 +45,10 @@ consists of the following steps:
=item B<1.>
It runs the B<preinit> hook before reading any source file.
+If a B<.dsc> file has been specified it unpacks it anew and
+changes directory to it,
+if a I<directory> has been specified it changes directory to it,
+otherwise it expects the current directory to contain the source tree.
It prepares the build environment by setting various environment
variables (see B<ENVIRONMENT>), runs the B<init> hook, and calls
B<dpkg-source --before-build> (unless B<-T> or B<--target>
@@ -65,7 +72,8 @@ is specified).
It runs the B<source> hook and calls B<dpkg-source -b> to generate
the source package (if a B<source> build has been requested with
-B<--build> or equivalent options).
+B<--build> or equivalent options,
+and if no B<.dsc> has been specified).
=item B<5.>
@@ -87,6 +95,9 @@ It runs the B<buildinfo>
hook and calls B<dpkg-genbuildinfo> to generate a B<.buildinfo> file.
Several B<dpkg-buildpackage> options are forwarded to
B<dpkg-genbuildinfo>.
+If a I<.dsc> has been specified,
+then it will be referenced in the generated B<.buildinfo> file,
+as we can ascertain the provenance of the source tree.
=item B<7.>
@@ -142,6 +153,11 @@ is specified).
=item B<12.>
+If a B<.dsc> file has been specified,
+it removes the extracted source directory.
+
+=item B<13.>
+
It runs the B<done> hook.
=back
@@ -515,7 +531,8 @@ of options that will passed to the B<dpkg-source> call.
=item B<build>
Gets B<DPKG_BUILDPACKAGE_HOOK_BUILD_TARGET> with the name of the
-B<debian/rules> build target called, but only if called.
+B<debian/rules> build target called.
+Before dpkg 1.22.7 the variable was only set if the target was called.
=item B<binary>
@@ -908,12 +925,10 @@ This is no longer the case.
B<dpkg-buildpackage> is using the B<build-arch> and
B<build-indep> targets since dpkg 1.16.2.
+Before dpkg 1.22.7,
+there was code to try to detect the missing targets and fallback on the
+B<build> target.
Those targets are thus mandatory.
-But to avoid breakages of existing packages, and ease
-the transition, if the source package does not build both architecture
-independent and dependent binary packages (since dpkg 1.18.8) it will
-fallback to use the B<build> target if B<make -f debian/rules -qn>
-I<build-target> returns 2 as exit code.
=head1 SECURITY