summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2012-09-17 15:43:38 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2012-09-17 17:07:47 -0400
commiteb17debb9c8f27b781209fa53f075295d883b79c (patch)
tree28c2a89385dfe56793284e653d780a4a0f339f01
parent42f21239db798ddef7cb7b95334679b116926618 (diff)
downloadbcfg2-eb17debb9c8f27b781209fa53f075295d883b79c.tar.gz
bcfg2-eb17debb9c8f27b781209fa53f075295d883b79c.tar.bz2
bcfg2-eb17debb9c8f27b781209fa53f075295d883b79c.zip
Packages: fixed handling of poorly-specified BoundPackage entries
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Packages/Yum.py10
-rwxr-xr-xsrc/sbin/bcfg2-yum-helper3
2 files changed, 9 insertions, 4 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py b/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py
index b5fbfd8fe..8d398e038 100644
--- a/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py
+++ b/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py
@@ -363,11 +363,11 @@ class YumCollection(Collection):
def get_provides(self, required, all=False, silent=False):
if not self.use_yum:
- return Collection.get_provides(self, package)
+ return Collection.get_provides(self, required)
else:
# this should really never get called; it's just provided
# for API completeness
- return self.call_helper("get_provides", package)
+ return self.call_helper("get_provides", required)
def get_groups(self, grouplist):
if not self.use_yum:
@@ -404,8 +404,10 @@ class YumCollection(Collection):
name = entry.get("name")
def _tag_to_pkg(tag):
- rv = (name, tag.get("arch"), tag.get("epoch"),
- tag.get("version"), tag.get("release"))
+ rv = [name, tag.get("arch"), tag.get("epoch"),
+ tag.get("version"), tag.get("release")]
+ if rv[3] in ['any', 'auto']:
+ rv = (rv[0], rv[1], rv[2], None, None)
# if a package requires no specific version, we just use
# the name, not the tuple. this limits the amount of JSON
# encoding/decoding that has to be done to pass the
diff --git a/src/sbin/bcfg2-yum-helper b/src/sbin/bcfg2-yum-helper
index a0698cc90..3649b9794 100755
--- a/src/sbin/bcfg2-yum-helper
+++ b/src/sbin/bcfg2-yum-helper
@@ -46,6 +46,9 @@ def pkg_to_tuple(package):
return package
def pkgtup_to_string(package):
+ if package[3] in ['auto', 'any']:
+ return package[0]
+
rv = [package[0], "-"]
if package[2]:
rv.extend([package[2], ':'])