From 9678af80ce85a1a2bfec26484946634e04820f9d Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Sun, 10 Mar 2013 23:08:54 +0100 Subject: Plugins/Packages/Portage: add support for per-package flags --- debian/changelog | 3 ++- 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 Sun, 10 Mar 2013 23:07:22 +0100 + -- Alexander Sulfrian 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( -- cgit v1.2.3-1-g7c22