4 ms·
macOS keeps reminding me Apple has chosen tivoization over FLOSS: $ /bin/bash --version GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin19)
by pornel 6y ago
macOS keeps reminding me Apple has chosen tivoization over FLOSS:
$ /bin/bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin19)
Copyright (C) 2007 Free Software Foundation, Inc.
- rational_indian 6y agoSo Apple does not show the GPLv3+ banner?
- djxfade 6y agoNo GPLv3 software is shipped with macOS. And in the second monst recent version of macOS, bash was replaced with zsh
- raimue 6y agoTo be more specific, zsh was already included before, but the default shell for new accounts is now zsh instead of bash. Apple still ships /bin/bash version 3.2 with macOS.
- noodles_nomore 6y agoBest argument for GPLv3 I've seen yet.
- taf2 6y agobrew install bash
- LordGrey 6y agoA while back I used MacPorts to install the latest bash and changed my admin user to use it. Worked great. Then Big Sur came along and I had to upgrade MacPorts. This involved uninstalling installed packages, upgrading the base MacPorts, then reinstalling the packages. Imagine my surprise -- because I didn't fully consider these actions -- when my terminal session started ignoring my commands partway through that process. It turns out that it is a Bad Idea to delete your shell binary when you're using it. Fortunately, VS Code's terminal uses a different shell binary so I was able to complete the upgrade there. Another day, another reminder to Be More Careful.
- leokennis 6y agoTo be honest, this is a self-solving problem. * People who use the shell often enough to be bitten by having an old version of bash know how to update it * People who use the shell infrequently enough not to be bitten by having an old version of bash don't care
- arendtio 6y agoWell, not entirely. The problem I have is that this old version has serious bugs. So you write a bash script, test it with a modern bash and everything looks fine. But then you start the same script on a fresh macOS and it doesn't run. Took me a while to figure out it wasn't because of my script but because of the outdated bash version on macOS. And I am not talking about 'don't use that option' kind of bugs but more along the lines of 'when you nest too many sub-shells it doesn't find its way back and throws a syntax error'. So if you want to make sure your scripts work out of the box on macOS you have to test against that old buggy shell.
- SAI_Peregrinus 6y agoIt doesn't run on Windows either. Or Alpine Linux. Or most of the BSDs.
- arendtio 6y agoAFAIK Windows doesn't come with any bash out of the box, do you mean, that the WSL bash is an old one too? What is wrong with Alpine and the BSDs? Do they also use old bash versions?
- SAI_Peregrinus 6y agoNo, they just don't have Bash out of the box. Bash isn't universal. Nothing really is, but Bash definitely isn't. Expecting Bash to work on MacOS without checking seems weird to me, since most it doesn't work on most OSes by default.
- 6y ago
- Redoubts 6y agoWell, so has Linux
- _-david-_ 6y agoNot in the same way Apple has. Apple does not ship with any GPLv3 code meaning no new version of Bash. While Linux never migrated to GPLv3 from v2 many distros ship with v3 code.