Bug#975904: libgdk-pixbuf-xlib-2.0-0 has circular Depends on libgdk-pixbuf2.0-0

Simon McVittie smcv at debian.org
Thu Nov 26 13:02:42 GMT 2020

On Thu, 26 Nov 2020 at 13:13:29 +0100, Bill Allombert wrote:
> There is a circular dependency between libgdk-pixbuf-xlib-2.0-0 and libgdk-pixbuf2.0-0:
> libgdk-pixbuf-xlib-2.0-0 	:Depends: libgdk-pixbuf-2.0-0 (>= 2.22.0) | libgdk-pixbuf2.0-0 (>= 2.22.0)
> libgdk-pixbuf2.0-0 	:Depends: libgdk-pixbuf-xlib-2.0-0 (>= 2.40.0+dfsg-7)
> Circular dependencies involving shared libraries are known to cause problems
> during upgrade between stable releases, so we should try to avoid them.

Are circular dependencies still problematic when they involve an or-group?

This dependency is not *really* circular, if you see what I mean, because
you can install according to this graph, which is acyclic if you ignore
the presence of the alternative dependency:

                       /------------------------------> libgdk-pixbuf-2.0-0
libgdk-pixbuf2.0-0 -> {                                 (main library)
(transitional)         \--> libgdk-pixbuf-xlib-2.0-0 ->-/
          ^                 (deprecated library)
          \ - - - - - - - - - - - - /
           alternative (ignorable?)

The alternative after the "|" (which, yes, is circular in this case) is
only there to make it possible to upgrade packages that happen to have
been compiled against the new gdk-pixbuf, without *necessarily* also
upgrading gdk-pixbuf itself, avoiding a lockstep transition.

Now that the newly split gdk-pixbuf has migrated to testing, we could
probably drop the alternative without doing any harm.

(See #974870 for details of why this split was necessary.)


More information about the pkg-gnome-maintainers mailing list