aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSvend Meyland Nicolaisen <public@smn.dk>2023-04-18 22:49:27 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-04-20 11:58:56 +0100
commite602963dfd505eef08702366383358d29ee20c4d (patch)
tree5ee1f3d9bf7ef4684c64ffc8561a3ac620cebf89
parentb4763c2c93e7494e0a27f5970c19c1aac66c228b (diff)
downloadbitbake-contrib-e602963dfd505eef08702366383358d29ee20c4d.tar.gz
npmsw fetcher: Avoid instantiating Fetch class if url list is empty
Recipes containing both git and npmsw sources in the SRC_URI fail during fetch from the shrinkwrap. It seems that when the fetcher is fetching from the shrinkwrap, the SRCREV variable has been deleted but it till ends up fetching from the git source resulting in an error because SRCREV is undefined. The root cause of this is that the Fetch class defaults to urls from the SRC_URI when the urls parameter contains an empty list. This patch will ensure that Fetch is not instantiated if the urls list is empty. Signed-off-by: Svend Meyland Nicolaisen <public@smn.dk> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/fetch2/npmsw.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/bb/fetch2/npmsw.py b/lib/bb/fetch2/npmsw.py
index 36fcbfba1..cc81100b3 100644
--- a/lib/bb/fetch2/npmsw.py
+++ b/lib/bb/fetch2/npmsw.py
@@ -205,7 +205,9 @@ class NpmShrinkWrap(FetchMethod):
# This fetcher resolves multiple URIs from a shrinkwrap file and then
# forwards it to a proxy fetcher. The management of the donestamp file,
# the lockfile and the checksums are forwarded to the proxy fetcher.
- ud.proxy = Fetch([dep["url"] for dep in ud.deps if dep["url"]], data)
+ shrinkwrap_urls = [dep["url"] for dep in ud.deps if dep["url"]]
+ if shrinkwrap_urls:
+ ud.proxy = Fetch(shrinkwrap_urls, data)
ud.needdonestamp = False
@staticmethod