diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2013-03-10 23:08:54 +0100 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2013-06-29 16:28:46 +0200 |
commit | 05fd77a8e307dd35aa382fb31e59acdd6cc3be08 (patch) | |
tree | 38d45c196f3ff140e2d08d9471ad93e83bce2705 /src/lib/Bcfg2/Server/Plugins/Packages | |
parent | 842cd1e3c63650f41c08c4a22c6d3bb475299cf8 (diff) | |
download | bcfg2-05fd77a8e307dd35aa382fb31e59acdd6cc3be08.tar.gz bcfg2-05fd77a8e307dd35aa382fb31e59acdd6cc3be08.tar.bz2 bcfg2-05fd77a8e307dd35aa382fb31e59acdd6cc3be08.zip |
Plugins/Packages/Portage: add support for per-package flags
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugins/Packages')
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/Packages/Portage.py | 15 |
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 cbf9aa8f8..934619500 100644 --- a/src/lib/Bcfg2/Server/Plugins/Packages/Portage.py +++ b/src/lib/Bcfg2/Server/Plugins/Packages/Portage.py @@ -67,8 +67,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( |