Bug#793999: debian-policy: description of binary* targets suggests that build-{arch,indep} are optional
Le Wed, Jul 29, 2015 at 07:18:45PM +0200, Jakub Wilk a écrit :
>
> Ferenc Wagner noticed[0] that the following sentence in §4.9 seems to imply
> that build-{arch,indep} targets are optional:
>
> Both ‘binary-*’ targets should depend on the ‘build’ target, or on the
> appropriate ‘build-arch’ or ‘build-indep’ target, if provided, so that…
>
> I suggest to rewrite it as:
>
> Both ‘binary-*’ targets should depend on the appropriate ‘build-arch’ or
> ‘build-indep’ target, so that…
>
>
> [0] https://lists.debian.org/87bnevqnz9.fsf@lant.ki.iif.hu
Hi Jakub,
thanks for the report. In addition, I found a footnote that was similarly
inaccurate.
Here is a patch that would correct both. This patch differs from your
suggestion in that it does remove "should depend on the ‘build’ target":
packages were binary-arch depends on build, which depends on build-arch are not
buggy, isn't it ?
Have a nice day,
--
Charles
>From 2d50fec1d242f51e91e3dff92bd11ea1f96edff7 Mon Sep 17 00:00:00 2001
From: Charles Plessy <plessy@debian.org>
Date: Sat, 1 Aug 2015 15:56:31 +0900
Subject: [PATCH] Correct sentences that did not take into account that
build-arch is now mandatory.
Closes: #793999
---
policy.sgml | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/policy.sgml b/policy.sgml
index 404dc73..cc7f5c8 100644
--- a/policy.sgml
+++ b/policy.sgml
@@ -2057,8 +2057,8 @@ zope.
<p>
Both <tt>binary-*</tt> targets should depend on the
<tt>build</tt> target, or on the appropriate
- <tt>build-arch</tt> or <tt>build-indep</tt> target, if
- provided, so that the package is built if it has not
+ <tt>build-arch</tt> or <tt>build-indep</tt> target,
+ so that the package is built if it has not
been already. It should then create the relevant
binary package(s), using <prgn>dpkg-gencontrol</prgn> to
make their control files and <prgn>dpkg-deb</prgn> to
@@ -5526,9 +5526,10 @@ Replaces: mail-transport-agent
</p>
<p>
The autobuilders use <tt>dpkg-buildpackage -B</tt>, which
- calls <tt>build</tt>, not <tt>build-arch</tt> since it does
- not yet know how to check for its existence, and
- <tt>binary-arch</tt>. The purpose of the original split
+ calls <tt>build-arch</tt> (before <prgn>dpkg</prgn> version
+ 1.16.2 it was calling <tt>build</tt> since it did not check
+ the existence of <tt>build-arch</tt> using <tt>make -qn</tt>)
+ and <tt>binary-arch</tt>. The purpose of the original split
between <tt>Build-Depends</tt> and
<tt>Build-Depends-Indep</tt> was so that the autobuilders
wouldn't need to install extra packages needed only for the
--
2.1.4
Reply to: