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.

Change-Id: Ic72a508aa1e52a25a6b392930479421743cbbdf5
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
(cherry picked from commit 8f6cb41085)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 76e166af28)
This commit is contained in:
Samuli Piippo 2025-03-31 14:18:34 +00:00 committed by Qt Cherry-pick Bot
parent a74d5f58c5
commit 7acdd77d25

View File

@ -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