> One of them being that you typically must be root to install packages. ./configure --prefix=$HOME/opt/$pkgname && make && make install
It's not pretty, I'll admit, and package managers could probably help here, if they're building from source.> but can also be "reverted" back to exactly the same "pre-package-installation" state if wanted. For system-wide packages, most package managers do support this. Since they don't support user-only packages, of course reverting an install isn't going to happen. If you've installed it yourself, `rm -rf $HOME/opt/$pkgname`. > The other very serious issue is that most package builds are not deterministic. Deterministic builds are hard. > be able to create the exact same package on different architectures and cross-check that we've got the same results Unless you're cross-compiling, different architectures by definition nets you different builds. Even within an architecture, differences in feature sets (take advantage of Intel's shiniest instruction?) and compile time options (use this library?), where to install, etc. cause the number of possible build combinations to multiply quickly. Binary distros like Debian have it a bit easier, as they usually distribute a lowest-common-denominator binary with all features, but some distributions (I'm a Gentoo user) let you tune the system more. Even if you had all the things you name, you still have to trust whomever is packaging your software. Or build it yourself after reading the entire source. (And then there's the chicken-and-egg problem with the compiler.) |