kbuild: deb-pkg: fix versioning for -rc releases

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@kernel.org>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
This commit is contained in:
Masahiro Yamada 2025-03-12 04:01:33 +09:00
parent 82e7a59971
commit 7e752910b8

View File

@ -161,7 +161,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/')
debian_revision=$("${srctree}/scripts/build-version")
packageversion=${upstream_version}-${debian_revision}
fi
sourcename=${KDEB_SOURCENAME:-linux-upstream}