[pkg-kde-talk] Re: kdelibs4c2a <-> kdelibs-bin circular dependency - advice requested

Bill Allombert Bill.Allombert at math.u-bordeaux1.fr
Wed Jan 18 13:51:11 UTC 2006


On Sun, Jan 15, 2006 at 06:35:18PM -0500, Christopher Martin wrote:
> Hello,
> 
> As you're aware, there exists a clear circular dependency between 
> kdelibs4c2a and kdelibs-bin. The binaries in kdelibs-bin link to the 
> libraries in kdelibs4c2a. kdelibs4c2a has libraries which work extremely 
> closely with the binaries in kdelibs-bin. Moreover, extremely few KDE 
> packages depend on kdelibs-bin directly. They all assume that it gets 
> pulled in by kdelibs4c2a, and during operation they do all assume that the 
> binaries in kdelibs-bin are available, i.e. without kdelibs-bin nothing 
> works.
> 
> So this makes the circle seem unbreakable, since re-uploading every KDE 
> package, making them all depend on kdelibs-bin manually, would not be 
> pleasant.

Well technically that could have been done as part of the c++ transition,
could not it ?

> One solution would be to eliminate the kdelibs-bin package, merging it into 
> kdelibs4c2a. But this violates the general practice of not shipping 
> binaries in a library package, so there would have to be some general 
> understanding about what we were doing before any such merge, to avoid too 
> many later complaints, etc. (kdelibs4c2a is already a massive collection of 
> libraries, and isn't really designed to allow clean side-by-side installs 
> of different KDE versions in the same hierarchy, so I don't think we'd lose 
> too much flexibility in practice, but still...)

I think the core issues are whether 1) kdelibs4c2a needs kdelibs-bin to work,
whether 2) kdelibs-bin needs kdelibs4c2a and whether 3) it is possible to 
write a program that use kdelibs4c2a but do not need kdelibs-bin.

I suspect 2) is true, but am unsure about 1) and 3).

In any case there is a simple technical solution: make kdelibs4c2a
a dummy package that depends on kdelibs-bin and kdelibs4c2a-lib, where
the libraries are actually in kdelibs4-lib. Keep the shlibs pointing
to kdelibs4c2a, but tweak the build process so that kdelibs-bin depend
only on kdelibs4-lib.

Depending on the answer to 1) and 3) above, it might be possible to
transition to scheme where all KDE packages depend on kdelibs-bin
and then get rid of kdelibs4-lib.

> But is this really necessary? You dealt with KDE woody --> sarge upgrade 
> issues. How much of a problem is the kdelibs circular dependency? Any 
> advice or suggestions on how to proceed or what to keep in mind would be 
> welcome.

This is hard to know, but the fact is that we will not be able to fix
that on a short time frame and we have to deal with dependencies in
stable release. 

This also break the dependency expectation: kdelibs-bin can be installed
before kdelibs4c2a.

This particular circular-dep does not seems too messy to fix so we
should settle on a clean solution and do it. The question being,
what the packages are doing really ? what are the real dependencies ?

Cheers,
Bill.

PS: is Chris Cheney MIA ?



More information about the pkg-kde-talk mailing list