Index: pym/portage/dbapi/porttree.py =================================================================== --- pym/portage/dbapi/porttree.py (revision 13849) +++ pym/portage/dbapi/porttree.py (revision 13850) @@ -124,6 +124,10 @@ "Define self.settings as an alias for self.mysettings, " + \ "for conformity with other dbapi classes.") + @property + def _categories(self): + return self.settings.categories + def __init__(self, porttree_root, mysettings=None): portdbapi.portdbapi_instances.append(self) @@ -133,7 +137,7 @@ else: from portage import settings self.mysettings = config(clone=settings) - self._categories = self.mysettings.categories + # This is strictly for use in aux_get() doebuild calls when metadata # is generated by the depend phase. It's safest to use a clone for # this purpose because doebuild makes many changes to the config Index: bin/repoman =================================================================== --- bin/repoman (revision 13849) +++ bin/repoman (revision 13850) @@ -513,6 +513,14 @@ logging.info('PORTDIR = "' + portdir + '"') logging.info('PORTDIR_OVERLAY = "%s"' % env['PORTDIR_OVERLAY']) +categories = [] +for path in set([portdir, portdir_overlay]): + categories.extend(portage.util.grabfile( + os.path.join(path, 'profiles', 'categories'))) +repoman_settings.categories = tuple(sorted( + portage.util.stack_lists([categories], incremental=1))) +del categories + portdb.mysettings = repoman_settings root_config = RootConfig(repoman_settings, trees[root], None) # We really only need to cache the metadata that's necessary for visibility