[oe-commits] Richard Purdie : classes/lib/oe: Fix cross/crosssdk references

git at git.openembedded.org git at git.openembedded.org
Mon May 12 17:01:53 UTC 2014


Module: openembedded-core.git
Branch: master-next
Commit: 91edf4cac223298e50a4b8e59dd19f1b272e3418
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=91edf4cac223298e50a4b8e59dd19f1b272e3418

Author: Richard Purdie <richard.purdie at linuxfoundation.org>
Date:   Fri May  9 13:29:13 2014 +0100

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 at linuxfoundation.org>
Signed-off-by: Saul Wold <sgw at linux.intel.com>

---

 meta/classes/base.bbclass   | 6 +++---
 meta/classes/native.bbclass | 2 +-
 meta/classes/sstate.bbclass | 4 ++--
 meta/lib/oe/classextend.py  | 8 ++++----
 meta/lib/oe/sstatesig.py    | 4 ++--
 5 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index 8a74d6e..c0d2c8e 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 2d182f0..31f1c41 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 46cc267..796c1a9 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 e2ae7e9..14d6f20 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 aa25c3a..40f9974 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)



More information about the Openembedded-commits mailing list