summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Plugins/Packages/Collection.py
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2012-08-03 14:04:11 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2012-08-03 14:04:11 -0400
commitb2e860717ed5747b8d66187824a747d4794ed472 (patch)
treecfdf3df4e49a1d7006ee179bf326b25f9ee52a9f /src/lib/Bcfg2/Server/Plugins/Packages/Collection.py
parent217718d07643fcc36c258a99fdd8ea84fc5f3eea (diff)
downloadbcfg2-b2e860717ed5747b8d66187824a747d4794ed472.tar.gz
bcfg2-b2e860717ed5747b8d66187824a747d4794ed472.tar.bz2
bcfg2-b2e860717ed5747b8d66187824a747d4794ed472.zip
made yum Packages backend support resolving by version (#1112)
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugins/Packages/Collection.py')
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Packages/Collection.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Collection.py b/src/lib/Bcfg2/Server/Plugins/Packages/Collection.py
index 1e269167b..d38a6e714 100644
--- a/src/lib/Bcfg2/Server/Plugins/Packages/Collection.py
+++ b/src/lib/Bcfg2/Server/Plugins/Packages/Collection.py
@@ -185,6 +185,21 @@ class Collection(Bcfg2.Server.Plugin.Debuggable):
""" do any collection-level data setup tasks """
pass
+ def packages_from_entry(self, entry):
+ """ given a Package or BoundPackage entry, get a list of the
+ package(s) described by it in a format appropriate for passing
+ to complete(). by default, that's just the name; only the Yum
+ backend supports getting versions"""
+ return [entry.get("name")]
+
+ def packages_to_entry(self, pkglist, entry):
+ for pkg in pkglist:
+ lxml.etree.SubElement(entry, 'BoundPackage', name=pkg,
+ version=self.setup.cfp.get("packages",
+ "version",
+ default="auto"),
+ type=self.ptype, origin='Packages')
+
def complete(self, packagelist):
'''Build the transitive closure of all package dependencies