When depreorder.py is called with some arguments its supposed to reorder the modules to rebuild according to their dependency order. On some packages it fails with no output. Example working: # python /usr/portage/dev-lang/python/files/depreorder.py dev-python/wxPython-2.4.1.2 dev-python/wxPython-2.4.1.2 Example failure: # python /usr/portage/dev-lang/python/files/depreorder.py dev-python/python-fchksum-1.6.1-r1 # This also happens with dev-python/numeric-22.0 dev-python/m2crypto-0.07_alpha3 dev-python/pygame-1.5.5 dev-python/gnosis-utils-1.0.6 dev-python/gnuplot-py-1.6 app-arch/rpm-4.2_pre069. The problem: These packages have no dependency info, so this bit of code in depreorder.py fails: for dep in realdeps[1]: vardeps = vardeps + varapi.match(dep) dep_cache[pkg] = ( 0, vardeps, slot ) It should be: for dep in realdeps[1]: vardeps = vardeps + varapi.match(dep) dep_cache[pkg] = ( 0, vardeps, slot ) Note different indentation on dep_cache. In the first instance dep_cache[pkg] isn't created unless the package has at least one dependency. In the second its always created. Another option would be to add dependency info to all the ebuilds, but some have notes that this would create circular dependencies with python. I've tested this fix and afterwards python-updater runs correctly.
thanks for the well spotted mistake, actually, a quite serious typo on my part :( the change is now in portage.