There might a problem with some options to emerge when trying to emerge masked packages. The following is an example which worked fine when without specifying any option: # emerge -a rpm-5.0.3.ebuild *** emerging by path is broken and may not always work!!! These are the packages that would be merged, in order: Calculating dependencies - *** You are emerging a masked package. It is MUCH better to use *** /etc/portage/package.* to accomplish this. See portage(5) man *** page for details. >>> Waiting 10 seconds before starting... >>> (Control-C to abort)... Continuing... in: 10 9 8 7 6 5 4 3 2 1 ... done! Traceback (most recent call last): File "/usr/bin/emerge", line 7852, in <module> retval = emerge_main() File "/usr/bin/emerge", line 7846, in emerge_main myopts, myaction, myfiles, spinner) File "/usr/bin/emerge", line 7121, in action_build favorites=favorites) File "/usr/bin/emerge", line 3833, in display pkg = self._pkg_cache[tuple(x)] KeyError: ('ebuild', '/', 'app-arch/rpm-5.0.3', 'merge')
Jan, you do realize that you are expected to pass an option that specifies a *package* name, not the .ebuild file, right?
I don't see any reason why normal masking rules should not apply simply because a package path is given rather than a normal atom. So, I think the proper solution is to fix the masking behavior so that it's consistent with normal atoms.
Created attachment 149758 [details, diff] fix the KeyError
This is fixed in 2.1.5_rc4.