Re: git: a5fc087131e6 - main - kmod: append osversion to the portversion

From: Vladimir Druzenko <vvd_at_freebsd.org>
Date: Tue, 10 Dec 2024 10:32:51 UTC
10.12.2024 11:17, Baptiste Daroussin пишет:
> The branch main has been updated by bapt:
>
> URL: https://cgit.FreeBSD.org/ports/commit/?id=a5fc087131e66513d1c74f8427c924afff580a15
>
> commit a5fc087131e66513d1c74f8427c924afff580a15
> Author:     Baptiste Daroussin <bapt@FreeBSD.org>
> AuthorDate: 2024-12-09 08:57:35 +0000
> Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
> CommitDate: 2024-12-10 08:17:02 +0000
>
>      kmod: append osversion to the portversion
>      
>      The version is now
>      
>      kmodpackagename-<kmodpackageversion>.<osversion>_<revision>,<epoch>
>      
>      This is necessary to make sure that the same packages built on a newer
>      version of FreeBSD on a given branch is considered as an upgrade of the
>      default provided one.
>      
>      In the current model of support, all packages are built on the lowest
>      supported version of a given branch, which means right now all packages
>      are built on 14.1, this results as since 14.2 has been released and up
>      to the time 14.1 is EOLed we do not provide working binary packages for
>      kernel modules and related for 14.2.
>      
>      With this we will be able to provide a dedicated repo built against 14.2
>      that will be usable by users and pkg upgrade will simply update to the
>      right version.
>      
>      https://reviews.freebsd.org/D47997
> ---
>   Mk/Uses/kmod.mk | 2 ++
>   Mk/bsd.port.mk  | 2 +-
>   2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/Mk/Uses/kmod.mk b/Mk/Uses/kmod.mk
> index a28077e67697..36bc49462fdf 100644
> --- a/Mk/Uses/kmod.mk
> +++ b/Mk/Uses/kmod.mk
> @@ -25,6 +25,8 @@ IGNORE=	requires kernel source files in SRC_BASE=${SRC_BASE}
>   
>   CATEGORIES+=	kld
>   
> +_OS_SUFX?=	.${OSVERSION}
> +
>   PIE_UNSAFE=	kernel modules are not executable
>   SSP_UNSAFE=	kernel module supports SSP natively
>   
> diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk
> index 360fff6fc4cd..01dc08c265f5 100644
> --- a/Mk/bsd.port.mk
> +++ b/Mk/bsd.port.mk
> @@ -1386,7 +1386,7 @@ PORTEPOCH?=		0
>   _SUF2=	,${PORTEPOCH}
>   .    endif
>   
> -PKGVERSION=	${PORTVERSION:C/[-_,]/./g}${_SUF1}${_SUF2}
> +PKGVERSION=	${PORTVERSION:C/[-_,]/./g}${_OS_SUFX}${_SUF1}${_SUF2}
>   PKGNAME=	${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PKGVERSION}
>   DISTVERSIONFULL=	${DISTVERSIONPREFIX}${DISTVERSION:C/:(.)/\1/g}${DISTVERSIONSUFFIX}
>   DISTNAME?=	${PORTNAME}-${DISTVERSIONFULL}

Hello!

INDEX have incorrect versions, for example:
virtualbox-ose-additions-6.1.50.1499999
virtualbox-ose-additions-legacy-5.2.44.1499999_6
virtualbox-ose-additions-nox11-6.1.50.1499999
virtualbox-ose-additions-nox11-legacy-5.2.44.1499999_5
virtualbox-ose-kmod-6.1.50.1499999
virtualbox-ose-kmod-legacy-5.2.44.1499999_7

$ awk -F'|' '{print $1}' /usr/ports/INDEX-14 | grep 1499999 | wc -l
      239

$ /usr/local/etc/periodic/weekly/400.status-pkg 2>&1 | grep 1499999
nvidia-driver-340-340.108_4 needs updating (index has 340.108.1499999_4)
virtualbox-ose-kmod-6.1.50 needs updating (index has 6.1.50.1499999)

$ cd /usr/ports/emulators/virtualbox-ose-kmod
$ make -V PORTVERSION
6.1.50
$ make -V DISTVERSION
6.1.50
$ make -V PKGVERSION
6.1.50.1401000

-- 
Best regards,
Vladimir Druzenko