Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 260860 - gnome-base/libgnomecanvas: unfulfillable dependencies with gtk+-2.14.4 or higher
Summary: gnome-base/libgnomecanvas: unfulfillable dependencies with gtk+-2.14.4 or higher
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
: 262626 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-03-02 13:24 UTC by Malte Skoruppa
Modified: 2009-03-16 06:35 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Malte Skoruppa 2009-03-02 13:24:49 UTC
Hi,

as you may be aware, gail (ebuild gnome-base/gail) has been moved into gtk+ some time ago:
http://blogs.sun.com/wwalker/entry/gail_migrated_into_gtk

In the Gentoo portage tree, starting with gtk+-2.14.4, the gtk+ package provides the same files and libraries that gnome-base/gail used to provide. Hence, when using gtk+2.14.4 and higher, one cannot install gnome-base/gail in parallel, as they conflict.

Consistently, the corresponding ebuilds forbid installation of gail.

(excerpt from /usr/portage/x11-libs/gtk+/gtk+-2.14.4.ebuild)
RDEPEND="x11-libs/libXrender
         ...
         !<gnome-base/gail-1000"

However, the package gnome-base/libgnomecanvas does not reflect this change:

(excerpt from /usr/portage/gnome-base/libgnomecanvas/libgnomecanvas-2.20.1.1.ebuild)
RDEPEND=">=x11-libs/gtk+-2.0.3
        >=gnome-base/gail-1.19.6
        >=media-libs/libart_lgpl-2.3.8
        >=x11-libs/pango-1.0.1
        >=gnome-base/libglade-2"

As one cas easily see, the latest version of libgnomecanvas requires both gtk+ and gail to be installed. But if one is using gtk+-2.14.4 or higher, the dependency on gail is unnecessary, as the files provided by gail are already provided by gtk+.

Even more so, the dependency is not only unnecessary, but could actually result in a blocker in a scenario where someone has marked x11-libs/gtk+ with an unstable keyword (e.g. ~amd64), and tries to update world. Then, portage will try to upgrade gtk+ to a version higher or equal to 2.14.4, but to do that it has to uninstall gnome-base/gail. If some package (like libgnomecanvas) still depends on gail, this will not be possible and the update will abort. This might cause problems for a lot of people as soon as gtk+-2.14.4 is marked stable.

So, the correct dependency specification for libgnomecanvas is not ">=x11-libs/gtk+-2.0.3 and >=gnome-base/gail-1.19.6", but "either (>=x11-libs/gtk+-2.0.3 and <x11-libs/gtk+-2.14.4 and >=gnome-base/gail-1.19.6) or (>=x11-libs/gtk+-2.14.4)".

Other packages than libgnomecanvas might be affected by the same problem, i.e. they may depend on some versions of gtk+ and gail, without taking into account that starting with a version of gtk+-2.14.4, they should not depend on gail anymore.

Also see this forum thread:
http://forums.gentoo.org/viewtopic-p-5413478.html#5413478

Cheers,

Malte
Comment 1 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-03-02 14:24:08 UTC
Well the devs added a dummy version of gail as being shown in gail's ChangeLog:

*gail-1000 (25 Sep 2008)

  25 Sep 2008; Mart Raudsepp <leio@gentoo.org> +gail-1000.ebuild:
  New dummy version that is a migration helper, as gail is now part of gtk+
  since gtk+-2.14


Mixing stable and unstable branches can lead to this kind of problems. I'm not sure if this bug is valid at all, but by looking at https://bugs.gentoo.org/192727#c6 I'd say this is a dupe.

*** This bug has been marked as a duplicate of bug 192727 ***
Comment 2 Malte Skoruppa 2009-03-02 15:19:48 UTC
Hi,

well, I didn't see that package - so if x11-libs/gtk+ is used in an unstable version on a system, one should make sure that gnome-base/gail is also used in the unstable version. I didn't have that, nor did I notice there was this dummy package, this is why I ran into that error.

Using a dummy package named gail-1000 is of course a much cleaner and more elegant way to get rid of the problem, instead of updating all packages depending on gail thoughout the portage tree with a much more complex dependency specification. Not bad at all ;-)

But no, this is a different problem than the bug you marked this one as a duplicate of. That other bug concerns a circular dependency between libgnomecanvas and gail, as I see it, which has nothing to do with this bug here, although admittedly the same packages are concerned. However you may well argue this bug is not valid, as it is solved by that dummy gail package...

Cheers,

Malte
Comment 3 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-03-16 06:34:35 UTC
Reopening for marking as INVALID
Comment 4 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2009-03-16 06:35:25 UTC
*** Bug 262626 has been marked as a duplicate of this bug. ***