Re: Heads up: Upcoming dpkg-buildpackage -j precedence change
+++ Guillem Jover [2015-05-10 04:53 +0200]:
> Hi!
>
> “Recently” when adding support for «-jauto» to dpkg-buildpackage, I
> noticed that the semantics for the -j option were quite unorthodox.
> The value from the DEB_BUILD_OPTIONS paralle= option takes precedence
> and overrides any explicit value passed on the commend-line via -j,
> (when -j should be overriding the environment instead).
>
> I'm not entirely sure what I was thinking when I did that change in
> dpkg 1.14.15 (2008-01), but that specific part seems entirely broken.
> But even then given that this behavior has been like that for a long
> time now, I'm a bit hesitant to suddenly change it.
>
> If you happen to depend on this behavior and stuff would break due to
> that change, please shout and I'll deploy a staged transition with
> warnings and similar, otherwise I'll just go ahead with the change.
I'm happy if you change this - it seems like fixing a bug to me, but I
will just throw in this observation from recent arm64 archive-rebuilds, that
-j and DEB_BUILD_OPTIONS=parallel= are not exactly the same. Is that
expected? If not then it should perhaps be considered/investigated in
case other builds are sensitive to the difference?
here is a message from Ed Grimley-Evans, checking the FTBFS:
-----------
freecdb illustrates the problem repeatably:
works:
DEB_BUILD_OPTIONS=parallel=4 dpkg-buildpackage -b
fails:
dpkg-buildpackage -b -j4
I haven't worked out precisely what goes wrong, but it seems to have
something to do with a version of "debian/implicit" from 2005/2006,
which was perhaps written with the assumption that dependencies are
built one at a time in order. The whole package is that old, in fact.
Anyway, what's the bug? Are packages that won't build with
"dpkg-buildpackage -j4" buggy, or is it a bug that man pages suggest
using "dpkg-buildpackage -j4" rather than
"DEB_BUILD_OPTIONS=parallel=4 dpkg-buildpackage -b"?
----------------
This seems to be reproducible even on a dual-core amd64 machine.
Wookey
--
Principal hats: Linaro, Debian, Wookware, ARM
http://wookware.org/
Reply to: