Re: [PATCH v2 1/1] kbuild: deb-pkg: Build parallely with current dpkg-buildpackage

From: Sedat Dilek
Date: Wed Mar 15 2023 - 12:53:12 EST


On Wed, Mar 15, 2023 at 5:38 PM Bastian Germann <bage@xxxxxxxxxxxxx> wrote:
>
> With dpkg-buildpackage v1.21.10 or later, the only way to build the
> deb-pkg generated package parallely is adding -j<N> to the MAKEFLAGS
> environment variable or using the --jobs-force option. The package ignores
> the usual parallel build option that is described in Debian Policy §4.9.1.
>
> Derive make's -j parameter from the DEB_BUILD_OPTIONS environment variable
> that ends up being set by dpkg-buildpackage -j<N>.
>
> Link: https://www.debian.org/doc/debian-policy/ch-source.html

Thanks for the patch v2 and clarifications.

Substitute above link? Or add as a 2nd link?

Link: https://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules-options

-Sedat-

> Signed-off-by: Bastian Germann <bage@xxxxxxxxxxxxx>
> ---
> scripts/package/mkdebian | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
> index f74380036bb5..0217790e7a26 100755
> --- a/scripts/package/mkdebian
> +++ b/scripts/package/mkdebian
> @@ -238,11 +238,15 @@ fi
> cat <<EOF > debian/rules
> #!$(command -v $MAKE) -f
>
> +ifneq (,\$(filter parallel=%,\$(DEB_BUILD_OPTIONS)))
> + JOBS = -j\$(subst parallel=,,\$(filter parallel=%,\$(DEB_BUILD_OPTIONS)))
> +endif
> +
> srctree ?= .
>
> build-indep:
> build-arch:
> - \$(MAKE) -f \$(srctree)/Makefile ARCH=${ARCH} \
> + \$(MAKE) -f \$(srctree)/Makefile ARCH=${ARCH} \$(JOBS) \
> \$(shell \$(srctree)/scripts/package/deb-build-option) \
> olddefconfig all
>
> @@ -250,10 +254,10 @@ build: build-arch
>
> binary-indep:
> binary-arch: build-arch
> - \$(MAKE) -f \$(srctree)/Makefile ARCH=${ARCH} intdeb-pkg
> + \$(MAKE) -f \$(srctree)/Makefile ARCH=${ARCH} \$(JOBS) intdeb-pkg
> clean:
> rm -rf debian/files debian/linux-*
> - \$(MAKE) -f \$(srctree)/Makefile ARCH=${ARCH} clean
> + \$(MAKE) -f \$(srctree)/Makefile ARCH=${ARCH} \$(JOBS) clean
>
> binary: binary-arch
> EOF
> --
> 2.39.2
>