From 76e166af287366ca91388fcd8cc63b05ec6d8e3c Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Mon, 31 Mar 2025 14:18:34 +0000 Subject: [PATCH] srcrev_update: update to support bitbake in walnascar Bitbake drop multiple branch/revision support for single git urls in walnascar release. Add support to srcrev_update bbclass to work on both versions of scm. Pick-to: 6.8 Change-Id: Ic72a508aa1e52a25a6b392930479421743cbbdf5 Reviewed-by: Ari Parkkila (cherry picked from commit 8f6cb4108550185109d52ac4811f782838c5ad9d) Reviewed-by: Qt Cherry-pick Bot --- classes/srcrev-update.bbclass | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/classes/srcrev-update.bbclass b/classes/srcrev-update.bbclass index 8470a04..539a1ce 100644 --- a/classes/srcrev-update.bbclass +++ b/classes/srcrev-update.bbclass @@ -20,18 +20,21 @@ python do_srcrev_update() { d.setVar("__BBSRCREV_SEEN", "1") for scm in scms: ud = urldata[scm] - for name in ud.names: - rev = ud.method.latest_revision(ud, d, name) - srcrev = d.getVar("SRCREV_%s" % name) - if srcrev is None: srcrev = d.getVar("SRCREV") + if hasattr(ud, 'names'): + name = ud.names[0] + else: + name = ud.name + rev = ud.method.latest_revision(ud, d, name) + srcrev = d.getVar("SRCREV_%s" % name) + if srcrev is None: srcrev = d.getVar("SRCREV") - if srcrev == rev: - bb.plain("%s: %s is already latest" % (name, srcrev)) - continue + if srcrev == rev: + bb.plain("%s: %s is already latest" % (name, srcrev)) + continue - bb.plain("%s: %s -> %s" % (name, srcrev, rev)) - cmd = "sed -E -i %s %s -e '/SRCREV(_%s)? /s/%s/%s/'" % (recipe, srcrev_file, name, srcrev, rev) - bb.process.run(cmd, log=None, shell=True, stderr=subprocess.PIPE, cwd=None) + bb.plain("%s: %s -> %s" % (name, srcrev, rev)) + cmd = "sed -E -i %s %s -e '/SRCREV(_%s)? /s/%s/%s/'" % (recipe, srcrev_file, name, srcrev, rev) + bb.process.run(cmd, log=None, shell=True, stderr=subprocess.PIPE, cwd=None) } do_srcrev_update[nostamp] = "1" addtask srcrev_update after do_fetch