On Sun, Dec 09, 2007 at 01:15:08PM -0600, Les Mikesell wrote:
Axel Thimm wrote:
On Fri, Dec 07, 2007 at 05:12:06PM -0600, Les Mikesell wrote:
But it would be even better if we could live with the assumption that repos will have incompatibilities, whether accidental or intentional. Then it would become a choice of which to install and things wouldn't break when somewhere else updates first. Then you could focus on making your versions better instead of compatible - and the politics wouldn't matter.
Sorry, that's not possible. Just to give an example: For some reason you favour repo A and make it trump over repo B. Both repos ship libfoo and repo B ships also appbaz needing libfoo with a couple more configure options turned on.
No smart package manager in the world will detect this breakage. One could strat thinking about stricter dependencies etc. but there will always be real-world scenarios like the above spoiling your master plan.
How much more information would rpm/yum need to store and consider in order to understand that they should never overwrite a package from one repository with one from a different repository without explicit instructions?
Les, please read the example again. It assumes that rpm/yum already does so (and indeed with some plugins you can do that), but shows that you still end up with a broken system.
Permitting explicit repository-specific dependencies would be nice too, although that could be worked around given the ability to control the initial repo for a package and an understanding that no other repo's version should replace it without permission even if it has the same name and a higher version number.
I'll just repeat myself: If the packagers don't cooperate no technical solution will be able to really cover compatibilty problems. You'll paper over some of them and create a false feeling that you have mastered the compatibility problem and still wonder later why it doesn't work. I've seen dozen of such false bug reports which I call "partial/selective enabling of repos". Google the last term and you find many bad examples of such "solutions".