[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#604397: marked as done (debian-policy: build-arch and build-indep targets are required)



Your message dated Wed, 19 Sep 2012 06:32:10 +0000
with message-id <E1TEDpS-0002tq-75@franck.debian.org>
and subject line Bug#374029: fixed in debian-policy 3.9.4.0
has caused the Debian Bug report #374029,
regarding debian-policy: build-arch and build-indep targets are required
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
374029: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374029
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: debian-policy
Version: 3.9.1.0
Severity: normal
Tags: patch

Hi,

As a goal for wheezy, I'd like the Build-Depends and
Build-Depends-Indep fields to be fully functional and usable for
autobuilding.  Currently, Build-Depends-Indep isn't useful, and
only Build-Depends is used in practice on our autobuilder
infrastructure (despite it being perfectly capable of handling
and using B-D-I internally).

The reason for this is that we do our building using dpkg-buildpackage,
and while binary-arch and binary-indep are required targets used by
dpkg-buildpackage, the corresponding build-arch and build-indep targets
are not required and are not used by dpkg-buildpackage at present.

There's some history to this in #374029.  Most of the information
about sbuild/buildds in there is outdated and incorrect.  The only
sticking point to using Build-Depends-Indep and autobuilding
arch-all packages is the lack of support for build-arch and build-all
in dpkg-buildpackage.

Simply enabling this in dpkg-buildpackage would cause widespread
breakage.  build-arch and build-indep have been suggested in Policy
for some time, and they are used by a low percentage of the archive
at present (<400 packages), while 50% of the archive uses dh or
cdbs rules which would allow trivial support in all those packages
once the tools are updated.

I'd like to propose that build-arch and build-indep be changed in
Policy from "may be provided" to "must be provided" in preparation
for enabling their use.  We've wanted to fix the root problem for
at least half a decade, and I'd like to get it done for wheezy.

This should probably also be accompanied by a new lintian check which
can warn if these rules are missing.

Note, this patch obviates the need for the patch in #601839.


Regards,
Roger

-- System Information:
Debian Release: 5.0.6
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: powerpc (ppc)

Kernel: Linux 2.6.26-2-powerpc
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

debian-policy depends on no packages.

debian-policy recommends no packages.

Versions of packages debian-policy suggests:
ii  doc-base                      0.8.20     utilities to manage online documen

-- no debconf information
diff --git a/policy.sgml b/policy.sgml
index 642f672..29a7db4 100644
--- a/policy.sgml
+++ b/policy.sgml
@@ -1858,8 +1858,9 @@
 	<p>
 	  The following targets are required and must be implemented
 	  by <file>debian/rules</file>: <tt>clean</tt>, <tt>binary</tt>,
-	  <tt>binary-arch</tt>, <tt>binary-indep</tt>, and <tt>build</tt>.
-	  These are the targets called by <prgn>dpkg-buildpackage</prgn>.
+	  <tt>binary-arch</tt>, <tt>binary-indep</tt>, <tt>build</tt>,
+	  <tt>build-arch</tt>, and <tt>build-indep</tt>.  These are the
+	  targets called by <prgn>dpkg-buildpackage</prgn>.
 	</p>
 
 	<p>
@@ -1943,43 +1944,35 @@
 	    </tag>
 	    <item>
 	      <p>
-		A package may also provide both of the targets
+		A package must also provide both of the targets
 		<tt>build-arch</tt> and <tt>build-indep</tt>.
-		The <tt>build-arch</tt> target, if provided, should
-		perform all the configuration and compilation required for
-		producing all architecture-dependant binary packages
-		(those packages for which the body of the
-		<tt>Architecture</tt> field in <tt>debian/control</tt> is
-		not <tt>all</tt>).  Similarly, the <tt>build-indep</tt>
-		target, if provided, should perform all the configuration
-		and compilation required for producing all
-		architecture-independent binary packages (those packages
-		for which the body of the <tt>Architecture</tt> field
+		The <tt>build-arch</tt> target should perform all the
+		configuration and compilation required for producing
+		all architecture-dependant binary packages (those
+		packages for which the body of the
+		<tt>Architecture</tt> field in <tt>debian/control</tt>
+		is not <tt>all</tt>).  Similarly,
+		the <tt>build-indep</tt> target, should perform all
+		the configuration and compilation required for
+		producing all architecture-independent binary packages
+		(those packages for which the body of
+		the <tt>Architecture</tt> field
 		in <tt>debian/control</tt> is <tt>all</tt>).
-		The <tt>build</tt> target should depend on those of the
-		targets <tt>build-arch</tt> and <tt>build-indep</tt> that
-		are provided in the rules file.<footnote>
-		  The intent of this split is so that binary-only builds
-		  need not install the dependencies required for
-		  the <tt>build-indep</tt> target.  However, this is not
-		  yet used in practice since <tt>dpkg-buildpackage
-		  -B</tt>, and therefore the autobuilders,
-		  invoke <tt>build</tt> rather than <tt>build-arch</tt>
-		  due to the difficulties in determining whether the
-		  optional <tt>build-arch</tt> target exists.
+		The <tt>build</tt> target should depend on
+		the <tt>build-arch</tt> and <tt>build-indep</tt>
+		targets.<footnote> The intent of this split is so
+		that binary-only builds need not install the
+		dependencies required for the <tt>build-indep</tt>
+		target.  However, this is not yet used in practice
+		since <tt>dpkg-buildpackage -B</tt>, and therefore the
+		autobuilders, invoke <tt>build</tt> rather
+		than <tt>build-arch</tt> due to the difficulties in
+		determining whether the optional <tt>build-arch</tt>
+		target exists.
 		</footnote>
 	      </p>
 
 	      <p>
-		If one or both of the targets <tt>build-arch</tt> and
-		<tt>build-indep</tt> are not provided, then invoking
-		<file>debian/rules</file> with one of the not-provided
-		targets as arguments should produce a exit status code
-		of 2.  Usually this is provided automatically by make
-		if the target is missing.
-	      </p>
-
-	      <p>
 		The <tt>build-arch</tt> and <tt>build-indep</tt> targets
 		must not do anything that might require root privilege.
 	      </p>
@@ -2006,13 +1999,13 @@
 	      <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
-		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
-		build them and place them in the parent of the top
-		level directory.
+		<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 build them
+		and place them in the parent of the top level
+		directory.
 	      </p>
 
 	      <p>

--- End Message ---
--- Begin Message ---
Source: debian-policy
Source-Version: 3.9.4.0

We believe that the bug you reported is fixed in the latest version of
debian-policy, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 374029@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Russ Allbery <rra@debian.org> (supplier of updated debian-policy package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Tue, 18 Sep 2012 21:35:36 -0700
Source: debian-policy
Binary: debian-policy
Architecture: source all
Version: 3.9.4.0
Distribution: unstable
Urgency: low
Maintainer: Debian Policy List <debian-policy@lists.debian.org>
Changed-By: Russ Allbery <rra@debian.org>
Description: 
 debian-policy - Debian Policy Manual and related documents
Closes: 374029 571776 591791 641153 654958 661816 661933 663918 670429 676561
Changes: 
 debian-policy (3.9.4.0) unstable; urgency=low
 .
   * build-arch and build-indep are now mandatory targets in debian/rules,
     implementing the Technical Committee ruling in #629385.  Wording
     review by Jonathan Nieder, Jakub Wilk, and Roger Leigh.
     (Closes: #374029)
   * Resynchronize the archive section list with ftp-master, adding tasks.
     Patch from Charles Plessy.  (Closes: #670429)
   * Policy: Copyright files must be encoded in UTF-8
     Wording: Russ Allbery <rra@debian.org>
     Seconded: Guillem Jover <guillem@debian.org>
     Seconded: Salvatore Bonaccorso <carnil@debian.org>
     Seconded: Simon McVittie <smcv@debian.org>
     Closes: #661933
   * Policy: Prohibit deprecated < and > relations
     Wording: Jakub Wilk <jwilk@debian.org>
     Seconded: Cyril Brulebois <kibi@debian.org>
     Seconded: Russ Allbery <rra@debian.org>
     Closes: #663918
   * Policy: Document the Built-Using field
     Wording: Charles Plessy <plessy@debian.org>
     Seconded: Russ Allbery <rra@debian.org>
     Seconded: Ansgar Burchardt <ansgar@debian.org>
     Closes: #641153
   * Policy: Document the Vcs-* fields
     Wording: Charles Plessy <plessy@debian.org>
     Wording: Jonathan Nieder <jrnieder@gmail.com>
     Seconded: Russ Allbery <rra@debian.org>
     Seconded: Charles Plessy <plessy@debian.org>
     Seconded: Guillem Jover <guillem@debian.org>
     Closes: #654958
   * Policy: Document restrictions on the use of /run for wheezy
     Wording: Roger Leigh <rleigh@debian.org>
     Seconded: Charles Plessy <plessy@debian.org>
     Seconded: Russ Allbery <rra@debian.org>
     Closes: #676561
   * Policy: Rewrite shared library dependency policy to document symbols
     Wording: Russ Allbery <rra@debian.org>
     Wording: Jonathan Nieder <jrnieder@gmail.com>
     Seconded: Raphaël Hertzog <hertzog@debian.org>
     Seconded: Julien Cristau <jcristau@debian.org>
     Closes: #571776
   * Policy: Document generic and upstart-specific init system requirements
     Wording: Steve Langasek <steve.langasek@canonical.com>
     Seconded: Russ Allbery <rra@debian.org>
     Seconded: Adam D. Barratt <adam@adam-barratt.org.uk>
     Closes: #591791
   * Policy: Rely on triggers instead of calling update-mime
     Wording: Charles Plessy <plessy@debian.org>
     Seconded: Russ Allbery <rra@debian.org>
     Seconded: Guillem Jover <guillem@debian.org>
     Closes: #661816
Checksums-Sha1: 
 c728495994bbdabc43055dfbedfd662bba5eb069 1518 debian-policy_3.9.4.0.dsc
 4c6bc2d0eb510313e1b4a0d2a932f4182ffe6f91 704838 debian-policy_3.9.4.0.tar.gz
 ac9ff5a5987343a736fb45af52d3178bae30d37e 2147892 debian-policy_3.9.4.0_all.deb
Checksums-Sha256: 
 c6dbad5976931268283c02903cf0dc3f3bb8dfc86710cab462e0e6c19aab1407 1518 debian-policy_3.9.4.0.dsc
 01ae1a19f7a251dd5c2b078736427f33f04c5f7e38308f874345f1e3e194dca5 704838 debian-policy_3.9.4.0.tar.gz
 c6e22f66e4cd38cbfac944bfebb41fa5608604326c6ecb9dbbd2213f5372ebbd 2147892 debian-policy_3.9.4.0_all.deb
Files: 
 e5683a409d1f740582e960158152b4ba 1518 doc optional debian-policy_3.9.4.0.dsc
 33eafa60a7c79f827adaa1bdb0cdcf83 704838 doc optional debian-policy_3.9.4.0.tar.gz
 2c5c278e5035e26489c3ae76f8c428d2 2147892 doc optional debian-policy_3.9.4.0_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQEcBAEBCAAGBQJQWVEqAAoJEH2AMVxXNt51CfcH/226voYDWjhFjwJJh61d0XBI
3JRRYNqF7rZ59zl4kwEX+QFe/CoKnX1rEceBb9g3cCJ/AO6vU8Z+hhGnpr4eus1v
2BKhO4E8S6vqjtWfiXHIUmkIlGQeuxY3aBMWNZPgQzqEz9Skrc3aDel3zuuiKehE
fTk8Kse0hwTGp5h9nVaXawdZEPKFhcQT2NrhhTE/VmTHuC1EzUTcjOUDeu8tM2xy
r6Zjytz43qqvWinUQNYQXOtjt2zAVV0dw6T9nWcssXOSTD1EZLbfAbaJw9m1VG6G
B9BRhz5xs334/DktrgDw2gKjb4IF2tI3lIPRj12OuGErR+lChgZr4egrA+xyBwM=
=SP2c
-----END PGP SIGNATURE-----

--- End Message ---

Reply to: