'make uninstall' might work if the software is sane and well-written,
and if the operator is careful.

But how do you handle upgrades? 'make uninstall' the old version, then
'make install' the new stuff? What if it's some critical piece, like
base utils or the shell, and something goes wrong in between? What if
you skip 'make uninstall' during upgrades, will the version n+1 know to
delete files removed in versions n, n-1, n-k?

Package managers, or self-contained apps, they solve all of these
problems once and for everyone. 'make whatever' has to solve each corner
case again and again. Or in other words, executable code makes for a
very poor metadata format.

<3,K.


Reply via email to