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 |
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 --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}
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(-)