classes/lib/oe: Fix cross/crosssdk references
PATCH 1/1 classes/lib/oe: Fix cross/crosssdk references
With the renaming of the cross packages, its no longer possible to use endswith("-cross") and similar to detect cross packages. Replace these references with other techniques.
This resolves certain build from sstate failures which were due to the system believing cross packages were target packages and therefore dependency handling was altered.
Signed-off-by Richard Purdie <[email protected]>
---
meta/classes/base.bbclass +3 -3
@@ -182,7 +182,7 @@ def preferred_ml_updates(d): for prov in providers: val = d.getVar(prov, False) pkg = prov.replace("PREFERRED_PROVIDER_", "") - if pkg.endswith(("-native", "-crosssdk")) or pkg.startswith(("nativesdk-", "virtual/nativesdk-")): + if pkg.endswith("-native") or "-crosssdk-" in pkg or pkg.startswith(("nativesdk-", "virtual/nativesdk-")): continue if 'cross-canadian' in pkg: for p in prefixes:
@@ -229,7 +229,7 @@ def preferred_ml_updates(d): mp = (d.getVar("MULTI_PROVIDER_WHITELIST", True) or "").split() extramp = [] for p in mp: - if p.endswith(("-native", "-crosssdk")) or p.startswith(("nativesdk-", "virtual/nativesdk-")) or 'cross-canadian' in p: + if p.endswith("-native") or "-crosssdk-" in p or p.startswith(("nativesdk-", "virtual/nativesdk-")) or 'cross-canadian' in p: continue virt = "" if p.startswith("virtual/"):
@@ -416,7 +416,7 @@ python () { appends = bb.utils.explode_deps(d.expand(" ".join(appends))) newappends = [] for a in appends: - if a.endswith("-native") or a.endswith("-cross"): + if a.endswith("-native") or ("-cross-" in a): newappends.append(a) elif a.startswith("virtual/"): subs = a.split("/", 1)[1]
meta/classes/native.bbclass +1 -1
@@ -125,7 +125,7 @@ python native_virtclass_handler () { deps = bb.utils.explode_deps(deps) newdeps = [] for dep in deps: - if dep.endswith("-cross"): + if "-cross-" in dep: newdeps.append(dep.replace("-cross", "-native")) elif not dep.endswith("-native"): newdeps.append(dep + "-native")
meta/classes/sstate.bbclass +2 -2
@@ -715,7 +715,7 @@ def setscene_depvalid(task, taskdependees, notneeded, d): bb.debug(2, "Considering setscene task: %s" % (str(taskdependees[task]))) def isNativeCross(x): - return x.endswith("-native") or x.endswith("-cross") or x.endswith("-cross-initial") or x.endswith("-crosssdk") or x.endswith("-crosssdk-initial") + return x.endswith("-native") or "-cross-" in x or "-crosssdk" in x def isPostInstDep(x): if x in ["qemu-native", "gdk-pixbuf-native", "qemuwrapper-cross", "depmodwrapper-cross", "systemd-systemctl-native", "gtk-update-icon-cache-native"]:
@@ -750,7 +750,7 @@ def setscene_depvalid(task, taskdependees, notneeded, d): if taskdependees[dep][0].endswith(("base-passwd", "shadow-sysroot")): continue # Nothing need depend on libc-initial/gcc-cross-initial - if taskdependees[task][0].endswith("-initial"): + if "-initial" in taskdependees[task][0]: continue # Native/Cross populate_sysroot need their dependencies if isNativeCross(taskdependees[task][0]) and isNativeCross(taskdependees[dep][0]):
meta/lib/oe/classextend.py +4 -4
@@ -52,7 +52,7 @@ class ClassExtender(object): return newdata def map_depends(self, dep): - if dep.endswith(("-native", "-native-runtime", "-crosssdk")) or ('nativesdk-' in dep) or ('cross-canadian' in dep): + if dep.endswith(("-native", "-native-runtime")) or ('nativesdk-' in dep) or ('cross-canadian' in dep) or ('-crosssdk-' in dep): return dep else: return self.extend_name(dep)
@@ -96,9 +96,9 @@ class ClassExtender(object): class NativesdkClassExtender(ClassExtender): def map_depends(self, dep): - if dep.endswith(("-native", "-native-runtime", "-cross", "-crosssdk")) or ('nativesdk-' in dep): - return dep - elif dep.endswith(("-gcc-intermediate", "-gcc-initial", "-gcc", "-g++")): + if dep.endswith(("-gcc-initial", "-gcc", "-g++")): return dep + "-crosssdk" + elif dep.endswith(("-native", "-native-runtime")) or ('nativesdk-' in dep) or ('-cross-' in dep) or ('-crosssdk-' in dep): + return dep else: return self.extend_name(dep)
meta/lib/oe/sstatesig.py +2 -2
@@ -5,7 +5,7 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCache): def isNative(x): return x.endswith("-native") def isCross(x): - return x.endswith("-cross") or x.endswith("-cross-initial") or x.endswith("-cross-intermediate") + return "-cross-" in x def isNativeSDK(x): return x.startswith("nativesdk-") def isKernel(fn):
@@ -139,7 +139,7 @@ def find_siginfo(pn, taskname, taskhashlist, d): localdata.setVar('PV', '*') localdata.setVar('PR', '*') localdata.setVar('BB_TASKHASH', hashval) - if pn.endswith('-native') or pn.endswith('-crosssdk') or pn.endswith('-cross'): + if pn.endswith('-native') or "-cross-" in pn or "-crosssdk-" in pn: localdata.setVar('SSTATE_EXTRAPATH', "${NATIVELSBSTRING}/") sstatename = taskname[3:] filespec = '%s_%s.*.siginfo' % (localdata.getVar('SSTATE_PKG', True), sstatename)