[Reproducible-builds] Heads up: Upcoming dpkg-buildpackage -j precedence change
jtaylor.debian at googlemail.com
Wed May 13 12:48:02 UTC 2015
On Wed, May 13, 2015 at 2:21 PM, Guillem Jover <guillem at debian.org> wrote:
> IMO dpkg-buildpackage should assume yes, in the same way it assumes
> packages are cross-buildable, and we don't go around marking them as
> such. But I guess for Debian that depends on how much of our packaging
> and upstream build systems are parallel buildable. I'd have assumed that
> with projects like Gentoo around and multicore systems being so common
> nowadays, many things would be parallel buildable already, although I
> don't have numbers…
> … but, we do have a way to check if a package is parallel buildable now,
> through reproducible builds. If a package outputs exactly the same with
> dpkg-buildpackage -j1 and -jauto (w/o DEB_BUILD_OPTIONS) then it means
> the package is good, otherwise it might need fixing one way or another.
I'd argue assume no.
I know none of my packages profit from parallel debian/rules execution
as they are all either IO bound or already sufficiently parallelized
via the upstream build system (which is handled by DEB_BUILD_OPTIONS).
Also I know that at least one of my packages will fail with parallel
debian/rules execution, because I ran into that dpkg-buildpackage -j
Fixing the file to work in parallel gains me nothing, so I don't see
why I should do it.
I could add .NOTPARALLEL to all my packages, though how does that
affect $(MAKE) -j(buildoptions) calls in the rules file?
Are those still parallel or does the flag override all submakes? The
option is not documented in make's manpage.
More information about the Reproducible-builds