]> code.ossystems Code Review - openembedded-core.git/commitdiff
classes/lib/oe: Fix cross/crosssdk references
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 9 May 2014 12:29:13 +0000 (13:29 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 11 May 2014 11:26:36 +0000 (12:26 +0100)
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>
meta/classes/base.bbclass
meta/classes/native.bbclass
meta/classes/sstate.bbclass
meta/lib/oe/classextend.py
meta/lib/oe/sstatesig.py

index 8a74d6e578a1bfdbac5a73bd01ce80e4d9990cd4..c0d2c8ec8843ec18d8799d177573ebae1be19065 100644 (file)
@@ -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]
index 2d182f0ebc134028e23d7745a3e43d170c66b249..31f1c41ac61ec41aa6b28cb9a93e755fc41f7ebf 100644 (file)
@@ -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")
index 46cc2677d65d51ded67fa41617cdbd047487e6c0..796c1a9f60826f45088debdd574fffd26a805ca4 100644 (file)
@@ -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]):
index e2ae7e9f949232dadc2bb3e906739a68e25e36ae..14d6f20a88e43eac8310f0a7fce2800c143c609e 100644 (file)
@@ -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)
index aa25c3a10edd7a521eb0189ea964c6c9ec95a9a5..40f99744fbcccb757e5fce095615e5ff6293215f 100644 (file)
@@ -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)