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.) smcv