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

Re: Getting rid of circular dependencies

On Tue, Jun 28, 2005 at 02:51:52PM +0200, Bill Allombert wrote:
> In all that cases, you can _either_:
> 3) change the shlibs file to document the dependency on the library, e.g
> change libfontconfig1.shlibs to
> libfontconfig 1 libfontconfig1 (>= 2.3.0), fontconfig
> and rebuild every package using libfontconfig. At this point you can
> remove the circular dependency.

I start to believe this is part of the solution if done completly

Do not change libfontconfig1.shlibs. Instead move the actual library to
a new package libfontconfig1-lib.  Provide a (possibly dummy) package
libfontconfig1 that depend on libfontconfig1-lib (=${Source-version}) and
on fontconfig. Change fontconfig to depend on libfontconfig1-lib but not
on libfontconfig1 (overriding the shlibdeps mechanism here).

Alternatively libfontconfig1 can contain fc-cache and support files and
depends on libfontconfig1-lib manually. No override of shlibdeps is
necessary here.

Well at least this is the idea.

If we accept the notion that shlibs must provide all the dependencies
needed to use a library (and not merely the .so.N file), then we need
some leeway to introduce additional dependencies. Since changing .shlibs
file is too costly we need to introduce a virtualisation layer between
packages and the library. Here, the introduction of the dummy
libfontconfig1 achieve that.

This sound ugly now, but merely because it is not in accordance with
usual practice, which probably just means we will need to define new
common practice that handle that cases.

Bill. <ballombe@debian.org>

Imagine a large red swirl here. 

Reply to: