On Thu, Jan 05, 2006 at 11:23:43AM +0100, Bill Allombert wrote: > Before going farther, I strongly recommends you read the > bug log for #218893.
Good to see that this has been discussed before. IMHO the sanest thing would be to make build-{arch,indep} goals mandatory. It would make build-arch target useful for buildds and is the most robust and simplest of the solutions I've seen so far. An added benefit would be to have all the build targets be symmetrical with the binary targets. The obvious con of the change would be the transition required. But, as the effects of the change would only touch infrastructure invisible to users, I don't see a need to set any deadlines for this transition to happen. I'd propose the following change, let the transition happen on its own pace, and if it ever seems to be close to completion, change the policy to reflect that. IMHO that last "must" part would be justified too. There's no robust way of checking for the targets' presence right now. Would there be a need to state explicitly that packages may implement build-{arch,indep} by depending on build target? The main issue is to get those targets in there, not to optimize builds for every package. --- policy.sgml 2006-01-05 23:32:04.000000000 +0200 +++ policy.sgml.new 2006-01-05 23:40:34.659324743 +0200 @@ -1839,21 +1839,21 @@ </p> </item> - <tag><tt>build-arch</tt> (optional), - <tt>build-indep</tt> (optional) + <tag><tt>build-arch</tt>, + <tt>build-indep</tt> </tag> <item> <p> - A package may also provide both of the targets + A package should also provide both of the targets <tt>build-arch</tt> and <tt>build-indep</tt>. - The <tt>build-arch</tt> target, if provided, should + 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, if - provided, should perform all the configuration and + 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 @@ -1865,12 +1865,9 @@ </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. + Not having <tt>build-arch</tt> and + <tt>build-indep</tt> is deprecated. Programs must + not depend on having these targets available. </p> <p> -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]