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. 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. > > > > Is there any case where it increases more? > > No, but that's bad enough IMHO. > > > > Eventually, this script should be turned into something that > > > is a bit less counter-intuitive (building the kernel first > > > and only then generating the packaging artefacts). > > > > > > How to achieve this? > > > By building the kernel *before* sampling the version number, just like > RPM does. > > > > > The version is recorded in debian/chanegelog. > > Without it, dpkg-buildpackage fails. > > And again, nothing forces us to do it in that order. > > > In my understanding, the version must be fixed before building the kernel. > > Can't immediately see what mandates it, but I'm sure you know better. > > Anyway, the current situation needs fixing. If you're unhappy with the > patch, feel free to replace it with something that you consider more > appropriate. > > M. > > -- > Without deviation from the norm, progress is not possible. -- Best Regards Masahiro Yamada