[game-data-packager] 01/01: move current_version() to PACKAGE_CACHE
Alexandre Detiste
detiste-guest at moszumanska.debian.org
Sat Oct 10 08:52:09 UTC 2015
This is an automated email from the git hooks/post-receive script.
detiste-guest pushed a commit to branch master
in repository game-data-packager.
commit d82420cf9a9e0c9fc515bba22f345e025d6cc38f
Author: Alexandre Detiste <alexandre.detiste at gmail.com>
Date: Sat Oct 10 10:51:39 2015 +0200
move current_version() to PACKAGE_CACHE
---
game_data_packager/build.py | 6 ++----
game_data_packager/util.py | 13 +++++++++++--
2 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/game_data_packager/build.py b/game_data_packager/build.py
index 2e71c1b..2fe4512 100644
--- a/game_data_packager/build.py
+++ b/game_data_packager/build.py
@@ -1780,9 +1780,7 @@ class PackagingTask(object):
# check version
if is_installed:
- current_ver = subprocess.check_output(['dpkg-query',
- '--show', '--showformat', '${Version}', engine],
- universal_newlines=True)
+ current_ver = PACKAGE_CACHE.current_version(engine)
else:
current_ver = subprocess.check_output(['apt-cache',
'madison', engine],
@@ -1790,7 +1788,7 @@ class PackagingTask(object):
current_ver = current_ver.splitlines()[0]
current_ver = current_ver.split('|')[1].strip()
- if Version(current_ver) >= Version(ver):
+ if current_ver and Version(current_ver) >= Version(ver):
return FillResult.COMPLETE
else:
return FillResult.UPGRADE_NEEDED
diff --git a/game_data_packager/util.py b/game_data_packager/util.py
index ff0e1be..8fe08a8 100644
--- a/game_data_packager/util.py
+++ b/game_data_packager/util.py
@@ -138,6 +138,16 @@ class PackageCache:
return package in self.available
+ def current_version(self, package):
+ # 'dpkg-query: no packages found matching $package'
+ # will leak on stderr if called with an unknown package,
+ # but that should never happen
+ try:
+ return subprocess.check_output(['dpkg-query', '--show',
+ '--showformat', '${Version}', package], universal_newlines=True)
+ except subprocess.CalledProcessError:
+ return
+
PACKAGE_CACHE = PackageCache()
def prefered_lang():
@@ -202,8 +212,7 @@ def install_packages(debs, method, gain_root='su'):
method = None
if not method:
- apt_ver = subprocess.check_output(['dpkg-query', '--show',
- '--showformat', '${Version}', 'apt'], universal_newlines=True)
+ apt_ver = PACKAGE_CACHE.current_version('apt')
if Version(apt_ver.strip()) >= Version('1.1~0'):
method = 'apt'
else:
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/game-data-packager.git
More information about the Pkg-games-commits
mailing list