Re: [PATCH 3/4] kbuild: slim down package for building external modules

Nicolas Schier
2025-02-20T16:00:04Z

On Thu, Feb 20, 2025 at 08:03:32AM -0700, Jeffrey Hugo wrote:
> On 2/20/2025 3:03 AM, Nicolas Schier wrote:
> > On Tue, Feb 18, 2025 at 01:25:38PM -0700, Jeffrey Hugo wrote:
> > > On 7/27/2024 1:42 AM, Masahiro Yamada wrote:
> > > > Exclude directories and files unnecessary for building external modules:
> > > >
> > > > - include/config/ (except include/config/auto.conf)
> > > > - scripts/atomic/
> > > > - scripts/dtc/
> > > > - scripts/kconfig/
> > > > - scripts/mod/mk_elfconfig
> > > > - scripts/package/
> > > > - scripts/unifdef
> > > > - .config
> > >
> > > Please revert this (the removal of .config).
> > >
> > > I got some strange reports that our external module install broke, and
> > > traced it to this change. Our external module references the .config
> > > because we have different logic for the build depending on if other, related
> > > modules are present or not.
> > >
> > > Also, it looks like this broke DKMS for some configurations, which not only
> > > impacts DKMS itself [1] but also downstream projects [2].
> > >
> > > While DKMS may be updated going forward to avoid this issue, there are
> > > plenty of affected version out in the wild.
> > >
> > > Also, I haven't surveyed every distro, but it looks like Ubuntu still
> > > packages the .config with their headers in their upcoming "Plucky" release
> > > based on 6.12. I suspect they wouldn't do that if they didn't feel it was
> > > needed/useful.
> > >
> > > -Jeff
> > >
> > > [1]: https://github.com/dell/dkms/issues/464
> > > [2]: https://github.com/linux-surface/linux-surface/issues/1654
> >
> > Hi Jeff,
> >
> > do you know the related thread [1]? According to the last mail, DKMS
> > has fixed its issue already in December.
>
> DKMS tip might be fixed, but production versions are in various distros,
> which are not updated. Therefore actual users are impacted by this.
>
> What happened to the #1 rule of kernel, that we do not break users?

I think, Masahiro already provided valid and profound reasons for
keeping it the way it is. Users of run-time kernel interfaces are not
affected by the change. Concretely reported issues were, as far as I
know, only a matter of specific non-official way to work with .config
for other reasons than just building external kernel modules in the way
it is thought to work.

Kind regards,
Nicolas

> This still needs to be reverted.
>
> -Jeff
>
> >
> > Kind regards,
> > Nicolas
> >
> > [1]: https://lore.kernel.org/linux-kbuild/CAK7LNARqEOVOzP5vdUVF0KxQBNb9xtYs-COSXXWDMpBzGaLGow@mail.gmail.com/T/#m95f48caf46357a41c1df5e038e227a01ab89dbda
>