summaryrefslogtreecommitdiffstats
path: root/meta/classes/archiver.bbclass
diff options
context:
space:
mode:
authorRobert Yang <liezhi.yang@windriver.com>2020-05-20 21:05:56 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-05-24 23:56:05 +0100
commitb244c4f3427cd07376d4b8f7d27e38735bcc90e7 (patch)
treed0ab0c206cca997739af1550f535ff6e39e23c5a /meta/classes/archiver.bbclass
parenteb8ae6702aa43e6d7a57bb46f4282af68e3dcd09 (diff)
downloadopenembedded-core-contrib-b244c4f3427cd07376d4b8f7d27e38735bcc90e7.tar.gz
archiver.bbclass: Fix duplicated SRC_URIs for do_ar_original
The argument urls of bb.fetch2.Fetch(urls, d) are duplicated to SRC_URI, which caused errors like: bb.data_smart.ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception FetchError: Fetcher failure: The SRCREV_FORMAT variable must be set when multiple SCMs are used. The SCMs are: git://github.com/docker/notary.git;destsuffix=git/src/github.com/docker/notary git://github.com/docker/notary.git The first one is from original SRC_URI, the second one is from the variable 'urls', so cleanup SRC_URI before call bb.fetch2.Fetch() can fix the problem. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/archiver.bbclass')
-rw-r--r--meta/classes/archiver.bbclass8
1 files changed, 7 insertions, 1 deletions
diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass
index 43333a7551..780c562b68 100644
--- a/meta/classes/archiver.bbclass
+++ b/meta/classes/archiver.bbclass
@@ -193,7 +193,13 @@ python do_ar_original() {
del decoded[5][param]
encoded = bb.fetch2.encodeurl(decoded)
urls[i] = encoded
- fetch = bb.fetch2.Fetch(urls, d)
+
+ # Cleanup SRC_URI before call bb.fetch2.Fetch() since now SRC_URI is in the
+ # variable "urls", otherwise there might be errors like:
+ # The SRCREV_FORMAT variable must be set when multiple SCMs are used
+ ld = bb.data.createCopy(d)
+ ld.setVar('SRC_URI', '')
+ fetch = bb.fetch2.Fetch(urls, ld)
tarball_suffix = {}
for url in fetch.urls:
local = fetch.localpath(url).rstrip("/");