diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-09-17 15:43:38 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-09-17 17:07:47 -0400 |
commit | eb17debb9c8f27b781209fa53f075295d883b79c (patch) | |
tree | 28c2a89385dfe56793284e653d780a4a0f339f01 /src | |
parent | 42f21239db798ddef7cb7b95334679b116926618 (diff) | |
download | bcfg2-eb17debb9c8f27b781209fa53f075295d883b79c.tar.gz bcfg2-eb17debb9c8f27b781209fa53f075295d883b79c.tar.bz2 bcfg2-eb17debb9c8f27b781209fa53f075295d883b79c.zip |
Packages: fixed handling of poorly-specified BoundPackage entries
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/Packages/Yum.py | 10 | ||||
-rwxr-xr-x | src/sbin/bcfg2-yum-helper | 3 |
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], ':']) |