3 ms·
The permissions black magic is really upsetting to me---undoubtedly, I freely and openly admit, because I don't really understand permissions, but it seems to e
by paultopia 7y ago
The permissions black magic is really upsetting to me---undoubtedly, I freely and openly admit, because I don't really understand permissions, but it seems to engage in behavior that it shouldn't be able to engage in. As recounted in this old blog post[1] it does things like change the permissions on its own files even after one declares the owner to be root and sets the file as non-writeable. Now, like I said, I don't really understand how file permissions work, so I'm sure that there's a perfectly logical explanation for how that's possible---but it hardly seems consistent with the incessant claim the homebrew maintainers make that it doesn't require elevated privileges.
[1] https://paultopia.github.io/posts-output/anti-homebrew/ https://paultopia.github.io/posts-output/anti-homebrew/
- saagarjha 7y agoTo be fair, MacPorts will also ask you to have the latest Xcode, though many (dare I say most?) packages will install without it. But I do think that Homebrew's permissions are pretty broken. Apparently macOS does too, since it'll reset them (and make Homebrew unhappy) if you do a reinstall.
- rswail 7y agoMy understanding is that MacPorts requires Xcode to have the Apple clang compiler available. I don't think that's a particularly awful requirement.
- saagarjha 7y agoYou can get reasonably far with the Command Line Tools, which contain clang. Xcode is only necessary for some (few, in my experience) packages.
- Hackbraten 7y agoThe contents of a homebrew-core formula definition are an implementation detail of Homebrew. Formula definitions are code. Changing that code (or its permissions) directly is completely unsupported. Users may create their own formulas in their private taps; those will never be overwritten. If you mess with a program’s internal bits in an unsupported way (like the author of the linked blog post purportedly did), you can be happy that your changes will only get reverted on the next update and not blow up in your face.