summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/siggen.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/siggen.py')
-rw-r--r--bitbake/lib/bb/siggen.py30
1 files changed, 20 insertions, 10 deletions
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py
index ad49d1e2aa..1456324a70 100644
--- a/bitbake/lib/bb/siggen.py
+++ b/bitbake/lib/bb/siggen.py
@@ -746,16 +746,26 @@ def list_inline_diff(oldlist, newlist, colors=None):
746 ret.append(item) 746 ret.append(item)
747 return '[%s]' % (', '.join(ret)) 747 return '[%s]' % (', '.join(ret))
748 748
749def clean_basepath(a): 749def clean_basepath(basepath):
750 mc = None 750 basepath, dir, recipe_task = basepath.rsplit("/", 2)
751 if a.startswith("mc:"): 751 cleaned = dir + '/' + recipe_task
752 _, mc, a = a.split(":", 2) 752
753 b = a.rsplit("/", 2)[1] + '/' + a.rsplit("/", 2)[2] 753 if basepath[0] == '/':
754 if a.startswith("virtual:"): 754 return cleaned
755 b = b + ":" + a.rsplit(":", 2)[0] 755
756 if mc: 756 if basepath.startswith("mc:"):
757 b = b + ":mc:" + mc 757 mc, mc_name, basepath = basepath.split(":", 2)
758 return b 758 mc_suffix = ':mc:' + mc_name
759 else:
760 mc_suffix = ''
761
762 # mc stuff now removed from basepath. Whatever was next, if present will be the first
763 # suffix. ':/', recipe path start, marks the end of this. Something like
764 # 'virtual:a[:b[:c]]:/path...' (b and c being optional)
765 if basepath[0] != '/':
766 cleaned += ':' + basepath.split(':/', 1)[0]
767
768 return cleaned + mc_suffix
759 769
760def clean_basepaths(a): 770def clean_basepaths(a):
761 b = {} 771 b = {}