On Fri, 7 Nov 2003 00:20:11 +0100 (CET) Christiaan Welvaart <[EMAIL PROTECTED]> wrote:
> > On Fri, 7 Nov 2003 01:09, Buchan Milne wrote: > <snip epoch stuff> > > If one mixes packages from various releases, and something does not work, > the dependencies are not correct. Epoch should not be used to fix binary > incompatibilities. > > Example: to allow upgrading & downgrading mozilla/galeon/etc., all > moz libraries that are used by other packages must be in a separate > package, and have a major version number. If binary incompatible compiler > versions must be taken into account, the compiler version must be added as > well. > > So instead of > > libxpcom.so in package mozilla, you have > libxpcom-1.4-3.3.so.0.0 in package libmozilla1.4_3.3-1.4-2mdk > (libxpcom of mozilla 1.4 compiled with g++ 3.3, binary incompatible > with libxpcom-1.4-3.1.so.0.0 and libxpcom-1.3-3.3.so.0.0) > (the exact placement of the library versions may be different, I don't > know what's best) > > Then it is possible to have mozilla 1.5 installed, together with a galeon > that requires mozilla 1.3. Upgrading a mdk 9.1 with these packages to mdk > 9.2 does not upgrade mozilla, but does upgrade galeon, and everything > still works. Maybe it works in this case ( I don't know if it does), but it's definitely not guaranteed to work in all situations. It's not just gcc that breaks binary compatibility, it's also other libraries, or libraries used by libraries. Remember the nightmare when going from libpng2 to libpng3? Sometimes compatibility even breaks without the library changing its soname...sometimes glibc breaks binary compatibility...sometimes this, sometimes that... Sometimes you know these things before you run into them, and sometimes not. But having to set dependencies for this makes things too hard to maintain. Who is gonna test it, and who is gonna set all these dependencies? Up to now the resolution was to advise to not mix packages from different releases, because sometimes things work, and sometimes things break in weird ways. I think we should stick to that, I wouldn't dare to advise to trust on dependencies, whatever the amount of time that's being put in testing and setting it all up. Mixing packages is Russian roulette, and should be advertised as such. When people choose to do that, we won't stop them. But when things break because a 9.1 medium (texstar's kde for 9.1) has newer versions then a new mdk release, then an Epoch can fix that. That's a goal that we can make. The goal you have seems unrealistic to me. I just wish it was possible, but I don't see it happening. -- Marcel Pol
