diff options
Diffstat (limited to 'scripts/lib/recipetool/create_npm.py')
-rw-r--r-- | scripts/lib/recipetool/create_npm.py | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/scripts/lib/recipetool/create_npm.py b/scripts/lib/recipetool/create_npm.py index eb19555a8e..a79a9afbb1 100644 --- a/scripts/lib/recipetool/create_npm.py +++ b/scripts/lib/recipetool/create_npm.py | |||
@@ -65,9 +65,9 @@ class NpmRecipeHandler(RecipeHandler): | |||
65 | 'SEE-LICENSE-IN-EULA') | 65 | 'SEE-LICENSE-IN-EULA') |
66 | return license | 66 | return license |
67 | 67 | ||
68 | def _shrinkwrap(self, srctree, localfilesdir, extravalues, lines_before): | 68 | def _shrinkwrap(self, srctree, localfilesdir, extravalues, lines_before, d): |
69 | try: | 69 | try: |
70 | runenv = dict(os.environ, PATH=tinfoil.config_data.getVar('PATH')) | 70 | runenv = dict(os.environ, PATH=d.getVar('PATH')) |
71 | bb.process.run('npm shrinkwrap', cwd=srctree, stderr=subprocess.STDOUT, env=runenv, shell=True) | 71 | bb.process.run('npm shrinkwrap', cwd=srctree, stderr=subprocess.STDOUT, env=runenv, shell=True) |
72 | except bb.process.ExecutionError as e: | 72 | except bb.process.ExecutionError as e: |
73 | logger.warn('npm shrinkwrap failed:\n%s' % e.stdout) | 73 | logger.warn('npm shrinkwrap failed:\n%s' % e.stdout) |
@@ -79,8 +79,8 @@ class NpmRecipeHandler(RecipeHandler): | |||
79 | extravalues['extrafiles']['npm-shrinkwrap.json'] = tmpfile | 79 | extravalues['extrafiles']['npm-shrinkwrap.json'] = tmpfile |
80 | lines_before.append('NPM_SHRINKWRAP := "${THISDIR}/${PN}/npm-shrinkwrap.json"') | 80 | lines_before.append('NPM_SHRINKWRAP := "${THISDIR}/${PN}/npm-shrinkwrap.json"') |
81 | 81 | ||
82 | def _lockdown(self, srctree, localfilesdir, extravalues, lines_before): | 82 | def _lockdown(self, srctree, localfilesdir, extravalues, lines_before, d): |
83 | runenv = dict(os.environ, PATH=tinfoil.config_data.getVar('PATH')) | 83 | runenv = dict(os.environ, PATH=d.getVar('PATH')) |
84 | if not NpmRecipeHandler.lockdownpath: | 84 | if not NpmRecipeHandler.lockdownpath: |
85 | NpmRecipeHandler.lockdownpath = tempfile.mkdtemp('recipetool-npm-lockdown') | 85 | NpmRecipeHandler.lockdownpath = tempfile.mkdtemp('recipetool-npm-lockdown') |
86 | bb.process.run('npm install lockdown --prefix %s' % NpmRecipeHandler.lockdownpath, | 86 | bb.process.run('npm install lockdown --prefix %s' % NpmRecipeHandler.lockdownpath, |
@@ -188,7 +188,9 @@ class NpmRecipeHandler(RecipeHandler): | |||
188 | 188 | ||
189 | files = RecipeHandler.checkfiles(srctree, ['package.json']) | 189 | files = RecipeHandler.checkfiles(srctree, ['package.json']) |
190 | if files: | 190 | if files: |
191 | check_npm(tinfoil.config_data) | 191 | d = bb.data.createCopy(tinfoil.config_data) |
192 | npm_bindir = check_npm(tinfoil) | ||
193 | d.prependVar('PATH', '%s:' % npm_bindir) | ||
192 | 194 | ||
193 | data = read_package_json(files[0]) | 195 | data = read_package_json(files[0]) |
194 | if 'name' in data and 'version' in data: | 196 | if 'name' in data and 'version' in data: |
@@ -203,17 +205,17 @@ class NpmRecipeHandler(RecipeHandler): | |||
203 | 205 | ||
204 | fetchdev = extravalues['fetchdev'] or None | 206 | fetchdev = extravalues['fetchdev'] or None |
205 | deps, optdeps, devdeps = self.get_npm_package_dependencies(data, fetchdev) | 207 | deps, optdeps, devdeps = self.get_npm_package_dependencies(data, fetchdev) |
206 | updated = self._handle_dependencies(tinfoil.config_data, deps, optdeps, devdeps, lines_before, srctree) | 208 | updated = self._handle_dependencies(d, deps, optdeps, devdeps, lines_before, srctree) |
207 | if updated: | 209 | if updated: |
208 | # We need to redo the license stuff | 210 | # We need to redo the license stuff |
209 | self._replace_license_vars(srctree, lines_before, handled, extravalues, tinfoil.config_data) | 211 | self._replace_license_vars(srctree, lines_before, handled, extravalues, d) |
210 | 212 | ||
211 | # Shrinkwrap | 213 | # Shrinkwrap |
212 | localfilesdir = tempfile.mkdtemp(prefix='recipetool-npm') | 214 | localfilesdir = tempfile.mkdtemp(prefix='recipetool-npm') |
213 | self._shrinkwrap(srctree, localfilesdir, extravalues, lines_before) | 215 | self._shrinkwrap(srctree, localfilesdir, extravalues, lines_before, d) |
214 | 216 | ||
215 | # Lockdown | 217 | # Lockdown |
216 | self._lockdown(srctree, localfilesdir, extravalues, lines_before) | 218 | self._lockdown(srctree, localfilesdir, extravalues, lines_before, d) |
217 | 219 | ||
218 | # Split each npm module out to is own package | 220 | # Split each npm module out to is own package |
219 | npmpackages = oe.package.npm_split_package_dirs(srctree) | 221 | npmpackages = oe.package.npm_split_package_dirs(srctree) |