Re: [PATCH v2] kbuild: pacman-pkg: make "rc" releases adhere to pacman versioning scheme

From: Nathan Chancellor

Date: Sat May 16 2026 - 11:33:29 EST


On Sat, May 16, 2026 at 04:27:39PM +0200, Viktor Jägersküpper wrote:
> On 5/15/26 23:58, Viktor Jägersküpper wrote:
> > The package versioning scheme does not enable smooth upgrades from "rc"
> > releases to the corresponding stable releases (e.g. 7.0.0-rc7 -> 7.0.0)
> > because pacman considers that a downgrade due to the underscore in
> > pkgver (e.g. 7.0.0_rc7), see e.g. vercmp(8) for an explanation of the
> > package version comparison used by pacman. Package versions which are
> > derived from said releases (e.g. built from git revisions) are
> > similarly affected. Fix this by modifying pkgver in order to remove the
> > hyphen from kernel versions containing "-rcN", where N is a
> > non-negative integer.
> >
> > Acked-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx>
> > Signed-off-by: Viktor Jägersküpper <viktor_jaegerskuepper@xxxxxxxxxx>
> > ---
> > v1 -> v2:
> > - make the substitution more restrictive
> > - enhance commit message accordingly
> > - add Acked-by tag
> >
> > v1: https://lore.kernel.org/linux-kbuild/20260513231745.51780-1-viktor_jaegerskuepper@xxxxxxxxxx/
> >
> > BTW this also works for something like "5.10.248-rt143-rc1" which is a
> > recent example of an "rc" release of a realtime kernel.
> >
> > scripts/package/PKGBUILD | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/scripts/package/PKGBUILD b/scripts/package/PKGBUILD
> > index 452374d63c24..1213c8e04671 100644
> > --- a/scripts/package/PKGBUILD
> > +++ b/scripts/package/PKGBUILD
> > @@ -10,7 +10,7 @@ for pkg in $_extrapackages; do
> > pkgname+=("${pkgbase}-${pkg}")
> > done
> >
> > -pkgver="${KERNELRELEASE//-/_}"
> > +pkgver="$(echo "${KERNELRELEASE}" | sed 's/-\(rc[0-9]\+\)/\1/;s/-/_/g')"
>
> I will send a v3 patch later with the first substitution changed to
> match "-rcN" where N is a strictly positive integer because this is
> what we really had in the kernel so far, at least as far as I can
> remember.

Do you mean dropping the '\+' portion of the regex? If so, I think I
would rather keep what you have here since while an -rc10 is incredibly
unlikely nowadays (we pretty much never go past -rc8), it has happened
once before in 3.1:

$ git tag -l | grep -- -rc10
v3.1-rc10

We can leave the Debian case you pointed at earlier the way it is for
now but if we are making a change here, we might as well make it as
future proof as possible. If you (or others) really feel strongly
otherwise, feel free to ignore me :)

--
Cheers,
Nathan