[game-data-packager] 01/03: Use debian.debian_support.Version to compare version numbers

Simon McVittie smcv at debian.org
Wed Sep 30 23:46:18 UTC 2015


This is an automated email from the git hooks/post-receive script.

smcv pushed a commit to branch master
in repository game-data-packager.

commit a193a3f75b60233b739025a014c457129ca5ce4b
Author: Simon McVittie <smcv at debian.org>
Date:   Thu Oct 1 00:07:02 2015 +0100

    Use debian.debian_support.Version to compare version numbers
---
 debian/changelog                    |  3 +++
 game_data_packager/__init__.py      | 11 +++++------
 game_data_packager/make_template.py |  3 ++-
 3 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 37e696d..ec4485f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -50,6 +50,9 @@ game-data-packager (43) UNRELEASED; urgency=medium
     with the etlegacy engine. (Closes: #780446)
   * Vcs-Browser: Use cgit and https.
 
+  [ Simon McVittie ]
+  * Use debian.debian_support.Version to compare version numbers
+
  -- Simon McVittie <smcv at debian.org>  Thu, 16 Jul 2015 09:59:23 +0200
 
 game-data-packager (42) unstable; urgency=medium
diff --git a/game_data_packager/__init__.py b/game_data_packager/__init__.py
index 833851a..7c3d8b0 100644
--- a/game_data_packager/__init__.py
+++ b/game_data_packager/__init__.py
@@ -40,6 +40,7 @@ import urllib.request
 import zipfile
 
 from debian.deb822 import Deb822
+from debian.debian_support import Version
 import yaml
 
 from .config import read_config
@@ -1223,7 +1224,7 @@ class GameData(object):
             elif basename.startswith('setup_') and extension == '.exe':
                 version = subprocess.check_output(['innoextract', '-v', '-s'],
                                                       universal_newlines=True)
-                args = ['-I', '/app'] if version.split('-')[0] >= '1.5' else []
+                args = ['-I', '/app'] if Version(version.split('-')[0]) >= Version('1.5') else []
                 if not self.verbose:
                     args.append('--silent')
                     logger.info('extracting %s (%d bytes) with InnoExtract...'
@@ -1815,7 +1816,7 @@ class GameData(object):
                             cmdline.append('--silent')
                         version = subprocess.check_output(['innoextract', '-v', '-s'],
                                                           universal_newlines=True)
-                        if version.split('-')[0] >= '1.5':
+                        if Version(version.split('-')[0]) >= Version('1.5'):
                             prefix = provider.unpack.get('prefix', '')
                             suffix = provider.unpack.get('suffix', '')
                             if prefix and not prefix.endswith('/'):
@@ -2520,9 +2521,7 @@ class GameData(object):
             current_ver = current_ver.splitlines()[0]
             current_ver = current_ver.split('|')[1].strip()
 
-        up_to_date = subprocess.call(['dpkg', '--compare-versions',
-                    current_ver, '>=', ver]) == 0
-        if up_to_date:
+        if Version(current_ver) >= Version(ver):
             return FillResult.COMPLETE
         else:
             return FillResult.UPGRADE_NEEDED
@@ -2968,7 +2967,7 @@ class GameData(object):
 
         apt_ver = subprocess.check_output(['dpkg-query', '--show',
                     '--showformat', '${Version}', 'apt'], universal_newlines=True)
-        if apt_ver[0:3] >= '1.1':
+        if Version(apt_ver.strip()) >= Version('1.1'):
             cmd = 'apt-get install --install-recommends'
         else:
             cmd = 'dpkg -i'
diff --git a/game_data_packager/make_template.py b/game_data_packager/make_template.py
index e0daebc..d5c2a44 100644
--- a/game_data_packager/make_template.py
+++ b/game_data_packager/make_template.py
@@ -26,6 +26,7 @@ import tempfile
 import glob
 
 from debian.deb822 import Deb822
+from debian.debian_support import Version
 import yaml
 
 from . import HashedFile
@@ -219,7 +220,7 @@ class GameData(object):
 
         command = ['innoextract', os.path.realpath(exe)]
         version = subprocess.check_output(['innoextract', '-v', '-s'], universal_newlines=True)
-        if version.split('-')[0] >= '1.5':
+        if Version(version.split('-')[0]) >= Version('1.5'):
             command.append('-I')
             command.append('app')
 

-- 
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