From befc11acd25a9d9a2d44c20a0e33ada740407af7 Mon Sep 17 00:00:00 2001 From: Jean-Francois Dagenais Date: Thu, 20 Aug 2020 17:50:00 -0400 Subject: siggen: clean_basepath: remove recipe full path when virtual:xyz present MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Before this fix, this example basepath (a): virtual:native:/full/path/to/recipes-example/helloworld/helloworld_1.2.3.bb:do_compile would get incorrectly "cleaned" into: helloworld/helloworld_1.2.3.bb:do_compile:virtual:native:/full/path/to/recipes-example/helloworld/helloworld_1.2.3.bb When searching backwards in `a` trying to isolate the 'virtual:xyz' to add it to the end of the string, we need to consider `a` still has the recipe path and taskname. So stoping the rsplit after only 1 split is not enough. We want to reach the second ':' from the end. This way, we obtain: helloworld/helloworld_1.2.3.bb:do_compile:virtual:native reviewed-by: Maxime Roussin-BĂ©langer Signed-off-by: Jean-Francois Dagenais Signed-off-by: Richard Purdie (cherry picked from commit d193d93422a0ad62aa35b5d4ca5da8d422f72180) Signed-off-by: Steve Sakoman --- lib/bb/siggen.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/siggen.py b/lib/bb/siggen.py index 94d1762df..26fa7f05c 100644 --- a/lib/bb/siggen.py +++ b/lib/bb/siggen.py @@ -706,7 +706,7 @@ def clean_basepath(a): _, mc, a = a.split(":", 2) b = a.rsplit("/", 2)[1] + '/' + a.rsplit("/", 2)[2] if a.startswith("virtual:"): - b = b + ":" + a.rsplit(":", 1)[0] + b = b + ":" + a.rsplit(":", 2)[0] if mc: b = b + ":mc:" + mc return b -- cgit 1.2.3-korg