I first noticed this after adding the multilib overlay. I have upgraded sys-libs/pam-1.0.4 without the lib32 use flag to 1.1.0 with the flag, but no change; the pam ebuild is in URL. Output for pmerging anything: * Resolving... Traceback (most recent call last): File "/usr/bin/pmerge", line 36, in <module> commandline.main(subcommands) File "/usr/lib64/python2.6/site-packages/pkgcore/util/commandline.py", line 442, in main exitstatus = main_func(options, out, err) File "/usr/lib64/python2.6/site-packages/pkgcore/scripts/pmerge.py", line 480, in main ret = resolver_inst.add_atom(restrict) File "/usr/lib64/python2.6/site-packages/pkgcore/resolver/plan.py", line 338, in add_atom ret = self._rec_add_atom(atom, stack, dbs) File "/usr/lib64/python2.6/site-packages/pkgcore/resolver/plan.py", line 376, in _rec_add_atom matches = self._viable(stack, mode, atom, dbs, drop_cycles, limit_to_vdb) File "/usr/lib64/python2.6/site-packages/pkgcore/resolver/plan.py", line 580, in _viable choices.reduce_atoms(self.insoluble) File "/usr/lib64/python2.6/site-packages/pkgcore/resolver/choice_point.py", line 64, in reduce_atoms if not self._internal_force_next(): File "/usr/lib64/python2.6/site-packages/pkgcore/resolver/choice_point.py", line 48, in _internal_force_next self._reset_iters() File "/usr/lib64/python2.6/site-packages/pkgcore/resolver/choice_point.py", line 88, in _reset_iters self._provides = tuple(iter_stable_unique(cur.provides)) File "/usr/lib64/python2.6/site-packages/pkgcore/package/mutated.py", line 26, in __getattr__ return getattr(self._raw_pkg, attr) File "/usr/lib64/python2.6/site-packages/pkgcore/package/base.py", line 26, in __getattr__ val = self._get_attr[attr](self) File "/usr/lib64/python2.6/site-packages/snakeoil/currying.py", line 90, in callit return func(*(moreargs+args), **morekwargs) File "/usr/lib64/python2.6/site-packages/pkgcore/ebuild/ebuild_built.py", line 51, in wrap_inst return wrap(inst(self), self.use) File "/usr/lib64/python2.6/site-packages/pkgcore/ebuild/ebuild_src.py", line 66, in generate_providers raise metadata_errors.MetadataException(self, "provide", str(p)) pkgcore.package.errors.MetadataException: Metadata Exception: pkg built ebuild: sys-libs/pam-1.1.0, attr provide error: virtual/pam[lib32?] is unparseable: virtual/pam[lib32?] flagged token- virtual/pam[lib32?]
Can't comment on this specific blow up since I didn't see the ebuild at the time, but my bet is that it probably didn't have the appopriate eapi set. Either way, pkgcore parses transitive use just fine so kindly close 'er....
Thanks for looking at this, Brian. virtual/pam is in multilib overlay. Fixed by emerging virtual/pam with EAPI="2" line and rebuilding sys-libs/pam