archive mirror
 help / color / mirror / Atom feed
Subject: [PATCH] npmsw fetcher: Avoid instantiating Fetch class if url list is empty
Date: Sun, 16 Apr 2023 13:07:15 -0700	[thread overview]
Message-ID: <> (raw)

[-- Attachment #1: Type: text/plain, Size: 1411 bytes --]

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
still 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 <>
lib/bb/fetch2/ | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/bb/fetch2/ b/lib/bb/fetch2/
index 36fcbfba..cc81100b 100644
--- a/lib/bb/fetch2/
+++ b/lib/bb/fetch2/
@@ -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


[-- Attachment #2: Type: text/html, Size: 2072 bytes --]

             reply	other threads:[~2023-04-16 20:07 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-16 20:07 public [this message]
2023-04-17  7:53 ` [bitbake-devel] [PATCH] npmsw fetcher: Avoid instantiating Fetch class if url list is empty Luca Ceresoli
2023-04-17  9:26   ` Michael Opdenacker
2023-04-17 21:18     ` Svend Meyland Nicolaisen
2023-04-18  8:11       ` [bitbake-devel] " Michael Opdenacker
2023-04-17 21:12 Svend Meyland Nicolaisen
2023-04-18 10:24 [bitbake-devel] " Luca Ceresoli
2023-04-18 20:56 ` Svend Meyland Nicolaisen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).