Message ID | 20211213111353.28402-2-stefan.herbrechtsmeier-oss@weidmueller.com |
---|---|
State | Accepted, archived |
Commit | 9f272ad7f76c1559e745e9af686d0a529f917659 |
Headers | show |
Series | [1/2] fetch: npm: Quote destdir in run chmod command | expand |
> -----Original Message----- > From: bitbake-devel@lists.openembedded.org <bitbake- > devel@lists.openembedded.org> On Behalf Of Stefan Herbrechtsmeier > Sent: den 13 december 2021 12:14 > To: bitbake-devel@lists.openembedded.org > Cc: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> > Subject: [bitbake-devel] [PATCH 2/2] fetch: npm: Use temporary file for empty user config > > From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> > > Always use a temporary file for the user config 'NPM_CONFIG_USERCONFIG' > because npm overwise failed if configs and npmrc isn't set: Change "overwise failed" to "otherwise fails", and change "isn't" to "aren't". //Peter > > double-loading config "/dev/null" as "global", previously loaded as "user" > > Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@weidmueller.com> > > --- > > lib/bb/fetch2/npm.py | 14 +++++--------- > 1 file changed, 5 insertions(+), 9 deletions(-) > > diff --git a/lib/bb/fetch2/npm.py b/lib/bb/fetch2/npm.py > index d9daec20..b3a3a444 100644 > --- a/lib/bb/fetch2/npm.py > +++ b/lib/bb/fetch2/npm.py > @@ -79,16 +79,12 @@ class NpmEnvironment(object): > Using a npm config file seems more reliable than using cli arguments. > This class allows to create a controlled environment for npm > commands. > """ > - def __init__(self, d, configs=None, npmrc=None): > + def __init__(self, d, configs=[], npmrc=None): > self.d = d > > - if configs: > - self.user_config = tempfile.NamedTemporaryFile(mode="w", > buffering=1) > - self.user_config_name = self.user_config.name > - for key, value in configs: > - self.user_config.write("%s=%s\n" % (key, value)) > - else: > - self.user_config_name = "/dev/null" > + self.user_config = tempfile.NamedTemporaryFile(mode="w", > buffering=1) > + for key, value in configs: > + self.user_config.write("%s=%s\n" % (key, value)) > > if npmrc: > self.global_config_name = npmrc > @@ -109,7 +105,7 @@ class NpmEnvironment(object): > workdir = tmpdir > > def _run(cmd): > - cmd = "NPM_CONFIG_USERCONFIG=%s " % > (self.user_config_name) + cmd > + cmd = "NPM_CONFIG_USERCONFIG=%s " % > (self.user_config.name) + cmd > cmd = "NPM_CONFIG_GLOBALCONFIG=%s " % > (self.global_config_name) + cmd > return runfetchcmd(cmd, d, workdir=workdir) > > -- > 2.30.2
diff --git a/lib/bb/fetch2/npm.py b/lib/bb/fetch2/npm.py index d9daec20..b3a3a444 100644 --- a/lib/bb/fetch2/npm.py +++ b/lib/bb/fetch2/npm.py @@ -79,16 +79,12 @@ class NpmEnvironment(object): Using a npm config file seems more reliable than using cli arguments. This class allows to create a controlled environment for npm commands. """ - def __init__(self, d, configs=None, npmrc=None): + def __init__(self, d, configs=[], npmrc=None): self.d = d - if configs: - self.user_config = tempfile.NamedTemporaryFile(mode="w", buffering=1) - self.user_config_name = self.user_config.name - for key, value in configs: - self.user_config.write("%s=%s\n" % (key, value)) - else: - self.user_config_name = "/dev/null" + self.user_config = tempfile.NamedTemporaryFile(mode="w", buffering=1) + for key, value in configs: + self.user_config.write("%s=%s\n" % (key, value)) if npmrc: self.global_config_name = npmrc @@ -109,7 +105,7 @@ class NpmEnvironment(object): workdir = tmpdir def _run(cmd): - cmd = "NPM_CONFIG_USERCONFIG=%s " % (self.user_config_name) + cmd + cmd = "NPM_CONFIG_USERCONFIG=%s " % (self.user_config.name) + cmd cmd = "NPM_CONFIG_GLOBALCONFIG=%s " % (self.global_config_name) + cmd return runfetchcmd(cmd, d, workdir=workdir)