From 0cd1be1f09cd5c4e02f1d57c910c5448510135ee Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Mon, 7 Mar 2016 17:27:36 +1300 Subject: bitbake: fetch2/npm: handle alternative dependency syntax npm allows you to specify a dependency as a Github username+path, or omit the version entirely. You can hit these if you don't use a shrinkwrap file, with the result that the code later fails due to the output of "npm view" being empty; so handle this lazily by just ignoring this part of the dependency if it's not really a version. (Bitbake rev: 7b7a65c44dbdd5ba9366d4e2093f76df8758d546) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- bitbake/lib/bb/fetch2/npm.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'bitbake/lib/bb/fetch2/npm.py') diff --git a/bitbake/lib/bb/fetch2/npm.py b/bitbake/lib/bb/fetch2/npm.py index 59312f4f01..761c2e0e73 100644 --- a/bitbake/lib/bb/fetch2/npm.py +++ b/bitbake/lib/bb/fetch2/npm.py @@ -144,13 +144,15 @@ class Npm(FetchMethod): def _getdependencies(self, pkg, data, version, d, ud): pkgfullname = pkg - if version: + if version != '*' and not '/' in version: pkgfullname += "@%s" % version logger.debug(2, "Calling getdeps on %s" % pkg) fetchcmd = "npm view %s dist.tarball --registry %s" % (pkgfullname, ud.registry) output = runfetchcmd(fetchcmd, d, True) # npm may resolve multiple versions outputarray = output.strip().splitlines() + if not outputarray: + raise FetchError("The command '%s' returned no output" % fetchcmd) # we just take the latest version npm resolved #logger.debug(2, "Output URL is %s - %s - %s" % (ud.basepath, ud.basename, ud.localfile)) outputurl = outputarray[len(outputarray)-1].rstrip() -- cgit v1.2.3-54-g00ecf