For example the XPC endpoints the binary offers and a list of other binaries which reference those.
Maybe the launch modalities, system vs. User session, which paths it reads/writes.
Not sure if all of those things can be staically determined by some tooling, but it would be really helpful.
Automator Installer -> /System/Library/CoreServices/Automator Installer.app/Contents/MacOS/Automator Installer
"There is no exact information for this binary file."
webdavfs_agent -> /System/Library/Extensions/webdav_fs.kext/Contents/Resources/webdavfs_agent
"The webdavfs_agent binary is unknown"
Also, the dread of "removal instructions" that include stuff like "go through these directories and delete things that look like they belong to this software".
I used Appcleaner[3] for many years, and it's still perfectly serviceable
I'm keeping my eye on Pearcleaner[4], which is additionally open-source and written in Swift.
[1] https://docs.brew.sh/Cask-Cookbook#stanza-zap
[2] https://github.com/nrlquaker/homebrew-createzap
People should stop worshiping UNIX System V, while ignoring the chaos that came later with the explosion of UNIX clones.
There is a reason why the UNIX authors then went on designing Plan 9, followed by Inferno, while trying to fix what they percevied as design flaws in UNIX, from filesytem, security model, process execution model, and userspace languages.
I won't argue with your point because you are right, I was arguing that at least Linux and the BSDs, despite their stupid hierarchy, at least have standards that assign those directories specific functions. This is in stark opposition with Windows and macOS, where across the years stuff has been chucked basically everywhere (especially on Windows, which is the worst offender in this regard) without a lot of care about what was being put where. On macOS you can find binaries inside frameworks, stuff in /usr/bin, stuff in /sbin, stuff under System, ... and for quite a long time there really wasn't any apparent logic behind it except that it was the most convenient place to put it, similarly on Windows where some 64-bit programs chuck stuff in the 32-bit program application directory just because
Modern macOS separates things that are protected by System Integrity Protection and are unalterable (checksummed) in /System. Everything else, including user-customizable system components go in /Library.
Modern macOS file structure is highly organized and easy to reason about if you have even a beginner’s understanding of its security implementation.
Hmm.
/usr/bin
/usr/sbin
/bin
/opt/bin
~/bin
~/.local/share/bin
~/opt/bin
/include
/lib/include
/usr/include
/usr/lib/include
/usr/lib/clang/include
And many more. Some directories are symlinks to another. Some of these directories do not exist on some distributions.Why are Linux people always so misguided and haughty?
[1]: for instance, "usr" contains libraries only due to the first PDP7 at bell labs having two disks, the first mounted as /, the second as /usr (user). When they ran out of space under /, they replicated the filesystem structure in their user disk, thus the birth of /usr/bin and the like. When /usr got too cluttered they created /home (or /usr/home, don't recall which)
evolve2k•6mo ago
https://macosbin.com/bin/ruby
Younger me loved that Apple used Ruby and that Ruby was “pre installed” on the Mac.
This of course was because macOS relies on Ruby for certain things. However as a more experienced dev, the system Ruby (which is almost always very outdated), really gets in the way especially for beginners.
Anyone have more background on system Ruby and why it’s in macOS?
lloeki•6mo ago
Today on Tahoe, this is what remains:
One can note the irony of the most up to date of those being Perl, probably a testament to its insane backwards compatibility.WesolyKubeczek•6mo ago
I'm wondering what in the world is the system using DBIx::Class for.
qalmakka•6mo ago
This also applies to Perl and especially Python. While relying on system Perl is bad but not terrible (Perl is very backward compatible, has good versioning of features, ...), I always have to fight against Mac users that keep using the outdated system Python instead of pulling a new one from Brew. Don't use the system interpreters folks! This is not Linux
WesolyKubeczek•6mo ago
qalmakka•6mo ago