Re: [PATCH] kbuild: Restore .version auto-increment behaviour for Debian packages

From: Marc Zyngier
Date: Wed Nov 16 2022 - 16:40:20 EST


On Wed, 16 Nov 2022 20:56:38 +0000,
Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
>
> On Wed, Nov 16, 2022 at 9:28 PM Marc Zyngier <maz@xxxxxxxxxx> wrote:
> >
> > On Wed, 16 Nov 2022 06:09:31 +0000,
> > Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
> > >
> > > On Wed, Nov 16, 2022 at 7:05 AM Marc Zyngier <maz@xxxxxxxxxx> wrote:
> > > >
> > > > Since 2df8220cc511 ("kbuild: build init/built-in.a just once"),
> > > > generating Debian packages using 'make bindeb-pkg' results in
> > > > packages that are stuck to the same .version, leading to unexpected
> > > > behaviours (multiple packages with the same version).
> > > >
> > > > That's because the mkdebian script samples the build version
> > > > before building the kernel, and forces the use of that version
> > > > number for the actual build.
> > > >
> > > > Restore the previous behaviour by calling init/build-version
> > > > instead of reading the .version file. This is likely to result
> > > > in too many .version bumps, but this is what was happening before
> > > > (although the bump was affecting builds made after the current one).
> > >
> > >
> > > What do you mean by "too many .version bumps"?
> > >
> > > Every "make bindeb-pkg" increments the version by one.
> >
> > And isn't that a problem? We increase the build number pointlessly,
> > even if there is *nothing* to change.
>
>
> I think "make *-pkg" should increment the version every time.

But that's not what the rpm package builder does.

>
>
> The .version is incremented only when vmlinux is updated.
>
> When you change module code, only *.ko is relinked.
> The .version stays because it is embedded in vmlinux.
>
>
> Even if you build the kernel first, and .version has no change,
> the package contents may have some changes.

And again, isn't that an inconsistency?

Anyway, enough idle arguing. What do want me to do about this bug?

M.

--
Without deviation from the norm, progress is not possible.