Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 158270

Summary: New package blocks update (new pygobject blocks update of pygtk)
Product: Gentoo Linux Reporter: Oldrich Jedlicka <oldium.pro>
Component: New packagesAssignee: Gentoo Linux bug wranglers <bug-wranglers>
Status: VERIFIED INVALID    
Severity: normal CC: zlin
Priority: High    
Version: 1.0   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Output of `emerge -uvpt --oneshot --debug pygtk`

Description Oldrich Jedlicka 2006-12-16 03:07:53 UTC
I tried to update pygtk with `emerge -uvp --oneshot pygtk` with portage-2.1.2_rc3-r5, but here is the result:

Calculating dependencies... done!
[blocks B     ] <dev-python/pygtk-2.9 (is blocking dev-python/pygobject-2.12.3)
[ebuild     U ] x11-libs/pango-1.14.9 [1.14.7] USE="-debug -doc" 1,263 kB
[ebuild     U ] media-libs/mesa-6.5.1-r4 [6.5.1-r2] USE="motif nptl -debug -doc -hardened -xcb" VIDEO_CARDS="radeon -i810 -mach64 -mga -none -r128 -s3virge -savage -sis (-sunffb) -tdfx -trident -via" 0 kB
[ebuild     U ] dev-libs/atk-1.12.3 [1.12.1] USE="-debug -doc" 646 kB
[ebuild     U ] gnome-base/libglade-2.6.0 [2.5.1] USE="-debug -doc" 312 kB
[ebuild     U ] dev-python/pygtk-2.10.3 [2.8.6] USE="opengl -doc" 1,932 kB
[ebuild  N    ] dev-python/pygobject-2.12.3  USE="-debug -doc" 332 kB

So it seems that newly installed pygobject (dependency of pygtk-2.10.3) blocks update of pygtk-2.8.6 (that has no dependency on pygobject).

Output `emerge -uvp --oneshot --debug pygtk` attached.
Comment 1 Oldrich Jedlicka 2006-12-16 03:12:32 UTC
Created attachment 104120 [details]
Output of `emerge -uvpt --oneshot --debug pygtk`
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2006-12-16 03:16:28 UTC
Not a portage bug...
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2006-12-16 03:17:47 UTC
And not a bug at all, the blocker is needed.

*** This bug has been marked as a duplicate of 157394 ***
Comment 4 Oldrich Jedlicka 2006-12-16 03:47:33 UTC
(In reply to comment #2)
> Not a portage bug...

Sorry, but I think that this is a problem of portage. The pygobject dependency should start blocking as soon as pygtk-2.10.3 is updated (so it should not block). Now it starts blocking before the update is actually done.

Portage should take into account the actual order of installing packages for calculating dependencies. So this is a bug, or at least a feature request (please decide).

Blockers can be removed after the installation order of packages is known, or the sequence could be tuned up to fulfil all dependencies.

Whenever you say that `emerge -C package && emerge package` fixes the problem, then there is some real problem of emerge. That is something like: switching the computer off and on will fix software freezes of your Windows machine :-)
Comment 5 Jakub Moc (RETIRED) gentoo-dev 2006-12-16 03:50:44 UTC
No, the blocker is intended and work as needed to prevent collisions.
Comment 6 Oldrich Jedlicka 2006-12-16 04:11:51 UTC
(In reply to comment #5)
> No, the blocker is intended and work as needed to prevent collisions.

This is the way how it works now, but I think this is not the correct way how it should work.

I really do not want to argue and reopen bug again and again, so please explain me the _real_ reasons of the collision here (in this particular case).

There is an update of pygtk that installs new pygobject. The sequence of operations should be (the same is shown in the output of emerge):

1. pygtk update
2. installation of pygobject (dependency of NEW pygtk)

I do not see conflict with any other package in the system. I really think that this is the way, how it should work. Pygobject cannot live without >=pygtk-2.10, but it will have it!

This is the last time I reopened the bug. If you still think that this is not the right think the portage should do, you can close it and I will stop screaming.
Comment 7 Jakub Moc (RETIRED) gentoo-dev 2006-12-16 04:21:46 UTC
Fixing this "bug" would cause collisions between those packages on upgrade. Please, stop reopening this bug without doing any research whatsoever on why the blocker is in place.
Comment 8 Jakub Moc (RETIRED) gentoo-dev 2006-12-16 04:22:32 UTC
Closed, nothing to fix here.
Comment 9 Bo ├śrsted Andresen (RETIRED) gentoo-dev 2006-12-16 10:09:16 UTC
(In reply to comment #6)
> I really do not want to argue and reopen bug again and again, so please
> explain me the _real_ reasons of the collision here (in this particular
> case).
> 
> There is an update of pygtk that installs new pygobject. The sequence of
> operations should be (the same is shown in the output of emerge):
> 
> 1. pygtk update
> 2. installation of pygobject (dependency of NEW pygtk)

The problem is that the new version of pygtk depend on pygobject. That means it cannot be upgraded before pygobject has been installed. But installing pygobject before the old version of pygtk has been removed results in collisions. Policy dictates that portage cannot just remove packages without the user knowing it. Hence a blocker is the only option that is left..