-
-
Notifications
You must be signed in to change notification settings - Fork 8k
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
xz support check in nvm.sh doesn't truly detect xz support in macOS #2155
Comments
Thanks, I'd be very appreciative of a PR that improves |
Will work on a PR when I get a free moment to do so. |
Hello again @ljharb, you mentioned me in shadowspawn/nvh#12. This is already the relevant issue, so I thought you might want to take another peek at this. Thanks. Discussion in my earlier PR #2156 got really into the weeds, but it isn't really that complicated a problem, IMO. Just that I nerd out and give Best regards, - DeeDeeG |
If you like the checks that are used in
|
Oops, sorry :-) that bulleted list seems good to me. |
While I was looking at this again, I tested the latest releases of the various BSDs in VirtualBox:
In all BSDs I tested the following was true:
I think the proper check on all BSDs is to look for I can make this a separate issue and/or PR if you like. Or try to roll that into the same PR I'm already working on. |
Let's roll it into the one "make xz work properly" PR :-) |
Hi folks,
I did a bunch of research on detecting xz support, in pursuit of adding a "system supports xz?" check to shadowspawn/nvh and tj/n.
The gist of it for Linux and macOS:
xz
binary is on the systemPATH
,tar
will support extracting xz-compressed tarballs.xz
in the repos. It's therefore possible but very unlikely that a Linux machine hasxz
on the path but no support intar
.nvm
is basically already doing this check; It works great for Linux. If it works anywhere else, I would propose that that's pretty much just a coincidence or a happy accident.libarchive
/bsdtar
that macOS ships with.libarchive
/bsdtar
in OS X Lion (10.7)... but had xz support toggled off in pre-compile configuration, and didn't ship the underlyingliblzma
library that macOS would eventually use to support xz. macOS only ships xz support in macOS 10.9 or newer.libarchive
/bsdtar
with xz support toggled on, and shippedliblzma
to use for compressing/decompressing xz archivesxz
on thePATH
is irrelevant (and a bit of a red herring!) for xz support intar
on macOS.libarchive
/bsdtar
version on macOS will mostly work, but you will get a false positive for OS X Lion and Mountain Lion (10.7 and 10.8, respectively).I would recommend checking for macOS 10.9+ before enabling xz, and not checking for
xz
on thePATH
on macOS at all. You can conveniently check the macOS version via command-line withsw_vers
.Here are the main research findings from implementing this on
nvh
/n
. (Scroll up/down in the issue for the whole convoluted research process, if you like!)The text was updated successfully, but these errors were encountered: