summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2013-06-11 10:10:41 +0200
committerAlexander Sulfrian <alexander@sulfrian.net>2013-06-29 16:28:45 +0200
commitc5bcd76878db440ae72bce08edbb5d3715d76883 (patch)
tree81acf0092320dafbcf7d3cb9695f7234d3f6ab5a /src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
parentf3251794f53b3dee1b03d5f4e01a216c9030897b (diff)
downloadbcfg2-c5bcd76878db440ae72bce08edbb5d3715d76883.tar.gz
bcfg2-c5bcd76878db440ae72bce08edbb5d3715d76883.tar.bz2
bcfg2-c5bcd76878db440ae72bce08edbb5d3715d76883.zip
Plugins/PkgVars: new plugin to set various vars per package
This plugins allows the setting of varius flags per package. It should be used f.e. to specify pinnings for debian packages or use flags and keywords for gentoo packages (needs to be implemented by future Portage plugin).
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugins/Packages/__init__.py')
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Packages/__init__.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py b/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
index 5f88b7a16..40afd2690 100644
--- a/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
+++ b/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
@@ -333,6 +333,10 @@ class Packages(Bcfg2.Server.Plugin.Plugin,
groups = []
recommended = dict()
+ pinned_src = dict()
+ if hasattr(metadata, 'PkgVars'):
+ pinned_src = metadata.PkgVars['pin']
+
for struct in structures:
for pkg in struct.xpath('//Package | //BoundPackage'):
if pkg.get("name"):
@@ -367,7 +371,7 @@ class Packages(Bcfg2.Server.Plugin.Plugin,
# essential pkgs are those marked as such by the distribution
base.update(collection.get_essential())
- packages, unknown = collection.complete(base, recommended)
+ packages, unknown = collection.complete(base, recommended, pinned_src)
if unknown:
self.logger.info("Packages: Got %d unknown entries" % len(unknown))
self.logger.info("Packages: %s" % list(unknown))