Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bugzilla DB migration completed. Please report issues to Infra team via email via or IRC
Bug 371767 - portage-2.2.0_alpha41 throws exception with exclude
Summary: portage-2.2.0_alpha41 throws exception with exclude
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Dependencies (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
Keywords: InVCS
Depends on:
Blocks: 373933
  Show dependency tree
Reported: 2011-06-15 13:38 UTC by Kevin Bryan
Modified: 2011-07-03 17:32 UTC (History)
0 users

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

fix the KeyError (keyerror.patch,888 bytes, patch)
2011-06-16 15:42 UTC, Zac Medico
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Kevin Bryan 2011-06-15 13:38:57 UTC
I was trying to do "emerge @preserved-rebuild --exclude=googleearth" (since it keep re-emerging it despite that it won't help), and it throws a KeyError exception:

# emerge -pv @preserved-rebuild --exclude=googleearth

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

Calculating dependencies... done!

!!! All ebuilds that could satisfy "sci-geosciences/googleearth:0" have been masked.
!!! One of the following masked packages is required to complete your request:
- sci-geosciences/googleearth- (masked by: exclude option)
- sci-geosciences/googleearth- (masked by: exclude option)
- sci-geosciences/googleearth- (masked by: exclude option)
- sci-geosciences/googleearth-5.1.3535.3218-r1::gentoo (masked by: exclude option)

Traceback (most recent call last):
  File "/usr/bin/emerge", line 43, in <module>
    retval = emerge_main()
  File "/usr/lib64/portage/pym/_emerge/", line 1907, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/lib64/portage/pym/_emerge/", line 302, in action_build
  File "/usr/lib64/portage/pym/_emerge/", line 6006, in display_problems
    self._show_unsatisfied_dep(*pargs, **kwargs)
  File "/usr/lib64/portage/pym/_emerge/", line 3147, in _show_unsatisfied_dep
    dep_chain = self._get_dep_chain(myparent, atom)
  File "/usr/lib64/portage/pym/_emerge/", line 2643, in _get_dep_chain
    if self._dynamic_config.digraph.parent_nodes(node):
  File "/usr/lib64/portage/pym/portage/util/", line 144, in parent_nodes
    return list(self.nodes[node][1])
KeyError: <_emerge.SetArg.SetArg object at 0xfc13110>

I tested this with another set with a single package, then tried emerging that set, excluding that package, and got the same result.  The expected behavior would be to just say there are no packages to install.

Although I put a specific version in the summary line, I did not test this with previous versions, so I don't know when this bug was introduced.
Comment 1 Zac Medico gentoo-dev 2011-06-16 15:42:05 UTC
Created attachment 277255 [details, diff]
fix the KeyError

Save as /tmp/keyerror.patch and apply as follows:

  patch /usr/lib/portage/pym/_emerge/ /tmp/keyerror.patch
Comment 2 Kevin Bryan 2011-06-16 21:19:44 UTC
Yes, that patch seems to fix it for me.  Thanks.
Comment 3 Zac Medico gentoo-dev 2011-07-01 05:07:22 UTC
Thanks for testing. This is in 2.2.0_alpha42, but I'll leave this bug open until it's in an unmasked release.
Comment 4 Zac Medico gentoo-dev 2011-07-03 17:32:47 UTC
This is fixed in