summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2013-03-08 03:43:45 +0100
committerAlexander Sulfrian <alexander@sulfrian.net>2013-06-29 16:28:46 +0200
commitd2c39934289e0f1a1a18f4658df63068c049e3a9 (patch)
treebe83ccfa6d2235efddbc8f284cc8826bc83645cc
parent2912c3e7508a6e8cc4c4ec98256f8431d5e12cb8 (diff)
downloadbcfg2-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.
-rw-r--r--src/lib/Bcfg2/Client/Tools/APT.py8
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'),