summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@rpsys.net>2007-08-11 17:19:40 +0000
committerRichard Purdie <rpurdie@rpsys.net>2007-08-11 17:19:40 +0000
commit6688061399f3b840166441aac2bf4809e72ffc79 (patch)
tree35b4a9c0ddf31e657c4db88513bd59c86236975a /classes
parente290732e0e199a033745a27b7e08cf1733f77779 (diff)
base.bbclass: Fix SRC_URI_OVERRIDES_PACKAGE_ARCH whilst trying not to cause too much of a performance hit
Diffstat (limited to 'classes')
-rw-r--r--classes/base.bbclass16
1 files changed, 11 insertions, 5 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass
index 1294e41c65..0be217fce4 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -846,20 +846,26 @@ def base_after_parse(d):
if (old_arch == mach_arch):
# Nothing to do
return
+
+ #
+ # We always try to scan SRC_URI for urls with machine overrides
+ # unless the package sets SRC_URI_OVERRIDES_PACKAGE_ARCH=0
+ #
override = bb.data.getVar('SRC_URI_OVERRIDES_PACKAGE_ARCH', d, 1)
-
- if not override or override == '0':
+ if override == '0':
return
paths = []
- for p in [ "${FILE_DIRNAME}/${PF}", "${FILE_DIRNAME}/${P}", "${FILE_DIRNAME}/${PN}", "${FILE_DIRNAME}/files", "${FILE_DIRNAME}" ]:
- paths.append(bb.data.expand(os.path.join(p, mach_arch), d))
+ for p in [ "${PF}", "${P}", "${PN}", "files", "" ]:
+ paths.append(bb.data.expand(os.path.join("${FILE_DIRNAME}", p, "${MACHINE}"), d))
for s in bb.data.getVar('SRC_URI', d, 1).split():
+ if not s.startswith("file://"):
+ continue
local = bb.data.expand(bb.fetch.localpath(s, d), d)
for mp in paths:
if local.startswith(mp):
#bb.note("overriding PACKAGE_ARCH from %s to %s" % (old_arch, mach_arch))
- bb.data.setVar('PACKAGE_ARCH', mach_arch, d)
+ bb.data.setVar('PACKAGE_ARCH', "${MACHINE_ARCH}", d)
return
#