Modestas Vainius wrote: > Policy defines parallel=n. n is NOT optional. `dpkg-buildpackage -j` sets > some > bogus value -1 (aka unlimited?) which is not supported by policy... Yeah, it > seems that thing is really a bit broken.
Since policy has no way to specify unlimited, I assume this behavior is intentional. I suppose debhelper can support it. > However, I'm a bit concerned about the fact that there is no way to tell > dh_auto_* (-> makefile.pm) not to pass -jX to make at all (i.e. defined $this- > >get_parallel() in makefile.pm:do_make() will never be false). Some packages > might need this. In parallel branch, this used to be the case when --parallel > was not specified at all (hence set_parallel() never got called and > $opt_parallel defaulted to undef). Now set_parallel() is always called and > always defines $opt_parallel to some value. Maybe --max-parallel=-1 for this > (since --max-parallel/--max-parallel=0 is already an alias for "unlimited")? Perhaps we can wait to see if there is any use case for this before worrying about it? Only use case I can think of is a package that somehow builds using two dh_auto_builds, and can do it in parallel. Something like: build: build-foo build-bar build-foo: cd foo && dh_auto_build build-bar: cd bar && dh_auto_build Here parallel=4 would cause up to 8 concurrent jobs to run, which is too many. So you might do: build: build-foo build-bar export MAKEFLAGS=-j4 build-foo: +cd foo && dh_auto_build --max-parallel=-1 build-bar: +cd bar && dh_auto_build --max-parallel=-1 Now the two builds would run, sharing a jobserver. But isn't this a clearer way to do the same thing? build: build-foo build-bar export MAKEFLAGS=-j4 # really, calculate from DEB_BUILD_OPTIONS build-foo: $(MAKE) -C foo build-bar: $(MAKE) -C bar (It also has the bonus of working, since dh_auto_build will fail if foo/debian/control doesn't exist.) -- see shy jo
signature.asc
Description: Digital signature