LeoIannacone / npm2deb

tool to help debianize Node.js modules
GNU General Public License v3.0
46 stars 34 forks source link

npm2deb create fails with npm 6 #112

Closed pravi closed 6 years ago

pravi commented 6 years ago

We noticed it first with @stultus ' system using npm 6.2 and I was able to reproduce the error with npm 6.3 locally.

$ npm2deb create pretty-ms
[Errno 36] File name too long: 'npm notice \nnpm notice package: pretty-ms@3.2.0\nnpm notice === Tarball Contents === \nnpm notice 816B  package.json\nnpm notice 1.3kB index.js    \nnpm notice 1.1kB license     \nnpm notice 1.8kB readme.md   \nnpm notice === Tarball Details === \nnpm notice name:          pretty-ms                               \nnpm notice version:       3.2.0                                   \nnpm notice filename:      pretty-ms-3.2.0.tgz                     \nnpm notice package size:  2.5 kB                                  \nnpm notice unpacked size: 5.1 kB                                  \nnpm notice shasum:        87a8feaf27fc18414d75441467d411d6e6098a25\nnpm notice integrity:     sha512-ZypexbfVUGTFx[...]UdhUfvQbe0A2Q==\nnpm notice total files:   4                                       \nnpm notice \npretty-ms-3.2.0.tgz'
shanavas786 commented 6 years ago

@pravi Can you please run it in with -D 2 option ? It would be helpful if you can reproduce it in mahishasura

shanavas786 commented 6 years ago

Can you please check if the output of npm pack <module name> differ with that of version 5

pravi commented 6 years ago

@shanavas786 I updated npm in mahishasura using sudo npm install -g npm and it is failing there too.

npm2deb -D 2 create pretty-ms
 debug [1] - reading json - calling npm view pretty-ms
 debug [2] - creating directory pretty-ms
 debug [2] - moving to directory pretty-ms
 debug [1] - downloading pretty-ms tarball from npm registry
[Errno 36] File name too long: 'npm notice \nnpm notice package: pretty-ms@3.2.0\nnpm notice === Tarball Contents === \nnpm notice 816B  package.json\nnpm notice 1.3kB index.js    \nnpm notice 1.1kB license     \nnpm notice 1.8kB readme.md   \nnpm notice === Tarball Details === \nnpm notice name:          pretty-ms                               \nnpm notice version:       3.2.0                                   \nnpm notice filename:      pretty-ms-3.2.0.tgz                     \nnpm notice package size:  2.5 kB                                  \nnpm notice unpacked size: 5.1 kB                                  \nnpm notice shasum:        87a8feaf27fc18414d75441467d411d6e6098a25\nnpm notice integrity:     sha512-ZypexbfVUGTFx[...]UdhUfvQbe0A2Q==\nnpm notice total files:   4                                       \nnpm notice \npretty-ms-3.2.0.tgz'
pravi commented 6 years ago

with npm 5.8,

pravi@andhaka:~$ npm pack pretty-ms
pretty-ms-3.2.0.tgz

With npm 6.3,

praveen@mahishasura:~$ npm pack pretty-ms
npm notice 
npm notice package: pretty-ms@3.2.0
npm notice === Tarball Contents === 
npm notice 816B  package.json
npm notice 1.3kB index.js    
npm notice 1.1kB license     
npm notice 1.8kB readme.md   
npm notice === Tarball Details === 
npm notice name:          pretty-ms                               
npm notice version:       3.2.0                                   
npm notice filename:      pretty-ms-3.2.0.tgz                     
npm notice package size:  2.5 kB                                  
npm notice unpacked size: 5.1 kB                                  
npm notice shasum:        87a8feaf27fc18414d75441467d411d6e6098a25
npm notice integrity:     sha512-ZypexbfVUGTFx[...]UdhUfvQbe0A2Q==
npm notice total files:   4                                       
npm notice 
pretty-ms-3.2.0.tgz
shanavas786 commented 6 years ago

Thanks, We take filename from output of npm pack. So, that's the issue I guess. We have to update npm2deb to work with both these outputs

pravi commented 6 years ago

We can just take the last line I guess. In the next iteration, may be use the checksums to verify downloaded tarballs.