Here, outside Windowsland, we have been using package management for more than a decade and, after that long, I'd suppose we have it pretty much nailed down. There are still some different ideas and approaches (different dependency management schemes, pre-compiled vs. locally compiled, ports), but I'd guess we get it right most of the time. The "right way" is a tricky concept, but, seriously, this is all very mature by now.