IRC channel logs

2023-07-04.log

back to list of logs

<flypaper-ultimat>awesome blogpost zimoun! Do you happen to have an rss feed btw?
<rekado>I’ve been able to simplify the npm install problem somewhat
<rekado>I’m running “strace -ff --abbrev=none -s 1024 -o log $(guix build node)/lib/node_modules/npm/node_modules/@npmcli/arborist/bin/index.js reify --install-links=true” from a test directory containing only a package.json referencing chain-able.
<rekado>and I see that the files it installs on the cluster are incomplete
<rekado>narrowed it down to the “tar” package, which is how npm copies files
<rekado>the correct list of files is generated on both systems and added to the tar stream, but not all of them come out at the end.
<rekado>I think I know what’s wrong
<rekado>on the broken system npm filters a file because it is considered to be a link
<rekado>whereas on my working system it doesn’t filter it, because it is *not* considered a link
<rekado>and in fact, stat says that the file in question has 2 links, whereas on my good system it has only one.
<rekado>the problem is that it treats hardlinks as links and then decides not to unpack them.
<rekado>this is in _tarxOptions in pacote/lib/fetcher.js
<rekado>the question is whether tar is right in creating a Link entry here instead of a File entry
<rekado>that happens purposely in tar/lib/write-entry.js
<rekado>with a little patch to avoid marking links I get very close to finishing the build of js-panmirror, but the check phase fails due to a missing “test” stript.
<rekado>*script