3 ms·
> Are distros still too different under the rug? Yes and no. You could probably make a packaging system that could handle multiple distros cleanly, but then th
by pyre 12y ago
> Are distros still too different under the rug?
Yes and no. You could probably make a packaging system that could handle multiple distros cleanly, but then the package maintainer would need to maintain said package on all of those distros.
- derefr 12y agoAnd that's just third-party vendor packages. The real problem comes with people thinking that "these two distros both use [package standard] so I can take a system package only provided on one, and just install it on the other!" The difference between the world of RPMs and the world of DEBs isn't really the package format standard; if that was the only problem, it would have been solved long ago. It's that, hiding behind RPM and DEB, there are two separate package dependency graphs shared by all the distros that make use of either. They don't have names, but effectively they're "the Debian dependency graph" and "the Fedora dependency graph." All derivative OSes that keep packages updated from "upstream" (like e.g. Ubuntu does with Debian) are forced into the upstream's dependency graph. If Debian packages X.org split into three packages and makes everything graphical depend on one of them, then if Ubuntu wants to ship the "upstream" version of any of those graphical programs, it has to also ship the upstream version of X.org (or, at least, a virtual package that has the same name as the one of the three that those packages depend on, and hope that the package doesn't actually depend, implicitly, on any of X.org's own Debian-specific dependencies that thusly won't be getting installed.) Which is all to say, if you want to unify package management, you're going to have to come up with one base set of packages everyone can agree to depend on. Or, at least, a graph of virtual packages that get fulfilled by different base packages on each OS. Otherwise, for now, it's actually handy to see .rpm and .deb on packages—it tells you whether the contents of the package are built for your dependency graph, or for the other one.