Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 294945 - portage-2.2_rc51 and portage-2.2_rc52 broken with blockers
Summary: portage-2.2_rc51 and portage-2.2_rc52 broken with blockers
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS, REGRESSION
Depends on:
Blocks: 288499
  Show dependency tree
 
Reported: 2009-11-28 10:06 UTC by José Romildo Malaquias
Modified: 2009-11-29 00:19 UTC (History)
0 users

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


Attachments
fix the KeyError (blocker_keyerror.patch,1.36 KB, patch)
2009-11-28 12:17 UTC, Zac Medico
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description José Romildo Malaquias 2009-11-28 10:06:42 UTC
portage-2.2_rc51 and portage-2.2_rc52 is broken when dealing with blockers.

On my ~amd64 system, with portage-2.2_rc50, when installing deluge, I get the following blockers report:

# emerge -vtp deluge

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild  N    ] net-p2p/deluge-1.2.0_rc3  USE="gtk libnotify -webinterface" 1,242 kB
[ebuild  N    ]  net-libs/rb_libtorrent-0.14.6  USE="python -debug -doc -examples -test" 1,950 kB
[ebuild  N    ]  dev-python/pygame-1.9.1  USE="X -doc -examples" 2,085 kB
[ebuild  N    ]   media-libs/sdl-ttf-2.0.9  USE="X" 3,071 kB
[ebuild  N    ]  dev-python/notify-python-0.1.1-r1  210 kB
[blocks B     ] net-libs/libtorrent ("net-libs/libtorrent" is blocking net-libs/rb_libtorrent-0.14.6)

Total: 5 packages (5 new), Size of downloads: 8,555 kB
Conflict: 1 block (1 unsatisfied)

 * Error: The above package list contains packages which cannot be
 * installed at the same time on the same system.

  ('installed', '/', 'net-libs/libtorrent-0.12.5', 'nomerge') pulled in by
    >=net-libs/libtorrent-0.12.5 required by ('installed', '/', 'net-p2p/rtorrent-0.8.5', 'nomerge')

  ('ebuild', '/', 'net-libs/rb_libtorrent-0.14.6', 'merge') pulled in by
    >=net-libs/rb_libtorrent-0.14.5[python] required by ('ebuild', '/', 'net-p2p/deluge-1.2.0_rc3', 'merge')


For more information about Blocked Packages, please refer to the following
section of the Gentoo Linux x86 Handbook (architecture is irrelevant):

http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?full=1#blocked




But with portage-2.2_rc51 and portage-2.2_rc52 I get the follwing:
# emerge -vtp deluge

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
Traceback (most recent call last):
  File "/usr/bin/emerge", line 42, in <module>
    retval = emerge_main()
  File "/usr/lib64/portage/pym/_emerge/main.py", line 1523, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/lib64/portage/pym/_emerge/actions.py", line 283, in action_build
    mydepgraph.display_problems()
  File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 4769, in display_problems
    self._display_problems()
  File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 4788, in _display_problems
    self._dynamic_config._unsatisfied_blockers_for_display)
  File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 3860, in _show_unsatisfied_blockers
    self._show_merge_list()
  File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 3857, in _show_merge_list
    self.display(display_list)
  File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 4061, in display
    display_list = self._tree_display(ordered_nodes)
  File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 4631, in _tree_display
    display_list = self._ordered_tree_display(mygraph, mylist)
  File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 4720, in _ordered_tree_display
    add_parents(x, True)
  File "/usr/lib64/portage/pym/_emerge/depgraph.py", line 4686, in add_parents
    parent_nodes = mygraph.parent_nodes(current_node)
  File "/usr/lib64/portage/pym/portage/__init__.py", line 802, in parent_nodes
    return list(self.nodes[node][1])
KeyError: <_emerge.Blocker.Blocker object at 0x3e08980>



Reproducible: Always

Steps to Reproduce:
Comment 1 Zac Medico gentoo-dev 2009-11-28 10:10:46 UTC
The KeyError is handled in 2.2_rc53, but I'm still not sure why it happened.
Comment 2 Zac Medico gentoo-dev 2009-11-28 12:17:54 UTC
Created attachment 211408 [details, diff]
fix the KeyError

Save this patch as /tmp/blocker_keyerror.patch and apply as follows:

  patch /usr/lib/portage/pym/_emerge/depgraph.py /tmp/blocker_keyerror.patch
Comment 3 Zac Medico gentoo-dev 2009-11-29 00:19:47 UTC
This is fixed in 2.1.7.9 and 2.2_rc54.