summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2014-03-20 11:39:20 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-03-25 09:55:36 +0000
commitbdbc158b474e23c3b736d58e5312a3b2209aba6e (patch)
tree58c9241ab02bf978ba9a8d8452215330d3e17306
parent21169c30421be24825d96b79692584d252d8eaae (diff)
downloadpoky-bdbc158b474e23c3b736d58e5312a3b2209aba6e.tar.gz
staging: Save out provider information into the sysroot
This patch saves out provider information into the sysroot for all providers except those in MULTI_PROVIDER_WHITELIST. This means that we will start seeing warnings when two providers for the same thing are installed into the sysroot. In the future those warnings can be turned into errors. Partially addresses [YOCTO #4102] (From OE-Core rev: 9e696b9d32e33ba37dc09ff312328e540fc25de2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/staging.bbclass10
1 files changed, 10 insertions, 0 deletions
diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass
index d17a53ebef..c74cb99dfa 100644
--- a/meta/classes/staging.bbclass
+++ b/meta/classes/staging.bbclass
@@ -93,6 +93,16 @@ python do_populate_sysroot () {
93 bb.build.exec_func("sysroot_stage_all", d) 93 bb.build.exec_func("sysroot_stage_all", d)
94 for f in (d.getVar('SYSROOT_PREPROCESS_FUNCS', True) or '').split(): 94 for f in (d.getVar('SYSROOT_PREPROCESS_FUNCS', True) or '').split():
95 bb.build.exec_func(f, d) 95 bb.build.exec_func(f, d)
96 pn = d.getVar("PN", True)
97 multiprov = d.getVar("MULTI_PROVIDER_WHITELIST", True).split()
98 provdir = d.expand("${SYSROOT_DESTDIR}${base_prefix}/sysroot-providers/")
99 bb.utils.mkdirhier(provdir)
100 for p in d.getVar("PROVIDES", True).split():
101 if p in multiprov:
102 continue
103 p = p.replace("/", "_")
104 with open(provdir + p, "w") as f:
105 f.write(pn)
96} 106}
97 107
98SSTATETASKS += "do_populate_sysroot" 108SSTATETASKS += "do_populate_sysroot"