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

Bug#72335: marked as done ([ACCEPTED 10/6/2001] Optional build-arch and build-indep targets for debian/rules)



Your message dated Sat, 18 Aug 2001 23:28:24 +0100
with message-id <20010818232824.A7574@polya>
and subject line Closed by debian-policy version 3.5.6.0
has caused the attached Bug report 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 I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Darren Benham
(administrator, Debian Bugs database)

--------------------------------------
Received: (at submit) by bugs.debian.org; 24 Sep 2000 14:27:28 +0000
>From ajk@gaia.iki.fi Sun Sep 24 09:27:28 2000
Return-path: <ajk@gaia.iki.fi>
Received: from kukkaruukku.keltti.jyu.fi [::ffff:130.234.184.31] 
	by master.debian.org with esmtp (Exim 3.12 1 (Debian))
	id 13dCka-0006o6-00; Sun, 24 Sep 2000 09:27:28 -0500
Received: from ajk by kukkaruukku.keltti.jyu.fi with local (Exim 3.16 #1 (Debian))
	id 13dCkv-0007xL-00
	for <submit@bugs.debian.org>; Sun, 24 Sep 2000 17:27:49 +0300
Date: Sun, 24 Sep 2000 17:27:49 +0300
From: Antti-Juhani Kaijanaho <gaia@iki.fi>
To: submit@bugs.debian.org
Subject: [PROPOSED] Optional build-arch and build-indep targets for debian/rules
Message-ID: <20000924172748.D3236@gaia.iki.fi>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="k1lZvvs/B4yU6o8G"
Content-Disposition: inline
User-Agent: Mutt/1.2.5i
Sender: Antti-Juhani Kaijanaho <ajk@gaia.iki.fi>
Delivered-To: submit@bugs.debian.org


--k1lZvvs/B4yU6o8G
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Package: debian-policy
Version: 3.2.1.0
Severity: wishlist

There is a problem with the current build-time dependency system.

The build-time dependency system separates between dependencies needed to
build architecture dependent and architecture independent packages via the
Build-Depends and Build-Depends-Indep fields in debian/control.  However,
since all compilation of the package must happen in the build target of
debian/rules (Packaging Manual section 3.2.1), and since Build-Depends
applies to the build target (Packaging Manual section 8.7), it means that
very rarely can Build-Depends-Indep used, and also that build daemons
building only architecture-dependent parts of the package need often
install also everything needed to build the architecture-independent
parts.  This is not good.

Therefore, I propose two new optional targets in debian/rules.  They would
be named build-arch and build-indep, mirroring the already existing
binary-arch and binary-indep targets.  When they exist, the build target
would have to depend on them; if they don't exist, the build target must
do what they would do.

Additionally, the semantics of the build-time dependency fields would be
changed so that Build-Depends-Indep would apply to the build, build-indep,
binary and binary-indep targets, and Build-Depends would apply to
the build, build-arch, binary and binary-arch targets.  Thus when
a builder wants to build only arch-dependant parts of the package,
she can invoke first the build-arch target (as non-root, if wanted)
and then the binary-arch target (as root).  Then only Build-Depends
packages would need to be installed, fixing the problem.

The reason that the targets be optional is to not make this proposal cause
a major version number increment in policy if the proposal is accepted.
Since the targets are optional, only those packages suffering from
the problem outlined above will want to change, and no packages need
to change.

This proposal requires no code changes anywhere.  However, to make use
of the proposal's improvements to the build system, dpkg-buildpackage
and the build daemons will need to be changed to detect and use the new
targets.  I will provide a patch for dpkg-buildpackage, if necessary.

This proposal affects only the packaging manual.  A diff of the SGML
source is attached.

I'm mainly looking for comments and criticism, but seconds are also
appreciated.

-- 
%%% Antti-Juhani Kaijanaho % gaia@iki.fi % http://www.iki.fi/gaia/ %%%

--k1lZvvs/B4yU6o8G
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=diff

--- packaging.sgml.orig	Sun Sep 24 16:42:17 2000
+++ packaging.sgml	Sun Sep 24 17:16:29 2000
@@ -948,10 +948,11 @@
 	  <p>	    
 	    The targets which are required to be present are:	    
 	    <taglist>
-	      <tag><tt>build</tt></tag>
+	      <tag><tt>build</tt>, <tt>build-arch</tt> (optional),
+                <tt>build-indep</tt> (optional)</tag>
 	      <item>
 		<p>
-		  This should perform all non-interactive
+		  The <tt>build</tt> target should perform all non-interactive
 		  configuration and compilation of the package.  If a
 		  package has an interactive pre-build configuration
 		  routine, the Debianised source package should be
@@ -959,6 +960,37 @@
 		  built without rerunning the configuration.
 		</p>
 
+                <p>
+                  A package may provide one or both of the targets
+                  <tt>build-arch</tt> and <tt>build-indep</tt>.  The
+                  <tt>build-arch</tt> target, if provided, should
+                  perform all non-interactive 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 non-interactive
+                  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.
+                </p>
+
+                <p>
+                  If one or both of the targets <tt>build-arch</tt>
+                  and <tt>build-indep</tt> are not provided, then
+                  invoking <tt>debian/rules</tt> 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>		  
 		  For some packages, notably ones where the same
 		  source tree is compiled in different ways to produce
@@ -973,9 +1005,11 @@
 		  binary package out of each.
 		</p>
 
-		<p>		  
-		  The <prgn>build</prgn> target must not do anything
-		  that might require root privilege.
+		<p>
+                  The targets <prgn>build</prgn>,
+		  <prgn>build-arch</prgn> and <prgn>build-indep</prgn>
+		  target must not do anything that might require root
+		  privilege.
 		</p>
 
 		<p>		  
@@ -1017,15 +1051,16 @@
 		  <prgn>binary-indep</prgn>.
 		</p>
 
-		<p>		  
-		  Both <prgn>binary-*</prgn> targets should depend on
-		  the <prgn>build</prgn> target, above, 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> Both <prgn>binary-*</prgn> targets should depend
+		  on the <prgn>build</prgn> target, or on the
+		  appropriate <prgn>build-arch</prgn>
+		  <prgn>build-indep</prgn> target, if provided, above,
+		  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>		  
@@ -4201,8 +4236,8 @@
 	      <p>
                 The <tt>Build-Depends</tt> and
 		<tt>Build-Conflicts</tt> fields apply to the targets
-		<tt>build</tt>, <tt>binary</tt>, <tt>binary-arch</tt>
-		and <tt>binary-indep</tt>.
+		<tt>build</tt>, <tt>build-arch</tt>, <tt>binary</tt>,
+		<tt>binary-arch</tt> and <tt>binary-indep</tt>.
 	      </p>
 	    </item>
 	    <tag><tt>Build-Depends-Indep</tt>, <tt>Build-Conflicts-Indep</tt></tag>
@@ -4210,7 +4245,8 @@
 	      <p>
                 The <tt>Build-Depends-Indep</tt> and
 		<tt>Build-Conflicts-Indep</tt> fields apply to the
-		targets <tt>binary</tt> and <tt>binary-indep</tt>.
+		targets <tt>build</tt>, <tt>build-indep</tt>,
+		<tt>binary</tt> and <tt>binary-indep</tt>.
 	      </p>
 	    </item>
 	  </taglist>

--k1lZvvs/B4yU6o8G--

---------------------------------------
Received: (at 72335-done) by bugs.debian.org; 18 Aug 2001 22:28:41 +0000
>From J.D.Gilbey@qmw.ac.uk Sat Aug 18 17:28:41 2001
Return-path: <J.D.Gilbey@qmw.ac.uk>
Received: from (mserv1b.vianw.co.uk) [195.102.249.202] 
	by master.debian.org with esmtp (Exim 3.12 1 (Debian))
	id 15YEa8-0007Ga-00; Sat, 18 Aug 2001 17:28:40 -0500
Received: from [195.102.196.54] (helo=polya)
	by mserv1b.vianw.co.uk with esmtp (Exim 3.22 #5)
	id 15YEZz-0000d9-00; Sat, 18 Aug 2001 23:28:32 +0100
Received: from jdg by polya with local (Exim 3.31 #1 (Debian))
	id 15YEZu-00023i-00; Sat, 18 Aug 2001 23:28:26 +0100
Date: Sat, 18 Aug 2001 23:28:24 +0100
From: Julian Gilbey <J.D.Gilbey@qmw.ac.uk>
To: 100631-done@bugs.debian.org, 102199-done@bugs.debian.org,
	102204-done@bugs.debian.org, 105535-done@bugs.debian.org,
	105538-done@bugs.debian.org, 105625-done@bugs.debian.org,
	53849-done@bugs.debian.org, 60461-done@bugs.debian.org,
	72335-done@bugs.debian.org, 98291-done@bugs.debian.org
Subject: Closed by debian-policy version 3.5.6.0
Message-ID: <20010818232824.A7574@polya>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.3.18i
Delivered-To: 72335-done@bugs.debian.org

These bugs were closed by debian-policy 3.5.6.0.  Here is the
.changes file.

-----BEGIN PGP SIGNED MESSAGE-----

Format: 1.7
Date: Tue, 24 Jul 2001 21:43:22 -0500
Source: debian-policy
Binary: debian-policy
Architecture: source all
Version: 3.5.6.0 
Distribution: unstable
Urgency: low
Maintainer: Debian Policy List <debian-policy@lists.debian.org>
Changed-By: Manoj Srivastava <srivasta@debian.org>
Description:
 debian-policy - Debian Policy Manual and related documents
Closes: 53849 60461 72335 98291 100631 102199 102204 105535 105538 105625
Changes:
 debian-policy (3.5.6.0) unstable; urgency=low
 .
   * Change footnote about urgency values to the now-current list: low,
     medium, high, emergency.
   * Correct note about /etc/default files being conffiles/config files,
     which I mucked up (sorry Joey) [10.3.2]
   * [AMENDMENT 2001/06/26] Downgrade emacs/tex to optional
                                                   closes: Bug#102204, Bug#53849
   * [AMENDMENT 2001/06/26] Next stage in usr/doc -> usr/share/doc transition
                                                              closes: Bug#102199
 .
   * [AMENDMENT 09/06/2001] Clarifying FHS policy   closes: Bug#98291, Bug#60461
   * Spelling correction                                      closes: Bug#105625
   * [AMMENDMENT 28/06/2001] Restrict http access to /usr/share/doc
                                                              closes: Bug#100631
   * [AMENDMENT 23/5/2001] Optional build-arch and build-indep targets for
     debian/rules                                             closes: Bug#72335
   * The old packaging manual is included in the policy document as an 
     informative appendix. It is not part of Debian Technical Policy, and
     its presence is a temporary measure until dpkg documentation includes
     ther information provided.                               closes: Bug#105535
   * Added information about optional blank lines in the chagelog format.
                                                              closes: Bug#105538
Files:
 d0a1ac17a579422cf3036a91018077db 727 doc optional debian-policy_3.5.6.0.dsc
 847698fb56a4015e8c01fff6e2549979 568045 doc optional debian-policy_3.5.6.0.tar.gz
 1c021ad67e4ca6c516ed92abf7194626 582528 doc optional debian-policy_3.5.6.0_all.deb
 9b36b824c66c396e6755932b2abc892d 91261 byhand - policy.txt.gz
 2930900bdf8160ce69a088a56af4cace 2138 byhand - menu-policy.txt.gz
 a3da1fbfdf72eca7b027057891e0a4cb 1561 byhand - mime-policy.txt.gz
 1d2430875f883293167d7485e9c6ff7f 4417 byhand - policy-process.txt.gz  
 2a62f4ed486185ba2d4dd8f9f1025e6d 4357 byhand - perl-policy.txt.gz
 2b8ceb66219172f7cb2a34bff5a395d0 99749 byhand - policy.html.tar.gz
 12c50aaf21b5607813d05eca35a75750 2759 byhand - menu-policy.html.tar.gz
 44838568cf22562f1669015d1dabfe76 2115 byhand - mime-policy.html.tar.gz  
 368690344dcee1495139ff6fff5fea81 5063 byhand - policy-process.html.tar.gz
 340c2df7326f04027844bac805c25cb6 5563 byhand - perl-policy.html.tar.gz
 4ec1bcd43a2c9f9981d2bc08dafb48ae 6120 byhand - debconf_specification.txt.gz
 753ce321854a513ff0cb3b279e548a1f 29941 byhand - debconf_specification.html
 3ed7aa5a489834b24bb28ff377a34aa9 10982 byhand - libc6-migration.txt
 b9ffc0d13d1467967d994288c4adc29b 7686 byhand - virtual-package-names-list.txt
 999105364cf441d21bb979469db2abba 174680 byhand - policy.ps.gz
 09e7a1c8473e068617d8b41a85612414 316812 byhand - policy.pdf.gz
 ebe19e49d89eb9edad98b9e6d3fc886e 16014 byhand - upgrading-checklist.txt
 93679f707ec4cbc94b6f667afb1f2600 34997 byhand - fhs-2.1.html.tar.gz
 300035e9df1e7fa8295a38fee2cf54c6 98312 byhand - fhs.txt

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE7Xk+gIbrau78kQkwRAVMzAKCXOT7MSdSx5647GudbFBmJHFzo6wCeKFkL
qC1x2fxjus05sb+yppI5IKQ=
=2C5w
-----END PGP SIGNATURE-----


   Julian

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

         Julian Gilbey, Dept of Maths, Queen Mary, Univ. of London
       Debian GNU/Linux Developer,  see http://people.debian.org/~jdg
  Donate free food to the world's hungry: see http://www.thehungersite.com/



Reply to: