diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2013-03-10 23:08:54 +0100 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2013-05-02 11:02:38 +0200 |
commit | 9678af80ce85a1a2bfec26484946634e04820f9d (patch) | |
tree | cc1d8f3ffc45c60b4e04eee5a50af83095b64a63 | |
parent | a9c1622339e1a2b6911c01705a492e5d4574561e (diff) | |
download | bcfg2-9678af80ce85a1a2bfec26484946634e04820f9d.tar.gz bcfg2-9678af80ce85a1a2bfec26484946634e04820f9d.tar.bz2 bcfg2-9678af80ce85a1a2bfec26484946634e04820f9d.zip |
Plugins/Packages/Portage: add support for per-package flags
-rw-r--r-- | debian/changelog | 3 | ||||
-rw-r--r-- | src/lib/Server/Plugins/Packages/Portage.py | 15 |
2 files changed, 16 insertions, 2 deletions
diff --git a/debian/changelog b/debian/changelog index fff49f123..74ba03aa6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,6 @@ bcfg2 (1.2.3-11) UNRELEASED; urgency=low + * Plugins/Packages/Portage: add support for per-package flags * Plugins/PkgVars: support multiple values per package * Plugins/Packages/Portage: add Packages Plugin for Portage * Plugins/Packages/Collection: add cclass marker for Sources @@ -9,7 +10,7 @@ bcfg2 (1.2.3-11) UNRELEASED; urgency=low * Plugins/Packages: backported packages_form_entry/_to_entry * Plugins/PkgVars: new plugin to set various vars per package - -- Alexander Sulfrian <alex@spline.inf.fu-berlin.de> Sun, 10 Mar 2013 23:07:22 +0100 + -- Alexander Sulfrian <alex@spline.inf.fu-berlin.de> Sun, 10 Mar 2013 23:08:54 +0100 bcfg2 (1.2.3-9) unstable; urgency=low diff --git a/src/lib/Server/Plugins/Packages/Portage.py b/src/lib/Server/Plugins/Packages/Portage.py index cbf9aa8f8..934619500 100644 --- a/src/lib/Server/Plugins/Packages/Portage.py +++ b/src/lib/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( |