summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2013-03-08 03:43:45 +0100
committerAlexander Sulfrian <alexander@sulfrian.net>2015-05-10 16:25:27 +0200
commit2ab4e18d5f2f0caabc60d4aa44e8f9026be79196 (patch)
tree719fea09c47fddfb5a21345d72eb40a847bdbfab
parenta421270df079eebb4365375e3a39693a21b3a221 (diff)
downloadbcfg2-2ab4e18d5f2f0caabc60d4aa44e8f9026be79196.tar.gz
bcfg2-2ab4e18d5f2f0caabc60d4aa44e8f9026be79196.tar.bz2
bcfg2-2ab4e18d5f2f0caabc60d4aa44e8f9026be79196.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 b18fee359..d2fcaa23d 100644
--- a/src/lib/Bcfg2/Client/Tools/APT.py
+++ b/src/lib/Bcfg2/Client/Tools/APT.py
@@ -184,13 +184,15 @@ class APT(Bcfg2.Client.Tools.Tool):
pkg = self.pkg_cache[pkgname]
installed_version = pkg.installed.version
- if entry.get('version') == 'auto':
+ if entry.get('version').startswith('auto'):
if pkg.is_upgradable:
desired_version = pkg.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:
@@ -233,7 +235,7 @@ class APT(Bcfg2.Client.Tools.Tool):
self.logger.error("APT has no information about package %s"
% pkgname)
continue
- if pkg.get('version') in ['auto', 'any']:
+ if any([pkg.get('version').startswith(v) for v in ['auto', 'any']]):
try:
ipkgs.append("%s=%s" % (
pkgname,