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 <[email protected]> --- classes/base.bbclass | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/classes/base.bbclass b/classes/base.bbclass index b19eb32..964fe1c 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 -- 1.6.3.3 _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
