Re: "make bindeb-pkg" fails with CONFIG_MODULES disabled

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux