[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: How to transition to G++ 3.2 wthout any breakage



> > No. The maintainer must, by uploading a new version of the old library,
> > and using proper Conflicts. That way other packages can depend on the
> > moved versions properly.
> And it is not possible to install both a v2 ABI and a v3 ABI version of
> the library.

Sure it is. One of the packages has to install the files in a different
directory - that is NOT different from moving the files via a dpkg hack.
BUT you can assure via the dependencies that these paths are used.

> > > Aren't the G++ 3.2 packages going to be moved into sarge? Even if you do
> > > so when the transition is complete, there will still be non-Debian G++
> > > v2 packages installed on users' machines.
> > 
> > No, they are not, as long as there are dependency problems, and as long
> > as we keep a bug "G++ 3.2 transition incomplete" open...
> > There are -nice- and -tested- methods to do such things.
> That works as long as user only install Debian packages, but obviously
> doesn't work for non-Debian ones.

If they use proper dependencies it works just fine. They can't be
installed unless they fit to the system. That is the ONLY correct thing.
If they install stuff by hand, your automatic wrapper generation and
library moving will not help either.
If you want to fix alienated rpm's - do that in alien.

> > No, the transition worked fine. The disaster is not the way Debian gtk2
> > migrated, but the library itself.
> No, it is in the fact the neither the library authors nor Debian fixed
> the problem.

Which is completely separte from the correct way to package these
things, and that is what we are talking about... the libpng issues
cannot be solved by a dpkg hack!
They did not solve the libpng problem (which is not to be solved by
debian, but by upstream and all distributions _together_) but they set
the dependencies correctly, so packages don't break. Without a hack.
Which is great.

> > > Anyway, putting v3 packages in a separate directory still requires to
> > > modify /etc/ld.so.conf and create wrappers for v2 packages.
> > 
> > Why do v2 packages need to be modified, if v3 libraries are in a
> > different directory???
> Because v2 binaries need to load libraries from the v2 dir and v3 ones
> from the v3 dir.
> Either the v2 binaries or the v3 ones must be wrapped to obtain this
> behavior or the dynamic loader must be modified.

We don't have any v3 binaries yet. So where is the problem?
The maintainers could include proper wrappers for them. that is better
than doing some automatic wrappers...
You could even use alternatives to switch from default-is-v2 to
default-is-v3 and remove all wrappers at once, when you modified your
library paths... No hack needed for that either.

> But by modifying dpkg packages can be made to work regardless of the
> place where they put libraries.

Don't take stuff unnecessarily out of control of maintainers. Many apps
use wrappers already, why force them to use another wrapper. You'll
break LOTs of things. For example mozilla does use some wrapper to set
LD_LIBRARY_PATH correctly... your automatic wrapper generation will
maybe not work, and if it does it's definitely inferior to having the
maintainer do a proper wrapper himself...

Gruss,
Erich Schubert
-- 
        erich@(mucl.de|debian.org)        --        GPG Key ID: 4B3A135C
        A polar bear is a rectangular bear after a coordinate transform.
       Wer nicht zuweilen zuviel empfindet, der empfindet immer zuwenig.
Mathematik: Das Alphabet, mit dessen Hilfe Gott das Universum beschrieben hat.



Reply to: