diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2013-06-11 10:10:41 +0200 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2013-06-29 16:28:45 +0200 |
commit | c5bcd76878db440ae72bce08edbb5d3715d76883 (patch) | |
tree | 81acf0092320dafbcf7d3cb9695f7234d3f6ab5a /src/lib/Bcfg2/Server/Plugins/Packages/__init__.py | |
parent | f3251794f53b3dee1b03d5f4e01a216c9030897b (diff) | |
download | bcfg2-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__.py | 6 |
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)) |