summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--debian/changelog3
-rw-r--r--src/lib/Client/Tools/APT.py8
2 files changed, 7 insertions, 4 deletions
diff --git a/debian/changelog b/debian/changelog
index 9a48e79d4..ca0215858 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,11 @@
bcfg2 (1.2.3-11) UNRELEASED; urgency=low
+ * Client/Tools/APT: save new package version for auto pkgs
* Plugins/Packages: backported get_new_packages
* Plugins/Packages: backported packages_form_entry/_to_entry
* Plugins/PkgVars: new plugin to set various vars per package
- -- Alexander Sulfrian <alex@spline.inf.fu-berlin.de> Fri, 22 Feb 2013 04:16:25 +0100
+ -- Alexander Sulfrian <alex@spline.inf.fu-berlin.de> Fri, 08 Mar 2013 03:43:45 +0100
bcfg2 (1.2.3-9) unstable; urgency=low
diff --git a/src/lib/Client/Tools/APT.py b/src/lib/Client/Tools/APT.py
index 156c86a2b..8f90d862e 100644
--- a/src/lib/Client/Tools/APT.py
+++ b/src/lib/Client/Tools/APT.py
@@ -190,7 +190,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:
@@ -199,8 +199,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:
@@ -253,7 +255,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:
ipkgs.append("%s=%s" % (pkg.get('name'),
self.pkg_cache[pkg.get('name')].candidate.version))