In depgraph._load_vdb(), after calling FakeVartree.sync(), update
authorZac Medico <zmedico@gentoo.org>
Mon, 13 Sep 2010 23:43:39 +0000 (16:43 -0700)
committerZac Medico <zmedico@gentoo.org>
Mon, 13 Sep 2010 23:43:39 +0000 (16:43 -0700)
commitef98d53989ed79e668d9ebfd06bd2aca69412c1f
treedc7691049bfa1fa35cdea3487943909aa1608da6
parentee36efb132157192655753c53dbd1c78c74d4a58
In depgraph._load_vdb(), after calling FakeVartree.sync(), update
self._frozen_config.pkgsettings so that it has populated virtuals.

This solves allows us to avoid triggering an AssertionError reported
at http://forums.gentoo.org/viewtopic-t-844519.html with the following
traceback:

Calculating dependencies... done!
Traceback (most recent call last):
  File "/usr/bin/emerge", line 43, in <module>
    retval = emerge_main()
  File "/usr/lib/portage/pym/_emerge/main.py", line 1683, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/lib/portage/pym/_emerge/actions.py", line 204, in action_build
    settings, trees, mtimedb, myopts, myparams, spinner)
  File "/usr/lib/portage/pym/_emerge/depgraph.py", line 6047, in resume_depgraph
    myparams, spinner)
  File "/usr/lib/portage/pym/_emerge/depgraph.py", line 6070, in _resume_depgraph
    skip_masked=skip_masked)
  File "/usr/lib/portage/pym/_emerge/depgraph.py", line 5617, in _loadResumeCommand
    if not self._add_pkg(task, None):
  File "/usr/lib/portage/pym/_emerge/depgraph.py", line 893, in _add_pkg
    pkgsettings.setinst(pkg.cpv, pkg.metadata)
  File "/usr/lib/portage/pym/portage/package/ebuild/config.py", line 1757, in setinst
    self._virtuals_manager.add_depgraph_virtuals(mycpv, virts)
  File "/usr/lib/portage/pym/portage/package/ebuild/_config/VirtualsManager.py", line 199, in add_depgraph_virtuals
    self.getvirtuals()
  File "/usr/lib/portage/pym/portage/package/ebuild/_config/VirtualsManager.py", line 156, in getvirtuals
    self._compile_virtuals()
  File "/usr/lib/portage/pym/portage/package/ebuild/_config/VirtualsManager.py", line 131, in _compile_virtuals
    "any query about virtuals"
AssertionError: _populate_treeVirtuals() must be called before any query about virtuals
pym/_emerge/depgraph.py