diff mbox series

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

Message ID 20250311190212.634123-1-masahiroy@kernel.org (mailing list archive)
State New
Headers show
Series kbuild: deb-pkg: fix versioning for -rc releases | expand

Commit Message

Masahiro Yamada March 11, 2025, 7:01 p.m. UTC
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>
---

 scripts/package/mkdebian | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Nathan Chancellor March 11, 2025, 7:20 p.m. UTC | #1
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@kernel.org>

Reviewed-by: Nathan Chancellor <nathan@kernel.org>

> ---
> 
>  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
>
diff mbox series

Patch

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