On Jan 2, 2009, at 2:13 PM, Benjamin Reed wrote:
Also, Apple's built-in installer package management is only an
installer, not a package manager. It has no intelligence as to what
happens after things get installed (other than writing a manifest of
what it did, completely oblivious to whether it overwrote things in
other packages' manifests, etc.)
It's not exactly rigourous, but Puppet has a decent table of features
we use in package managers and which package types support what
features (the table is all autogenerated based on what's implemented
internally):
http://www.reductivelabs.com/trac/puppet/wiki/TypeReference#package
Notice that the Apple packaging type is the only one with only one
feature (installable). It's missing basic stuff like
'uninstallable'. And even knowing that a package is installed
requires checking for a given file or directory, rather than using cli
tools.
Now, I know and care nothing about the packaging *format*, because I'm
really only ever going to use the CLI or API, but to have a packaging
type that has no tools for uninstalling, querying package state, or
listing files? Ridiculous.
The crazy thing is that Apple even shipped with this crap, IMO. Here
I thought Leopard was going to "fix" this, but I should have known the
fix would be akin to HFS+: make something that sucks slightly less
sucky, rather than making something good.
--
"They called me mad, and I called them mad, and damn them, they
outvoted me." -- Nathaniel Lee, on being consigned to a mental
institution, circa 17th c.
---------------------------------------------------------------------
Luke Kanies | http://reductivelabs.com | http://madstop.com