Re: [PATCH] kbuild: deb-pkg: fix versioning for -rc releases

From: Nathan Chancellor
Date: Tue Mar 11 2025 - 15:21:08 EST


On Wed, Mar 12, 2025 at 04:01:33AM +0900, Masahiro Yamada wrote:
> The version number with -rc should be considered older than the final
> release.
>
> For example, 6.14-rc1 should be older than 6.14, but to handle this
> correctly (just like Debian kernel), "-rc" must be replace with "~rc".
>
> $ dpkg --compare-versions 6.14-rc1 lt 6.14
> $ echo $?
> 1
> $ dpkg --compare-versions 6.14~rc1 lt 6.14
> $ echo $?
> 0
>
> Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>

Reviewed-by: Nathan Chancellor <nathan@xxxxxxxxxx>

> ---
>
> scripts/package/mkdebian | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
> index 193e33bcb989..80ed96561993 100755
> --- a/scripts/package/mkdebian
> +++ b/scripts/package/mkdebian
> @@ -167,7 +167,9 @@ version=$KERNELRELEASE
> if [ "${KDEB_PKGVERSION:+set}" ]; then
> packageversion=$KDEB_PKGVERSION
> else
> - packageversion=$(${srctree}/scripts/setlocalversion --no-local ${srctree})-$($srctree/scripts/build-version)
> + upstream_version=$("${srctree}/scripts/setlocalversion" --no-local "${srctree}" | sed 's/-\(rc[1-9]\)/~\1/')

I don't think there has ever been an -rc10 but would it hurt to make it
[1-9]+?

> + debian_revision=$("${srctree}/scripts/build-version")
> + packageversion=${upstream_version}-${debian_revision}
> fi
> sourcename=${KDEB_SOURCENAME:-linux-upstream}
>
> --
> 2.43.0
>