summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2013-03-10 23:08:54 +0100
committerAlexander Sulfrian <alexander@sulfrian.net>2013-05-02 11:02:38 +0200
commit9678af80ce85a1a2bfec26484946634e04820f9d (patch)
treecc1d8f3ffc45c60b4e04eee5a50af83095b64a63
parenta9c1622339e1a2b6911c01705a492e5d4574561e (diff)
downloadbcfg2-9678af80ce85a1a2bfec26484946634e04820f9d.tar.gz
bcfg2-9678af80ce85a1a2bfec26484946634e04820f9d.tar.bz2
bcfg2-9678af80ce85a1a2bfec26484946634e04820f9d.zip
Plugins/Packages/Portage: add support for per-package flags
-rw-r--r--debian/changelog3
-rw-r--r--src/lib/Server/Plugins/Packages/Portage.py15
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(