-
Notifications
You must be signed in to change notification settings - Fork 30.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tarball created on Mac throws errors when extracted on Linux #22805
Comments
/cc @nodejs/build @nodejs/release |
I can't reproduce and I have the same version of Fedora as in the OP |
For the record, I'm using I just realized I'm still reporting a Fedora 28 kernel, but I'm on the Fedora 29 development branch. |
Sorry. I can indeed reproduce ( I doesn't really throw an error, though (the exit code is 0). Is there an issue with the extracted files? |
There's no actual error, but it's noisy. I noticed it because I have a script that goes in and sanitizes the tarball to eliminate all the content that isn't actually redistributable (such as some of the OpenSSL algorithms). My script suppresses stdout but leaves stderr so I can see if anything goes wrong. It never printed these messages before, so I assume something changed. In general, warnings aren't a great user experience and I'd be concerned about using a non-standard TAR because it might lead to actual incompatibilities in the future. |
The tarball is created on Mac but that has been the case for previous releases as well. @nodejs/build Did anything change on the release machine (osx1010-release-tar) between This is what was executed to create the file:
|
It seems this happens when you use BSD tar instead of GNU tar. |
I think we moved from building on 10.10 to 10.11... potentially with
another provider.
…On Tue, Sep 11, 2018, 11:06 AM mscdex ***@***.***> wrote:
It seems this happens when you use BSD tar instead of GNU tar.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#22805 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAecV8wXD3gqEVK3G-tLOAUqSmbppZYMks5uZ9FkgaJpZM4WjPTo>
.
|
I don't see an obvious difference between the 10.10 and 10.11 hosts (will update with details). https://ci-release.nodejs.org/computer/release-requireio-osx1010-x64-1/ # 10.10
Result: bsdtar 2.8.3 - libarchive 2.8.3
# 10.11
Result: bsdtar 2.8.3 - libarchive 2.8.3 The job seems to run |
@gibfahn I suspect that on 10.10, gnu tar was also installed and probably owned the |
But Node 10.x releases are still done with 10.10: https://ci-release.nodejs.org/job/iojs+release/3740/console
|
We had some trouble with |
P.S. might also be coming from the new
|
@sgallagher |
Just for the record: 10.10.0:
vs 10.9.0:
I mostly wanted to rule out that something changed on my end with our version of GNU tar. But it's definitely on the Node.js end. |
This occurs in BSD
|
This is still an issue with the node v10.11.0 tarball. |
/cc @nodejs/build can we get osx using gnu tar in our infra?
…On Sat, Sep 29, 2018, 8:49 PM mscdex ***@***.***> wrote:
This is still an issue with the node v10.11.0 tarball.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#22805 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAecV9-3quo67zd1k83mF_MXEOHLMtU7ks5ugBUdgaJpZM4WjPTo>
.
|
This is still an issue with the node v10.13.0 tarball. |
/cc @nodejs/build
…On Sat, Nov 10, 2018, 5:37 AM mscdex ***@***.*** wrote:
This is still an issue with the node v10.13.0 tarball.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#22805 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAecV_GY_c8zt9gsWrQeFAz8RjwRWGNhks5utlf3gaJpZM4WjPTo>
.
|
I'm pretty sure we never installed a non-standard tar on any release machines. It's very possible that there was an automatic update, it's kind of hard to control those on macOS. As far as I can tell, there's just an annoyance here, not an actual error? Is it worth our while having to jump through the hoops required to get gnu-tar installed on all our release machines? And why are we determining gnu-tar to be correct in not knowing these extensions? Maybe it needs to adapt to bsd-tar? |
FWIW I've encountered some systems with older versions of (gnu) tar that will actually exit with a non-zero exit code and produce error messages when extracting the tarballs, despite the contents being extracted seemingly correctly. So I'd classify it as more than an annoyance. |
OK, so can we identify particular files that are causing problems? Maybe we can deal with it from that end. |
As noted earlier by @refack the messages are displayed when unpacking files from npm. Specifically, it seems like it's files/directories located in subdirectories within 'deps/npm/test/npm_cache/_cacache/content-v2/sha512'. |
This continues to be a problem with tarballs on nodejs.org, including the other release lines now (e.g. v8.15.0 released today). Can we revert back to using GNU tar on the machine(s) generating tarballs? As far as installation goes, it's as simple as doing |
/cc @nodejs/build can we get this fixed? |
@gdams might be able to look at this, but he needs to get the additional AIX machine added first. |
Adding |
Calling this solved. As per, nodejs/build#1777, nightlies as of today use Linux to generate all non-binary assets (source, headers, docs). This will apply to Node 12+. Older versions will stick with the current path. I understand this may not be 100% satisfactory because it doesn't change Node 8 or 10, but I hope it's good enough so we don't have to mess too much with older build processes because breakage (even obscure breakage) is not something we're keen to tempt. |
@rvagg I'm good with that. Thanks! |
Download http://nodejs.org/dist/v10.10.0/node-v10.10.0.tar.gz on Linux.
Run
tar xvf node-v10.10.0.tar.gz
Results:
It appears that in 10.10.0, Node.js may have started using BSD tar on a mac to create the tarball. It would be much better if it were to use GNU tar, as this will produce a tarball with only the standard headers.
The text was updated successfully, but these errors were encountered: