summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-10-15 11:58:26 -0700
committerZac Medico <zmedico@gentoo.org>2011-10-15 11:58:26 -0700
commit5e0a1972beb98d31772c8eb10ac70df5f608e2a1 (patch)
treefd31de696e30a34fdfb613935b58a8384a5c6e98
parentf4807e05962845c17d689b8bb80a1f55b85834c9 (diff)
downloadportage-5e0a1972beb98d31772c8eb10ac70df5f608e2a1.tar.gz
portage-5e0a1972beb98d31772c8eb10ac70df5f608e2a1.tar.bz2
portage-5e0a1972beb98d31772c8eb10ac70df5f608e2a1.zip
repoman: handle categories for multiple masters
Also, copy repoman_settings.categories to each individual profile's dep_settings.categories attribute, in order to ensure that portdbapi.cp_list() uses the correct category set.
-rwxr-xr-xbin/repoman3
1 files changed, 2 insertions, 1 deletions
diff --git a/bin/repoman b/bin/repoman
index b80b78386..cdf1001bc 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -677,7 +677,7 @@ logging.info('PORTDIR_OVERLAY = "%s"' % env['PORTDIR_OVERLAY'])
env['FEATURES'] = env.get('FEATURES', '') + ' -unknown-features-warn'
categories = []
-for path in set([portdir, repodir]):
+for path in repo_info.eclass_db.porttrees:
categories.extend(portage.util.grabfile(
os.path.join(path, 'profiles', 'categories')))
repoman_settings.categories = frozenset(
@@ -2000,6 +2000,7 @@ for x in effective_scanlist:
local_config=False,
_unmatched_removal=options.unmatched_removal,
env=env, _eprefix=eprefix)
+ dep_settings.categories = repoman_settings.categories
if options.without_mask:
dep_settings._mask_manager = \
copy.deepcopy(dep_settings._mask_manager)