summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua Lock <josh@linux.intel.com>2012-02-21 17:46:42 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-02-22 22:11:27 +0000
commit729a9019bcb1ca08382195541ade6c86744f5a50 (patch)
tree1cea9eeee64e48771bad0389dd9c94f062a79640
parentf409a49c3a51c28e39c37e449072b412fc0e8889 (diff)
downloadpoky-729a9019bcb1ca08382195541ade6c86744f5a50.tar.gz
base.bbclass: check all entries of FILESPATH for MACHINE overrides
The logic which looks for MACHINE overrides in SRC_URI and updates PACKAGE_ARCH was checking only certain subdirectories of the recipes parent which, amongst other issues, doesn't account for SRC_URI overrides in layers. This patch changes the logic such that all FILESPATH entries are checked for children named for MACHINE. (From OE-Core rev: f2b572072c754048aaafdc4c42b71af87d61d9e7) Signed-off-by: Joshua Lock <josh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/base.bbclass14
1 files changed, 8 insertions, 6 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass
index a26ac9485e..e80e874360 100644
--- a/meta/classes/base.bbclass
+++ b/meta/classes/base.bbclass
@@ -453,13 +453,15 @@ python () {
453 # We always try to scan SRC_URI for urls with machine overrides 453 # We always try to scan SRC_URI for urls with machine overrides
454 # unless the package sets SRC_URI_OVERRIDES_PACKAGE_ARCH=0 454 # unless the package sets SRC_URI_OVERRIDES_PACKAGE_ARCH=0
455 # 455 #
456 override = d.getVar('SRC_URI_OVERRIDES_PACKAGE_ARCH', 1) 456 override = d.getVar('SRC_URI_OVERRIDES_PACKAGE_ARCH', True)
457 if override != '0': 457 if override != '0':
458 paths = [] 458 paths = []
459 for p in [ "${PF}", "${P}", "${PN}", "files", "" ]: 459 fpaths = (d.getVar('FILESPATH', True) or '').split(':')
460 path = bb.data.expand(os.path.join("${FILE_DIRNAME}", p, "${MACHINE}"), d) 460 machine = d.getVar('MACHINE', True)
461 if os.path.isdir(path): 461 for p in fpaths:
462 paths.append(path) 462 if os.path.basename(p) == machine and os.path.isdir(p):
463 paths.append(p)
464
463 if len(paths) != 0: 465 if len(paths) != 0:
464 for s in srcuri.split(): 466 for s in srcuri.split():
465 if not s.startswith("file://"): 467 if not s.startswith("file://"):
@@ -468,7 +470,7 @@ python () {
468 local = fetcher.localpath(s) 470 local = fetcher.localpath(s)
469 for mp in paths: 471 for mp in paths:
470 if local.startswith(mp): 472 if local.startswith(mp):
471 #bb.note("overriding PACKAGE_ARCH from %s to %s" % (pkg_arch, mach_arch)) 473 #bb.note("overriding PACKAGE_ARCH from %s to %s for %s" % (pkg_arch, mach_arch, pn))
472 d.setVar('PACKAGE_ARCH', "${MACHINE_ARCH}") 474 d.setVar('PACKAGE_ARCH', "${MACHINE_ARCH}")
473 return 475 return
474 476