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

Bug#209008: New proposed wording for DEB_BUILD_OPTIONS



On Sun, Dec 30, 2007 at 07:23:58PM -0800, Russ Allbery wrote:
> Okay, here's a revised proposal to address both Bug#209008 (parallel) and
> Bug#430649 (DEB_BUILD_OPTIONS parsing).  This proposal does the following:
> 
>  * Standardizes on space as the separator for DEB_BUILD_OPTIONS.  This
>    only affects what people can pass into debian/rules, not any existing
>    packages.  I think all existing packages use parsing methods that would
>    work with either, and that's what Policy has previously recommended.  I
>    think the argument that we may want to pass values including commas to
>    an option is persuasive.
> 
>  * Adds parallel=n with wording tweaks based on subsequent discussion,
>    including handling the case where the build system supports some
>    concurrency but not as much as was requested.  Do people still feel
>    that we need to explicitly say that, in the absence of this option,
>    packages should be built one process at a time?  Note that supporting
>    DEB_BUILD_OPTS at all is only recommended.
> 
>  * Moves the whole section about DEB_BUILD_OPTS to a sub-section of the
>    section on debian/rules and out of the section on binaries, leaving a
>    pointer behind.  There are flags that do things other than affect the
>    content of binaries, and I think this is a more intuitive place to look
>    for it.
> 
> I left the MAKEFLAGS bit in the example for parallel since that example
> clearly says that it's only an example and will need modification for the
> needs of a specific package.  The way INSTALL is handled in the example
> that was already there similarliy won't work for all upstream build
> systems.
> 
> Comments?  Seconds?

The majority of packages already supports parallel builds by simply passing
the appropiate -j flag to make.  Not that I object to a "parallel" parameter
since it can bring some benefits in very specific situations, but please make
sure this doesn't hinder what is already working.  In particular:

- It'd be good if it required that packages do not disable parallel flags in
  make in case they're already present (dpkg-buildpackage -jN), even if the
  parallel=N parameter is not present at all.

- I think it'd make sense to add a "should" requirement that packages allow any
  amount of parallelisation.  This requirement wouldn't really be excessive, I
  think.  It's just a matter of writing Makefiles properly by defining the
  right targets and dependencies; something that's easily archieveable when
  people remove bad habits like assuming make processes dependencies in a
  particular order, etc.

I can prepare a patch (based on yours) if you like.

-- 
Robert Millan

<GPLv2> I know my rights; I want my phone call!
<DRM> What use is a phone call, if you are unable to speak?
(as seen on /.)



Reply to: