On Thu, May 08 2014, Adam Borowski wrote:

> On Thu, May 08, 2014 at 04:33:20PM +0000, Debian Bug Tracking System wrote:
>> Hi,
>> 
>>         I ran the tests. First, from man make-kpkg:
>> --8<---------------cut here---------------start------------->8---
>>        WARNING: Do NOT set the -j option in MAKEFLAGS directly, this
>>        shall cause the build to fail.  Use CONCURRENCY_LEVEL as
>>        specified below. There is also a -j flag that can be used.
>> --8<---------------cut here---------------end--------------->8---
> It fails even if I don't specify -j anywhere, just parallel=X.

        That is effectively the same thing. If you add that to
 DEB_BUILD_OPTIONS, dpkg calls rules with -j; which means trouble since
 the various targets are  called in parrallel.

>
> DEB_BUILD_OPTIONS=parallel=`grep ^processor /proc/cpuinfo|wc -l` is the
> usual interface, used among others by dh --parallel, ie, the current fashion
> for packaging.  It would be nice if make-kpkg could parse this option and
> convert it to CONCURRENCY_LEVEL.

        Well, I suppose I could go further:
,----[ kernel/ruleset/common/pkgvars.mk ]
| ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
|     NUMJOBS = $(patsubst parallel=%,%,$(filter 
parallel=%,$(DEB_BUILD_OPTIONS)))
|     MAKEFLAGS += -j$(NUMJOBS)
| endif
`----

,----[ kernel/ruleset/targets/common.mk ]
| SERIAL_BUILD_OPTIONS=$(DEB_BUILD_OPTIONS)
| ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
|   ifeq (fakeroot,$(strip $(root_cmd)))
|     SERIAL_BUILD_OPTIONS=$(strip $(filter-out 
parallel=%,$(DEB_BUILD_OPTIONS)))
|   endif
| endif
`----

        But both of those are invoked too late.
> And somehow, it did work with make 3.82.

        Yeah. I am not sure what changed.

        manoj
-- 
People disagree with me.  I just ignore them. Linus Torvalds, regarding
the use of C++ for the Linux kernel
Manoj Srivastava <sriva...@acm.org> <http://www.golden-gryphon.com/>  
4096R/C5779A1C E37E 5EC5 2A01 DA25 AD20  05B6 CF48 9438 C577 9A1C

Attachment: signature.asc
Description: PGP signature

Reply via email to