aboutsummaryrefslogtreecommitdiffstats
path: root/classes
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2010-09-27 08:21:04 +0000
committerDenys Dmytriyenko <denis@denix.org>2010-09-27 15:33:17 -0400
commit661658f62bf4c76b328d67e1aa252a57841b312d (patch)
tree6a6fd630d5160af661b68988d36cbcbf8da12fca /classes
parent31fbeac34133fe4d1baad4464ba165db037b7f84 (diff)
downloadopenembedded-661658f62bf4c76b328d67e1aa252a57841b312d.tar.gz
base.bbclass: not use bb.fetch.urldata in do_unpack() for traversing SRC_URIs
bb.fetch.urldata contains cached SRC_URIs, but in case SRC_URI is altered by amend.inc or machine override, the original SRC_URI is not removed from the cache, leading to calling do_unpack() multiple times on original and modified versions of the file. Don't rely on bb.fetch.urldata and traverse SRC_URIs directly. Some background and details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/36703 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Chris Larson <chris_larson@mentor.com> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'classes')
-rw-r--r--classes/base.bbclass8
1 files changed, 6 insertions, 2 deletions
diff --git a/classes/base.bbclass b/classes/base.bbclass
index b19eb32751..964fe1cc10 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -202,10 +202,14 @@ do_unpack[dirs] = "${WORKDIR}"
python base_do_unpack() {
from glob import glob
- srcurldata = bb.fetch.init(d.getVar("SRC_URI", True).split(), d, True)
+ src_uri = d.getVar("SRC_URI", True)
+ if not src_uri:
+ return
+ srcurldata = bb.fetch.init(src_uri.split(), d, True)
filespath = d.getVar("FILESPATH", True).split(":")
- for url, urldata in srcurldata.iteritems():
+ for url in src_uri.split():
+ urldata = srcurldata[url]
if urldata.type == "file" and "*" in urldata.path:
# The fetch code doesn't know how to handle globs, so
# we need to handle the local bits ourselves