From 2d14aae0b069c312fd810b208255fe1f8406d9ad Mon Sep 17 00:00:00 2001 From: Robert Yang Date: Sun, 16 Nov 2025 03:54:20 -0800 Subject: [PATCH] package.bbclass: Fix base_ver for AUTOINC The srcpv isn't in PV any more after the following commit: a8e7b0f932 base/package: Move source revision information from PV to PKGV So the version.find(srcpv) will be -1, which would make base_ver to something like: glibc-2.39+git-r (The 0 is removed) There will be bugs when both of the following conditions are met: * The srcrev is upgraded from value such as cff104 to b027d5 (b is less c) * The PR value is changed from value such as r0 to r10 This would make glibc-2.39+git-r can't match glibc-2.39+git-r1, so the AUTOINC won't work, and would still be git0, then buildhistory would report errors like: ERROR: glibc-2.39+git-r0 do_packagedata_setscene: QA Issue: Package version for package glibc-src went backwards which would break package feeds (from 0:2.39+git0+cff1042cce-r0.0 to 0:2.39+git0+b027d5b145-r10.0) [version-going-backwards] Strip PR to make it work as before, just like it stripped the string after srcpv in the past. Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- meta/classes-global/package.bbclass | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meta/classes-global/package.bbclass b/meta/classes-global/package.bbclass index d7ff333f202..bd32a6ede52 100644 --- a/meta/classes-global/package.bbclass +++ b/meta/classes-global/package.bbclass @@ -296,8 +296,10 @@ python package_get_auto_pr() { conn = oe.prservice.prserv_make_conn(d) if conn is not None: if "AUTOINC" in pkgv: + pr = d.getVar('PR') + # Strip PR to make AUTOINC can increase when SRCREV is changed + base_ver = "AUTOINC-%s" % version[:-len(pr)] srcpv = bb.fetch2.get_srcrev(d) - base_ver = "AUTOINC-%s" % version[:version.find(srcpv)] value = conn.getPR(base_ver, pkgarch, srcpv) d.setVar("PRSERV_PV_AUTOINC", str(value)) -- 2.47.3