summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Seebach <peter.seebach@windriver.com>2012-08-10 17:32:56 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-08-15 14:26:40 +0100
commit13e2effd623aa2c3a864c46e4530cc238c59f0bb (patch)
tree406b061c28c01e17bfd7dc151b27ca1c9ea39cd2
parent533b8b913e881ec9153077355cd7b39129b21302 (diff)
downloadpoky-13e2effd623aa2c3a864c46e4530cc238c59f0bb.tar.gz
base.bbclass: Expand PNBLACKLIST across multilibs too
The PNBLACKLIST feature does not currently work with multilibs, because they have different ${PN}. The obvious thing to do is to do this at the same point that we do the PREFERRED_PROVIDER and PREFERRED_VERSION fixups. (Making the PNBLACKLIST check do the for-each-multilib check requires it to do the multilib list generation repeatedly.) (From OE-Core rev: 9bc0ca9369d0daee94abf60d3d521cc734c7e8cd) Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/base.bbclass10
1 files changed, 9 insertions, 1 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index 192c77761e..840ddbcc93 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -161,7 +161,8 @@ def pkgarch_mapping(d):
161 161
162def preferred_ml_updates(d): 162def preferred_ml_updates(d):
163 # If any PREFERRED_PROVIDER or PREFERRED_VERSIONS are set, 163 # If any PREFERRED_PROVIDER or PREFERRED_VERSIONS are set,
164 # we need to mirror these variables in the multilib case 164 # we need to mirror these variables in the multilib case;
165 # likewise the PNBLACKLIST flags.
165 multilibs = d.getVar('MULTILIBS', True) or "" 166 multilibs = d.getVar('MULTILIBS', True) or ""
166 if not multilibs: 167 if not multilibs:
167 return 168 return
@@ -174,12 +175,19 @@ def preferred_ml_updates(d):
174 175
175 versions = [] 176 versions = []
176 providers = [] 177 providers = []
178 blacklists = d.getVarFlags('PNBLACKLIST') or []
177 for v in d.keys(): 179 for v in d.keys():
178 if v.startswith("PREFERRED_VERSION_"): 180 if v.startswith("PREFERRED_VERSION_"):
179 versions.append(v) 181 versions.append(v)
180 if v.startswith("PREFERRED_PROVIDER_"): 182 if v.startswith("PREFERRED_PROVIDER_"):
181 providers.append(v) 183 providers.append(v)
182 184
185 for pkg, reason in blacklists.items():
186 for p in prefixes:
187 newpkg = p + "-" + pkg
188 if not d.getVarFlag('PNBLACKLIST', newpkg, True):
189 d.setVarFlag('PNBLACKLIST', newpkg, reason)
190
183 for v in versions: 191 for v in versions:
184 val = d.getVar(v, False) 192 val = d.getVar(v, False)
185 pkg = v.replace("PREFERRED_VERSION_", "") 193 pkg = v.replace("PREFERRED_VERSION_", "")