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

From: Masahiro Yamada
Date: Mon Nov 14 2022 - 19:10:04 EST


On Mon, Nov 14, 2022 at 1:02 AM Marc Zyngier <maz@xxxxxxxxxx> wrote:
>
> diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
> index 60a2a63a5e90..e5c983afddab 100755
> --- a/scripts/package/mkdebian
> +++ b/scripts/package/mkdebian
> @@ -90,7 +90,7 @@ if [ -n "$KDEB_PKGVERSION" ]; then
> packageversion=$KDEB_PKGVERSION
> revision=${packageversion##*-}
> else
> - revision=$(cat .version 2>/dev/null||echo 1)
> + revision=$(init/build-version)


This does not work for out-of-tree builds
because init/build-version is a check-in source file.



For example, "make O=/tmp/foo bindeb-pkg" fails with:
.../linux/scripts/package/mkdebian: 93: init/build-version: not found


The correct code is:


revision=$($srctree/init/build-version)




> packageversion=$version-$revision
> fi
> sourcename=$KDEB_SOURCENAME
> diff --git a/scripts/package/mkspec b/scripts/package/mkspec
> index 70392fd2fd29..9cbd45f497ba 100755
> --- a/scripts/package/mkspec
> +++ b/scripts/package/mkspec
> @@ -42,7 +42,7 @@ sed -e '/^DEL/d' -e 's/^\t*//' <<EOF
> Name: kernel
> Summary: The Linux Kernel
> Version: $__KERNELRELEASE
> - Release: $(cat .version 2>/dev/null || echo 1)
> + Release: $(init/build-version)


Ditto.

Release: $($srctree/init/build-version)




> License: GPL
> Group: System Environment/Kernel
> Vendor: The Linux Community
> --
> 2.34.1
>


--
Best Regards
Masahiro Yamada