From: Yang Xu <[email protected]> The `bb.siggen.compare_sigfiles` method transforms the key format from `[mc:<mc_name>:][virtual:][native:]<recipe path>:<taskname>` to `<recipe dir>/<recipe name>:<taskname>[:virtual][:native][:mc:<mc_name>]` by `clean_basepaths`. However, `find_siginfo` uses the original format to get the package name (pn) and task name.
This commit corrects the method for deriving the pn and task name in `find_siginfo` and adds handling for multilib name. Signed-off-by: Yang Xu <[email protected]> --- meta/lib/oe/sstatesig.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py index f943df181e..f041a0c430 100644 --- a/meta/lib/oe/sstatesig.py +++ b/meta/lib/oe/sstatesig.py @@ -321,11 +321,18 @@ def find_siginfo(pn, taskname, taskhashlist, d): if not taskname: # We have to derive pn and taskname key = pn - splitit = key.split('.bb:') - taskname = splitit[1] - pn = os.path.basename(splitit[0]).split('_')[0] - if key.startswith('virtual:native:'): - pn = pn + '-native' + if key.count(':') >= 2: + splitit, taskname, affix = key.split(':', 2) + else: + splitit, taskname = key.split(':', 1) + affix = '' + pn = os.path.splitext(os.path.basename(splitit))[0].split('_')[0] + affixitems = affix.split(':') + if affixitems[0] == 'virtual': + if affixitems[1] == 'native': + pn = pn + '-native' + if affixitems[1] == 'multilib': + pn = affixitems[2] + '-' + pn hashfiles = {} filedates = {} -- 2.25.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#183810): https://lists.openembedded.org/g/openembedded-core/message/183810 Mute This Topic: https://lists.openembedded.org/mt/99940440/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
