On Sat, Sep 26, 2020 at 5:45 PM Josh Triplett <josh@xxxxxxxxxxxxxxxx> wrote: > > On Sat, Sep 26, 2020 at 02:45:38PM +0900, Masahiro Yamada wrote: > > On Sat, Sep 26, 2020 at 7:29 AM Josh Triplett <josh@xxxxxxxxxxxxxxxx> wrote: > > > > > > With CONFIG_MODULES disabled, "make bindeb-pkg" fails in > > > scripts/package/builddeb with: > > > > > > find: ‘Module.symvers’: No such file or directory > > > > > > The deploy_kernel_headers function in scripts/package/builddeb calls: > > > > > > find arch/$SRCARCH/include Module.symvers include scripts -type f > > > > > > But find errors out if any of its command-line arguments doesn't exist. > > > > > > This could be fixed by checking whether that file exists first, but if > > > CONFIG_MODULES is disabled, it doesn't really make sense to build the > > > linux-headers package at all. Perhaps that whole package could be > > > disabled when modules are disabled? > > > > I agree. > > > > > > How about something like the following? > > That looks good to me. > > (It would be nice, as well, to have some conditional wrapped around the > linux-libc-dev package. I had a patch for that a while ago at > https://lore.kernel.org/lkml/b45738b05bb396e175a36f67b02fa01de4c7472f.1583912084.git.josh@xxxxxxxxxxxxxxxx/ > , but that's probably not the ideal way to do it. I'd love to see a way > to disable that extra deb, though, as it adds time to the deb build > process for a package that most people looking to build a deb won't > need or install.) I am skeptical about this approach. I think the ideal way would be to support individual binary package build in dpkg-buildpackage. I do not know if it has been already achieved, or it is a planned feature. > > diff --git a/scripts/package/builddeb b/scripts/package/builddeb > > index 6df3c9f8b2da..8277144298a0 100755 > > --- a/scripts/package/builddeb > > +++ b/scripts/package/builddeb > > @@ -202,8 +202,10 @@ EOF > > done > > > > if [ "$ARCH" != "um" ]; then > > - deploy_kernel_headers debian/linux-headers > > - create_package linux-headers-$version debian/linux-headers > > + if is_enabled CONFIG_MODULES; then > > + deploy_kernel_headers debian/linux-headers > > + create_package linux-headers-$version debian/linux-headers > > + fi > > > > deploy_libc_headers debian/linux-libc-dev > > create_package linux-libc-dev debian/linux-libc-dev > > diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian > > index 48fbd3d0284a..88c5e25662bd 100755 > > --- a/scripts/package/mkdebian > > +++ b/scripts/package/mkdebian > > @@ -183,13 +183,6 @@ Description: Linux kernel, version $version > > This package contains the Linux kernel, modules and corresponding other > > files, version: $version. > > > > -Package: $kernel_headers_packagename > > -Architecture: $debarch > > -Description: Linux kernel headers for $version on $debarch > > - This package provides kernel header files for $version on $debarch > > - . > > - This is useful for people who need to build external modules > > - > > Package: linux-libc-dev > > Section: devel > > Provides: linux-kernel-headers > > @@ -200,6 +193,17 @@ Description: Linux support headers for userspace > > development > > Multi-Arch: same > > EOF > > > > +if is_enabled CONFIG_MODULES; then > > +cat <<EOF >> debian/control > > +Package: $kernel_headers_packagename > > +Architecture: $debarch > > +Description: Linux kernel headers for $version on $debarch > > + This package provides kernel header files for $version on $debarch > > + . > > + This is useful for people who need to build external modules > > +EOF > > +fi > > + > > if is_enabled CONFIG_DEBUG_INFO; then > > cat <<EOF >> debian/control > > > > > > > > > > > > > > -- > > Best Regards > > Masahiro Yamada -- Best Regards Masahiro Yamada