diff options
-rw-r--r-- | src/lib/Bcfg2/Client/Tools/APT.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/lib/Bcfg2/Client/Tools/APT.py b/src/lib/Bcfg2/Client/Tools/APT.py index b5c4f9c1c..7df41b2d1 100644 --- a/src/lib/Bcfg2/Client/Tools/APT.py +++ b/src/lib/Bcfg2/Client/Tools/APT.py @@ -202,7 +202,7 @@ class APT(Bcfg2.Client.Tools.Tool): else: installed_version = pkg.installedVersion candidate_version = pkg.candidateVersion - if entry.get('version') == 'auto': + if entry.get('version').startswith('auto'): # pylint: disable=W0212 if self._newapi: is_upgradable = self.pkg_cache._depcache.is_upgradable( @@ -215,8 +215,10 @@ class APT(Bcfg2.Client.Tools.Tool): desired_version = candidate_version else: desired_version = installed_version - elif entry.get('version') == 'any': + entry.set('version', "auto: %s" % desired_version) + elif entry.get('version').startswith('any'): desired_version = installed_version + entry.set('version', "any: %s" % desired_version) else: desired_version = entry.get('version') if desired_version != installed_version: @@ -271,7 +273,7 @@ class APT(Bcfg2.Client.Tools.Tool): self.logger.error("APT has no information about package %s" % (pkg.get('name'))) continue - if pkg.get('version') in ['auto', 'any']: + if any([pkg.get('version').startswith(v) for v in ['auto', 'any']]): if self._newapi: try: ipkgs.append("%s=%s" % ( |