summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2013-03-10 23:08:54 +0100
committerAlexander Sulfrian <alexander@sulfrian.net>2013-11-22 11:49:35 +0100
commit0ddb67b531bfcff9c130017cb2a18de2cc697774 (patch)
treec7422fe4bf08aab5c9ca9a1f8a951edf8bcefd75
parentf280f6f46d0521d0453db246acbc8424bacbb156 (diff)
downloadbcfg2-0ddb67b531bfcff9c130017cb2a18de2cc697774.tar.gz
bcfg2-0ddb67b531bfcff9c130017cb2a18de2cc697774.tar.bz2
bcfg2-0ddb67b531bfcff9c130017cb2a18de2cc697774.zip
Plugins/Packages/Portage: add support for per-package flags
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Packages/Portage.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Portage.py b/src/lib/Bcfg2/Server/Plugins/Packages/Portage.py
index efa76031e..5d96c8ad8 100644
--- a/src/lib/Bcfg2/Server/Plugins/Packages/Portage.py
+++ b/src/lib/Bcfg2/Server/Plugins/Packages/Portage.py
@@ -69,8 +69,21 @@ class PortageCollection(Collection):
if 'gentoo-use-flags' in self.metadata.Probes:
self.portage.settings['USE'] = \
self.metadata.Probes['gentoo-use-flags']
- self.portage.settings.lock()
+ # add package flags (accept_keywords, use)
+ if hasattr(self.metadata, 'PkgVars'):
+ for k in self.metadata.PkgVars['keywords']:
+ keyword = metadata.PkgVars['keywords'][k]
+ self.portage.settings._keywords_manager.pkeywordsdict[k] = \
+ {k: tuple(keyword)}
+
+
+ for u in self.metadata.PkgVars['use']:
+ use = metadata.PkgVars['use'][u]
+ self.portage.settings._use_manager._pusedict[u] = \
+ {u: tuple(use)}
+
+ self.portage.settings.lock()
# calculate deps
setconfig = self.portage._sets.load_default_config(