summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2014-05-09 13:29:13 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-05-11 12:26:36 +0100
commit91edf4cac223298e50a4b8e59dd19f1b272e3418 (patch)
treea2b024fddbba7d564628719ef85d0f784ac8109a
parentb9a44cec782e833d4f29f6ceb64908552d5cdd7b (diff)
downloadopenembedded-core-91edf4cac223298e50a4b8e59dd19f1b272e3418.tar.gz
openembedded-core-91edf4cac223298e50a4b8e59dd19f1b272e3418.tar.bz2
openembedded-core-91edf4cac223298e50a4b8e59dd19f1b272e3418.zip
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 <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
-rw-r--r--meta/classes/base.bbclass6
-rw-r--r--meta/classes/native.bbclass2
-rw-r--r--meta/classes/sstate.bbclass4
-rw-r--r--meta/lib/oe/classextend.py8
-rw-r--r--meta/lib/oe/sstatesig.py4
5 files changed, 12 insertions, 12 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index 8a74d6e578..c0d2c8ec88 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -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/"):
@@ -413,7 +413,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]
diff --git a/meta/classes/native.bbclass b/meta/classes/native.bbclass
index 2d182f0ebc..31f1c41ac6 100644
--- a/meta/classes/native.bbclass
+++ b/meta/classes/native.bbclass
@@ -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")
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 46cc2677d6..796c1a9f60 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -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]):
diff --git a/meta/lib/oe/classextend.py b/meta/lib/oe/classextend.py
index e2ae7e9f94..14d6f20a88 100644
--- a/meta/lib/oe/classextend.py
+++ b/meta/lib/oe/classextend.py
@@ -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)
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index aa25c3a10e..40f99744fb 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -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)