diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2013-03-08 03:43:45 +0100 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2013-06-29 16:28:46 +0200 |
commit | d2c39934289e0f1a1a18f4658df63068c049e3a9 (patch) | |
tree | be83ccfa6d2235efddbc8f284cc8826bc83645cc /src | |
parent | 2912c3e7508a6e8cc4c4ec98256f8431d5e12cb8 (diff) | |
download | bcfg2-d2c39934289e0f1a1a18f4658df63068c049e3a9.tar.gz bcfg2-d2c39934289e0f1a1a18f4658df63068c049e3a9.tar.bz2 bcfg2-d2c39934289e0f1a1a18f4658df63068c049e3a9.zip |
Client/Tools/APT: save new package version for auto pkgs
For auto/any packages, currently only auto/any is stored in the
statistics as the new installed version. This patch changes this
behavior, so that the exact version string is saved additionaly.
Diffstat (limited to 'src')
-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 825fcf22f..3fc0e310d 100644 --- a/src/lib/Bcfg2/Client/Tools/APT.py +++ b/src/lib/Bcfg2/Client/Tools/APT.py @@ -186,7 +186,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'): if self._newapi: is_upgradable = self.pkg_cache._depcache.is_upgradable(pkg._pkg) else: @@ -195,8 +195,10 @@ class APT(Bcfg2.Client.Tools.Tool): desiredVersion = candidate_version else: desiredVersion = installed_version - elif entry.get('version') == 'any': + entry.set('version', "auto: %s" % desiredVersion) + elif entry.get('version').startswith('any'): desiredVersion = installed_version + entry.set('version', "any: %s" % desiredVersion) else: desiredVersion = entry.get('version') if desiredVersion != installed_version: @@ -249,7 +251,7 @@ class APT(Bcfg2.Client.Tools.Tool): if not self.pkg_cache.has_key(pkg.get('name')): 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" % (pkg.get('name'), |