diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2016-09-06 10:57:29 +1200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-09-08 00:33:46 +0100 |
commit | eb53750ab705bf340a588f91e3da3a1c81234e9b (patch) | |
tree | cfe1aee16eec61053fd5e95d17a1177a9b85cb9f | |
parent | 1937b17f675d25b358d4110d836ad748a11cbfb7 (diff) | |
download | poky-eb53750ab705bf340a588f91e3da3a1c81234e9b.tar.gz |
bitbake: fetch2/npm: fix broken fetches if more than one npm URL fetched
You cannot set a URL-specific value in an object-level variable on
the FetchMethod in urldata_init() or the result is the value specific to
the last URL will be the one that gets set. This prevented fetching more
than one npm:// URL correctly - the other tarballs would not download to
the correct location and do_unpack failed to find them as a result.
Fix required in order to support [YOCTO #9537].
(Bitbake rev: 1435b49ea7d0f9d4cc4a665fb2aa83d1eea7900f)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | bitbake/lib/bb/fetch2/npm.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/bitbake/lib/bb/fetch2/npm.py b/bitbake/lib/bb/fetch2/npm.py index 65ccb0dd2e..9b2d9e1621 100644 --- a/bitbake/lib/bb/fetch2/npm.py +++ b/bitbake/lib/bb/fetch2/npm.py | |||
@@ -88,7 +88,7 @@ class Npm(FetchMethod): | |||
88 | ud.localpath = d.expand("${DL_DIR}/npm/%s" % ud.bbnpmmanifest) | 88 | ud.localpath = d.expand("${DL_DIR}/npm/%s" % ud.bbnpmmanifest) |
89 | 89 | ||
90 | self.basecmd = d.getVar("FETCHCMD_wget", True) or "/usr/bin/env wget -O -t 2 -T 30 -nv --passive-ftp --no-check-certificate " | 90 | self.basecmd = d.getVar("FETCHCMD_wget", True) or "/usr/bin/env wget -O -t 2 -T 30 -nv --passive-ftp --no-check-certificate " |
91 | self.basecmd += " --directory-prefix=%s " % prefixdir | 91 | ud.prefixdir = prefixdir |
92 | 92 | ||
93 | ud.write_tarballs = ((data.getVar("BB_GENERATE_MIRROR_TARBALLS", d, True) or "0") != "0") | 93 | ud.write_tarballs = ((data.getVar("BB_GENERATE_MIRROR_TARBALLS", d, True) or "0") != "0") |
94 | ud.mirrortarball = 'npm_%s-%s.tar.xz' % (ud.pkgname, ud.version) | 94 | ud.mirrortarball = 'npm_%s-%s.tar.xz' % (ud.pkgname, ud.version) |
@@ -182,7 +182,7 @@ class Npm(FetchMethod): | |||
182 | outputurl = pdata['dist']['tarball'] | 182 | outputurl = pdata['dist']['tarball'] |
183 | data[pkg] = {} | 183 | data[pkg] = {} |
184 | data[pkg]['tgz'] = os.path.basename(outputurl) | 184 | data[pkg]['tgz'] = os.path.basename(outputurl) |
185 | self._runwget(ud, d, "%s %s" % (self.basecmd, outputurl), False) | 185 | self._runwget(ud, d, "%s --directory-prefix=%s %s" % (self.basecmd, ud.prefixdir, outputurl), False) |
186 | 186 | ||
187 | dependencies = pdata.get('dependencies', {}) | 187 | dependencies = pdata.get('dependencies', {}) |
188 | optionalDependencies = pdata.get('optionalDependencies', {}) | 188 | optionalDependencies = pdata.get('optionalDependencies', {}) |
@@ -209,7 +209,7 @@ class Npm(FetchMethod): | |||
209 | outputurl = runfetchcmd(fetchcmd, d, True) | 209 | outputurl = runfetchcmd(fetchcmd, d, True) |
210 | else: | 210 | else: |
211 | outputurl = data['resolved'] | 211 | outputurl = data['resolved'] |
212 | self._runwget(ud, d, "%s %s" % (self.basecmd, outputurl), False) | 212 | self._runwget(ud, d, "%s --directory-prefix=%s %s" % (self.basecmd, ud.prefixdir, outputurl), False) |
213 | manifest[pkg] = {} | 213 | manifest[pkg] = {} |
214 | manifest[pkg]['tgz'] = os.path.basename(outputurl).rstrip() | 214 | manifest[pkg]['tgz'] = os.path.basename(outputurl).rstrip() |
215 | manifest[pkg]['deps'] = {} | 215 | manifest[pkg]['deps'] = {} |