Hi Riku, 2017-10-02 16:21 GMT+09:00 Riku Voipio <riku.voipio@xxxxxxxxxx>: > On 29 September 2017 at 12:36, Masahiro Yamada > <yamada.masahiro@xxxxxxxxxxxxx> wrote: >> Hi Riku, >> >> >> 2017-09-23 18:39 GMT+09:00 Riku Voipio <riku.voipio@xxxxxxxxxx>: >>> Move debian/ directory generation out of builddeb to a new script, >>> mkdebian. The package build commands are kept in builddeb, which >>> is now and internal command called from debian/rules. >>> >>> With these changes in place, we can now use dpkg-buildpackage from >>> deb-pkg and bindeb-pkg removing need for handrolled source/changes >>> generation. >>> >>> This patch is based on the criticism of the current state of builddeb >>> discussed on: >>> >>> https://patchwork.kernel.org/patch/9656403/ >>> >>> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> >> >> >> Sorry for delay. >> >> When I was testing this patch, I was hit by a problem >> when building the package with a parallel option. >> >> Did you see the problem as below? >> >> >> Please try this: >> >> make defconfig >> make -j8 bindeb-pkg > >> This stalled on my build machine due to too many jobs. > > I couldn't reproduce this. Which versions of dpkg and make do you have > ? I'm using debian stable for testing now, but will try new > combinations. I use dpkg-buildpackage bundled with Ubuntu 16.04 masahiro@pug:~/workspace/linux$ dpkg-buildpackage --version | head -1 Debian dpkg-buildpackage version 1.18.4. But, I think it depends on GNU Make version. For Make 4.1 or older, make[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. is displayed. And submake is run in a single thread. For Make 4.2 or newer, I do not see the warning. Instead, my build machine stalled. >>> +build: >>> + \$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} KBUILD_SRC= >> >> The problem is here. >> >> If I invoked "make -j<N> bindeb-pkg", >> I see -j in MAKEFLAGS. (<N> is missing) > > I think MAKEFLAGS is special, it will always show -j without <N> when inspected. I do not think so. When I inspect MAKEFILE, -j is usually displayed with <N>, but not here. >> I am not sure if this is a bug of dpkg-buildpackage or not. > > I think the we can live without the parallel= parsing. We'll support > two usecases: > 1. make -jX bindeb-pkg > export the MAKEFLAGS down with + and tell dpkg-buildpackage to do > nothing with -j1 > 2. dpkg-buidpackage -jX > now dpkg-buildpackage will set the MAKEFLAGS and user will get parallel builds > > This leaves two unsupported ways > 3. Users who set DEB_BUILD_OPTIONS=parallel=X wont get parallel builds > 4. The new "dpkg-buildpackage -J auto" will also get serial builds > > Pre-refactoring, only case #1 worked, so I think this is acceptable. > > https://manpages.debian.org/stretch/dpkg-dev/dpkg-buildpackage.1.en.html > -- > To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Best Regards Masahiro Yamada -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html